[build-system] requires = ["hatchling"] build-backend = "hatchling.build" [project] name = "myopic" version = "0.1.11" description = "The code-review MCP that reviews your merge request against the whole codebase, not just the diff" readme = "README.md" requires-python = ">=3.11" license = "MIT" authors = [{ name = "Suraj Goyal", email = "sgoyal275@gmail.com" }] keywords = ["mcp", "llm", "code-review", "gitlab", "merge-request", "claude", "ai-tools"] classifiers = [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Topic :: Software Development :: Quality Assurance", ] dependencies = [ "mcp[cli]>=1.0.0,<2", # mcp 2.0 removed mcp.server.fastmcp; cap until we migrate "python-gitlab>=4.0", "PyGithub>=2.0", "click>=8.0", "rich>=13.0", # AST-aware chunking (mr_diff_sections) "tree-sitter>=0.24.0", "tree-sitter-python>=0.23.0", "tree-sitter-javascript>=0.23.0", "tree-sitter-typescript>=0.23.0", "tree-sitter-java>=0.23.0", "tree-sitter-go>=0.23.0", "tree-sitter-rust>=0.23.0", # Semantic layer — the whole-codebase review that is myopic's reason to exist, # so it ships by default (not an opt-in extra). Torch-free: embeddings run via # a local Ollama (see `myopic doctor`), not an in-process model. "lancedb>=0.34", "httpx>=0.27", ] [project.optional-dependencies] dev = ["pytest>=8.0"] # Back-compat alias: the semantic layer is now in the base install. `myopic[semantic]` # still resolves so existing install commands keep working. semantic = [] [project.scripts] myopic = "myopic.cli:cli" [project.entry-points."mcp.servers"] myopic = "myopic.server:mcp" [project.urls] Homepage = "https://github.com/SurajKGoyal/myopic" Repository = "https://github.com/SurajKGoyal/myopic" Issues = "https://github.com/SurajKGoyal/myopic/issues" [tool.hatch.build.targets.wheel] packages = ["myopic"]