[project] name = "mnemosyne" version = "0.1.0" description = "Object-addressed context memory for LLM agents — multi-fidelity compression with goal-aware retrieval" readme = "README.md" requires-python = ">=3.12" dependencies = [ # --- Inherited from Pichay (proxy foundation) --- "httpx>=0.27", "fastapi>=0.116.0", "uvicorn>=0.35.0", "anthropic>=0.84.0", "numpy>=2.2.0", # --- Mnemosyne additions --- # PostgreSQL + vector search (backing store) "asyncpg>=0.30.0", "pgvector>=0.3.6", # Embeddings (semantic search, goal detection) "sentence-transformers>=3.4.0", # Config "tomli>=2.0.0; python_version < '3.11'", # Telemetry (optional, from Pichay) "prometheus-client>=0.23.0", ] [project.optional-dependencies] dev = [ "pytest>=8.0", "pytest-asyncio>=0.25.0", "ruff>=0.9.0", ] # Pichay analysis tools (not needed for proxy operation) analysis = [ "matplotlib>=3.10.0", "polars>=1.38.0", "dask>=2024.1.0", "flask>=3.0", ] [project.scripts] mnemosyne = "mnemosyne.gateway:main" [build-system] requires = ["hatchling"] build-backend = "hatchling.build" [tool.hatch.build.targets.wheel] packages = ["src/mnemosyne"] [tool.ruff] target-version = "py312" line-length = 100 [tool.ruff.lint] select = ["E", "F", "I", "N", "W", "UP"] [tool.pytest.ini_options] asyncio_mode = "auto" testpaths = ["tests"]