[build-system] requires = ["uv-build<0.12"] build-backend = "uv_build" [project] name = "cml-mcp" version = "0.31.2" license = "BSD-2-Clause AND LicenseRef-Proprietary" license-files = ["LICENSE", "CISCO_LICENSE.md"] authors = [{ name = "Joe Clarke", email = "jclarke@cisco.com" }] description = "Cisco Modeling Labs CML MCP Server" requires-python = ">=3.12,<3.15" readme = "README.md" classifiers = [ "Programming Language :: Python :: 3", "Operating System :: OS Independent", ] dependencies = [ "httpx", "fastmcp>=3.1.1,<4", "fastapi", "pydantic_strict_partial", "typer", "virl2_client", ] optional-dependencies = { "pyats" = [ "pyats", "genie", ], "opentelemetry" = [ "opentelemetry-distro", "opentelemetry-exporter-otlp", ] } [project.scripts] cml-mcp = "cml_mcp.__main__:main" [project.urls] Homepage = "https://github.com/xorrkaz/cml-mcp" Issues = "https://github.com/xorrkaz/cml-mcp/issues" [tool.black] line-length = 140 force-exclude = ''' ^/src/cml_mcp/cml/ ''' [tool.isort] profile = "black" line_length = 140 skip_glob = ["src/cml_mcp/cml/**"] [tool.uv.sources] cml-mcp = { workspace = true } [dependency-groups] dev = [ "pytest", "pytest-asyncio", "inline-snapshot[black]", "black", "isort", "flake8", ] [tool.pytest.ini_options] asyncio_mode = "auto" asyncio_default_fixture_loop_scope = "session" asyncio_default_test_loop_scope = "session" # Enable this for debugging, but it will make the output very verbose log_cli = false