python-mnemosyne-memory

LOW
maintainer gee 0 votes scanned 2026-10-27 07:47:02.942332
View on AUR
Why flagged

Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.

Triggered rules

Low Few votes, recently uploaded zero_votes_recent

Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.

PKGBUILD

1# Maintainer: John Ettedgui <git@johne.rojalabs.com>
2# Upstream: https://github.com/mnemosyne-oss/mnemosyne
3
4pkgname=python-mnemosyne-memory
5_pkgname=mnemosyne
6pkgver=3.15.1
7pkgrel=1
8pkgdesc='Zero-cloud AI memory layer, SQLite-backed, single dependency'
9arch=('any')
10url='https://github.com/mnemosyne-oss/mnemosyne'
11license=('MIT')
12depends=(
13 'python'
14 'python-yaml'
15)
16# The AUR mnemosyne flashcard application ships the same /usr/bin/mnemosyne
17# console script and the same top-level site-packages/mnemosyne/ directory.
18conflicts=('mnemosyne')
19makedepends=(
20 'python-build'
21 'python-installer'
22 'python-setuptools'
23 'python-wheel'
24)
25checkdepends=(
26 'python-pytest'
27 'python-numpy'
28 'python-cryptography'
29)
30optdepends=(
31 'python-mcp: MCP server support (mnemosyne mcp)'
32 'python-cryptography: encrypted sync payloads (mnemosyne sync --encrypt)'
33 'python-huggingface-hub: model downloads for local LLM consolidation (llm extra; runtimes ctransformers/llama-cpp-python are unpackaged)'
34 'python-fastembed: local embedding models (embeddings extra, AUR)'
35 'python-sqlite-vec: vector search acceleration (embeddings extra, AUR)'
36 'python-numpy: binary vector search and SHMR reasoning (optional at runtime)'
37 'uvicorn: web server for mnemosyne-browser'
38 'python-fastapi: web framework for mnemosyne-browser'
39)
40source=("$pkgname-$pkgver.tar.gz::https://github.com/mnemosyne-oss/mnemosyne/archive/refs/tags/v$pkgver.tar.gz")
41sha256sums=('87b837ac254a5bae40aba7039f4acbfd54d0dd38d9d3bf0714836fab667f787d')
42
43build() {
44 cd "$srcdir/$_pkgname-$pkgver"
45 rm -rf build dist *.egg-info
46 python -m build --wheel --no-isolation
47}
48
49check() {
50 cd "$srcdir/$_pkgname-$pkgver"
51 # The suite honors these locations; unset them so a builder's environment
52 # cannot redirect test writes into a shared directory.
53 unset HERMES_HOME MNEMOSYNE_DATA_DIR
54 # Keep HOME inside the build tree: the suite writes under ~/.hermes and
55 # the builder's real home may not be writable.
56 mkdir -p "$srcdir/.test-home"
57 # The in-tree Hermes integration is exercised by part of the suite.
58 export PYTHONPATH="$srcdir/$_pkgname-$pkgver/integrations/hermes/src${PYTHONPATH:+:$PYTHONPATH}"
59 # Run the MCP tests only when python-mcp is available; otherwise skip
60 # the file that hard-requires it.
61 if python -c 'import mcp' >/dev/null 2>&1; then
62 _mcp_ignore=()
63 else
64 _mcp_ignore=(--ignore=tests/test_mcp_server.py)
65 fi
66 # Mirrors the upstream CI lexical-only job, so the suite does not
67 # download embedding models from the network.
68 HOME="$srcdir/.test-home" MNEMOSYNE_NO_EMBEDDINGS=1 \
69 python -m pytest tests/ --tb=short -q "${_mcp_ignore[@]}"
70}
71
72package() {
73 cd "$srcdir/$_pkgname-$pkgver"
74 python -m installer --destdir="$pkgdir" dist/*.whl
75 local purelib
76 purelib="$(python -c 'import sysconfig; print(sysconfig.get_path("purelib"))')"
77 # Upstream setuptools config ships examples/ and integrations/ (including
78 # Hermes tests and a nested, non-importable copy) into site-packages;
79 # neither is needed by the installed CLI.
80 rm -rf "$pkgdir$purelib/examples" "$pkgdir$purelib/integrations"
81 # The wheel omits the Hermes provider manifest that mnemosyne-install
82 # symlinks into ~/.hermes/plugins/mnemosyne.
83 install -Dm644 hermes_memory_provider/plugin.yaml \
84 "$pkgdir$purelib/hermes_memory_provider/plugin.yaml"
85 install -Dm644 LICENSE -t "$pkgdir/usr/share/licenses/$pkgname/"
86 # RELEASING.md intentionally omitted (maintainer doc).
87 install -Dm644 README.md CHANGELOG.md -t "$pkgdir/usr/share/doc/$pkgname/"
88}
89

Scan history

Scanned at (UTC)SeverityRules
2026-10-27 07:47:02 Low 1

Report a package

Reports go to the AURWatch maintainer (one person) and are read by hand. No login required.

0 / 4000
Your suggestion