Files

74 lines
1.8 KiB
Nix

# mnemosyne.nix — Mnemosyne memory packages for Hermes Agent
# Provides: mnemosyne-memory (core) + mnemosyne-hermes (Hermes plugin)
#
# Called via python312Packages.callPackage — each dependency is auto-injected
# as an individual python package. Do not add python312Packages as a param.
{
lib,
buildPythonPackage,
fetchPypi,
setuptools,
wheel,
# mnemosyne-memory dependencies
pyyaml,
fastembed,
sqlite-vec,
}:
let
mnemosyne-memory = buildPythonPackage rec {
pname = "mnemosyne-memory";
version = "3.14.0";
format = "pyproject";
src = fetchPypi {
inherit pname version;
hash = "sha256-1106e5ec69ac2249dcaded1b7a948d8f5ceec7959a3176cc6efbdd0fa41276eb";
};
propagatedBuildInputs = [
pyyaml
fastembed
sqlite-vec
];
nativeBuildInputs = [ setuptools wheel ];
doCheck = false;
pythonImportsCheck = [ "mnemosyne" ];
meta = {
description = "Zero-dependency AI memory. SQLite-backed. Sub-millisecond.";
homepage = "https://github.com/mnemosyne-oss/mnemosyne";
license = lib.licenses.mit;
};
};
mnemosyne-hermes = buildPythonPackage rec {
pname = "mnemosyne-hermes";
version = "0.4.0";
format = "pyproject";
src = fetchPypi {
inherit pname version;
hash = "sha256-7e487e70d5572095ce403c5ff19431412060a7ef56c87fc4456da499b0474eb8";
};
propagatedBuildInputs = [
mnemosyne-memory
pyyaml
];
nativeBuildInputs = [ setuptools wheel ];
doCheck = false;
meta = {
description = "Mnemosyne memory provider for Hermes Agent — local-first, zero-cloud memory";
homepage = "https://github.com/mnemosyne-oss/mnemosyne";
license = lib.licenses.mit;
};
};
in
{
inherit mnemosyne-memory mnemosyne-hermes;
}