[build-system] requires = ["hatchling"] build-backend = "hatchling.build" [project] name = "code-memory" version = "1.0.33" description = "A deterministic, high-precision code intelligence MCP server" readme = "README.md" license = "MIT" requires-python = ">=3.13" authors = [ {name = "Kapil Lamba", email = "kapillamba4@gmail.com"} ] classifiers = [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3.13", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Software Development :: Code Generators", ] dependencies = [ "einops>=0.8.0", "gitpython>=3.1.46", "pathspec>=0.12.1", "markdown-it-py>=4.0.0", "mcp[cli]>=1.26.0", "sentence-transformers>=5.2.3", "sqlite-vec>=0.1.6", "tree-sitter>=0.25.2", "tree-sitter-c>=0.24.1", "tree-sitter-cpp>=0.23.4", "tree-sitter-go>=0.25.0", "tree-sitter-java>=0.23.5", "tree-sitter-javascript>=0.25.0", "tree-sitter-kotlin>=1.1.0", "tree-sitter-python>=0.25.0", "tree-sitter-ruby>=0.23.1", "tree-sitter-rust>=0.24.0", "tree-sitter-typescript>=0.23.2", "xxhash>=3.6.0", ] [project.optional-dependencies] dev = [ "pytest>=8.0.0", "pytest-asyncio>=0.24.0", "pytest-cov>=5.0.0", "ruff>=0.8.0", "mypy>=1.13.0", ] [project.scripts] code-memory = "code_memory.server:main" [project.urls] Homepage = "https://github.com/kapillamba4/code-memory" Documentation = "https://github.com/kapillamba4/code-memory#readme" Repository = "https://github.com/kapillamba4/code-memory.git" Issues = "https://github.com/kapillamba4/code-memory/issues" [tool.hatch.build.targets.wheel] packages = ["code_memory"] [tool.pytest.ini_options] testpaths = ["tests"] python_files = ["test_*.py"] python_functions = ["test_*"] addopts = "-v --tb=short" [tool.ruff] line-length = 100 target-version = "py313" [tool.ruff.lint] select = ["E", "F", "I", "N", "W", "UP"] ignore = ["E501"] # Line too long (handled by formatter) [tool.mypy] python_version = "3.13" warn_return_any = true warn_unused_configs = true ignore_missing_imports = true # TODO: clean up pre-existing type issues in these modules and remove the override. [[tool.mypy.overrides]] module = [ "code_memory.db", "code_memory.doc_parser", "code_memory.git_search", "code_memory.parser", ] ignore_errors = true [tool.coverage.run] source = ["code_memory"] omit = ["tests/*", ".venv/*"] [tool.coverage.report] exclude_lines = [ "pragma: no cover", "if TYPE_CHECKING:", "raise NotImplementedError", ]