[build-system] requires = ["setuptools>=68.0", "wheel"] build-backend = "setuptools.build_meta" [project] name = "llm-kosh" version = "2.1.3" description = "Local-first AI memory cartridge: persistent, cross-session memory for Claude and any LLM via MCP" readme = "README.md" requires-python = ">=3.10" license = "MIT" authors = [ { name = "Vaibhav Rastogi", email = "rastogivaibhav@gmail.com" } ] keywords = ["mcp", "llm", "memory", "claude", "ai", "context", "cartridge", "sqlite", "fts5"] classifiers = [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Topic :: Scientific/Engineering :: Artificial Intelligence", ] dependencies = [ "PyYAML>=6.0", "mcp>=1.26.0,<2", "tomli>=2.0.0; python_version < \"3.11\"", ] [project.urls] Homepage = "https://rastogivaibhav.github.io/llm-kosh" Repository = "https://github.com/rastogivaibhav/llm-kosh" Documentation = "https://github.com/rastogivaibhav/llm-kosh/tree/master/docs" "Bug Tracker" = "https://github.com/rastogivaibhav/llm-kosh/issues" Security = "https://github.com/rastogivaibhav/llm-kosh/blob/master/SECURITY.md" Changelog = "https://github.com/rastogivaibhav/llm-kosh/blob/master/CHANGELOG.md" [project.optional-dependencies] watch = [ "watchdog>=3.0.0" ] semantic = [ "sentence-transformers>=2.2.0" ] server = [ "fastapi>=0.116.0", "uvicorn>=0.23.0", ] ingest = [ "markitdown" ] all = [ "watchdog>=3.0.0", "sentence-transformers>=2.2.0", "fastapi>=0.116.0", "uvicorn>=0.23.0", "markitdown", ] [project.scripts] llm-kosh = "llm_kosh.cli:main" llm-kosh-service = "llm_kosh.service:main" llm-kosh-mcp = "llm_kosh.mcp_trusted_memory_server:main" llm-kosh-memory = "llm_kosh.runtime.cli:main" [tool.setuptools.packages.find] include = ["llm_kosh*"] exclude = [ "tests*", "scripts*", "examples*", "desktop-app*", "research_eval*", ] [tool.pytest.ini_options] asyncio_mode = "auto" asyncio_default_fixture_loop_scope = "function" markers = [ "integration: integration tests requiring a running service", "asyncio: async tests", ]