MCP Server Neurolorap

[project] name = "mcp-server-neurolorap" version = "0.1.0" description = "MCP server for code collection and documentation" authors = [{ name = "Aindrey" }] dependencies = [ "mcp @ git+https://github.com/modelcontextprotocol/python-sdk.git", "typing-extensions>=4.0.0", "markdown>=3.0.0", "pygments>=2.0.0" ] requires-python = ">=3.10" readme = "README.md" license = { text = "MIT" } [project.optional-dependencies] dev = [ "pytest>=7.0.0", "pytest-asyncio>=0.23.0", # For async tests "pytest-cov>=4.1.0", # For coverage reporting "pytest-xdist>=3.5.0", # For parallel test execution "pytest-timeout>=2.2.0", # For test timeouts "pytest-randomly>=3.15.0", # For random test ordering "black>=23.12.1", "flake8>=7.0.0", "isort>=5.13.2", "mypy>=1.8.0", "build>=1.0.0", "twine>=4.0.0", ] [tool.setuptools] packages = ["mcp_server_neurolorap"] package-dir = {"" = "src"} include-package-data = true [tool.setuptools.package-data] mcp_server_neurolorap = [ "py.typed", "templates/ignore.template", "templates/todo.template.md", "templates/done.template.md" ] [build-system] requires = ["hatchling"] build-backend = "hatchling.build" [tool.hatch.metadata] allow-direct-references = true [project.scripts] mcp-server-neurolorap = "mcp_server_neurolorap.__main__:main_entry" [tool.black] line-length = 79 target-version = ["py38"] [tool.isort] profile = "black" line_length = 79 multi_line_output = 3 include_trailing_comma = true force_grid_wrap = 0 use_parentheses = true ensure_newline_before_comments = true [tool.mypy] python_version = "3.10" strict = true warn_return_any = true warn_unused_configs = true disallow_untyped_defs = true disallow_incomplete_defs = true check_untyped_defs = true disallow_untyped_decorators = false # Allow untyped decorators from MCP no_implicit_optional = true warn_redundant_casts = true warn_unused_ignores = true warn_no_return = true warn_unreachable = true ignore_missing_imports = true exclude = "build/|dist/|.venv/|venv/|.env/|.egg-info/|__pycache__/|.pytest_cache/|.mypy_cache/|coverage_html/|.tox/" [[tool.mypy.overrides]] module = "mcp.*" ignore_missing_imports = true [tool.flake8] max-line-length = 79 extend-ignore = "E203" exclude = [ ".git", "__pycache__", "build", "dist", ".venv", "venv", "*.egg-info", ".pytest_cache", ".mypy_cache", "coverage_html", ".coverage", ".tox", ".env" ] [tool.pytest.ini_options] minversion = "7.0" addopts = """ --strict-markers --strict-config --tb=short --cov=mcp_server_neurolorap --cov-report=term-missing --cov-report=html --cov-report=xml --no-cov-on-fail --randomly-seed=1234 --randomly-dont-reset-seed -v """ testpaths = ["tests"] python_files = ["test_*.py"] python_classes = ["Test*"] python_functions = ["test_*"] asyncio_mode = "auto" markers = [ "slow: marks tests as slow", "integration: marks tests as integration tests", "unit: marks tests as unit tests", ] timeout = 300 [tool.coverage.run] branch = true source = ["mcp_server_neurolorap"] omit = [ "tests/*", "setup.py", ".venv/*", "venv/*", ".env/*", "build/*", "dist/*", "*.egg-info/*", "__pycache__/*", ".pytest_cache/*", ".mypy_cache/*", ".tox/*", "coverage_html/*" ] [tool.coverage.report] exclude_lines = [ "pragma: no cover", "def __repr__", "if self.debug:", "raise NotImplementedError", "if __name__ == .__main__.:", "pass", "raise ImportError", ] ignore_errors = true fail_under = 80 show_missing = true [tool.coverage.html] directory = "coverage_html" [tool.pylance] reportUnknownMemberType = "none" reportUnknownVariableType = "none" reportUnknownArgumentType = "none" reportUnusedFunction = "none"