[build-system] requires = ["hatchling"] build-backend = "hatchling.build" [project] name = "matrix-context" version = "0.1.0" description = "Local-first, inspectable Mixture-of-Contexts engine and MCP server for agent memory" readme = "README.md" requires-python = ">=3.10" license = "Apache-2.0" authors = [{ name = "Ruslan Magana Vsevolodovna", email = "contact@ruslanmv.com" }] keywords = ["agent-memory", "rag", "mcp", "context", "agent-matrix", "local-first"] classifiers = [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Operating System :: OS Independent", "Topic :: Scientific/Engineering :: Artificial Intelligence", "Topic :: Software Development :: Libraries :: Python Modules", ] dependencies = ["numpy>=1.24"] [project.optional-dependencies] embeddings = ["sentence-transformers>=2.2"] mcp = ["mcp>=1.0"] postgres = ["psycopg[binary]>=3.1", "pgvector>=0.2"] milvus = ["pymilvus>=2.4"] conformance = ["jsonschema>=4.18", "PyYAML>=6.0"] dev = ["pytest>=7.0", "ruff>=0.4", "mypy>=1.8", "jsonschema>=4.18", "PyYAML>=6.0"] experiments = ["chromadb>=0.5", "ollama>=0.3", "sentence-transformers>=2.2"] all = ["matrix-context[embeddings,mcp,postgres,milvus,conformance]"] [project.scripts] matrix-context = "matrix_context.cli:main" [project.urls] Homepage = "https://github.com/agent-matrix/matrix-context" Repository = "https://github.com/agent-matrix/matrix-context" Documentation = "https://github.com/agent-matrix/matrix-context#readme" Issues = "https://github.com/agent-matrix/matrix-context/issues" Changelog = "https://github.com/agent-matrix/matrix-context/blob/main/docs/CHANGELOG.md" [tool.hatch.build.targets.wheel] # The Inspector UI (inspector.html) and Console SPA (console/) live inside the # package and are included by hatchling's default file selection — no # force-include (that would double-add them and break the wheel build). packages = ["src/matrix_context"] [tool.hatch.build.targets.sdist] # Keep the PyPI sdist lean — only what is needed to build the package. include = ["src/matrix_context", "README.md", "LICENSE", "pyproject.toml", "CITATION.cff"] [tool.ruff] line-length = 100 src = ["src"] [tool.ruff.lint] # The codebase uses `stmt; stmt` deliberately for compact handlers/accumulators. ignore = ["E702"] [tool.ruff.lint.per-file-ignores] # v1 skeleton: the tool/resource/prompt surfaces are declared (re-exported) here # and wired to the MCP SDK once the engine is proven. "src/matrix_context/serve/mcp/server.py" = ["F401"] [tool.mypy] python_version = "3.10" ignore_missing_imports = true