[build-system] requires = ["hatchling"] build-backend = "hatchling.build" [project] name = "mcp-arangodb-async" version = "0.5.4" description = "A Model Context Protocol server for ArangoDB" publish_on_pypi = true # Set to false to skip publish, Set to true when you want to publish with an increased version number readme = "README.md" license = "Apache-2.0" authors = [ { name = "Eric Jacopin, eric.jacopin@protonmail.com" }, ] keywords = ["mcp", "mcp-server", "model-context-protocol", "async", "arangodb", "database", "aql", "graph"] classifiers = [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Topic :: Database", "Topic :: Software Development :: Libraries :: Python Modules", ] requires-python = ">=3.11" dependencies = [ "python-arango>=8.2.2,<9", "python-dotenv>=1.0,<2", "mcp>=1.18.0", "pydantic>=2,<3", "jsonschema>=4,<5", "starlette>=0.27.0,<1.0", "uvicorn[standard]>=0.23.0,<1.0", ] [project.optional-dependencies] dev = [ "pytest>=8,<9", "pytest-asyncio>=0.24,<2", "black>=25.0.0", "ruff>=0.1.0", "tabulate>=0.9.0", "docker>=7.0.0", ] [project.urls] Homepage = "https://github.com/PCfVW/mcp-arango-async" Repository = "https://github.com/PCfVW/mcp-arango-async" Issues = "https://github.com/PCfVW/mcp-arango-async/issues" [project.scripts] mcp-arangodb-async = "mcp_arangodb_async.__main__:main" maa = "mcp_arangodb_async.__main__:main" [tool.hatch.build.targets.wheel] packages = ["mcp_arangodb_async"] [tool.black] line-length = 88 target-version = ["py311"] include = '\.pyi?$' extend-exclude = ''' /( # directories \.eggs | \.git | \.hg | \.mypy_cache | \.tox | \.venv | build | dist )/ ''' [tool.ruff] target-version = "py311" line-length = 88 select = [ "E", # pycodestyle errors "W", # pycodestyle warnings "F", # pyflakes "I", # isort "B", # flake8-bugbear "C4", # flake8-comprehensions "UP", # pyupgrade ] ignore = [ "E501", # line too long, handled by black "B008", # do not perform function calls in argument defaults "C901", # too complex ] [tool.ruff.per-file-ignores] "__init__.py" = ["F401"] [tool.pytest.ini_options] testpaths = ["tests"] python_files = ["test_*.py"] python_classes = ["Test*"] python_functions = ["test_*"] addopts = "-v --tb=short" asyncio_mode = "auto" markers = [ "asyncio: mark test as async", ]