[project] name = "pyro-mcp" version = "4.5.0" description = "Disposable MCP workspaces for chat-based coding agents on Linux KVM." readme = "README.md" license = { file = "LICENSE" } authors = [ { name = "Thales Maciel", email = "thales@thalesmaciel.com" } ] requires-python = ">=3.12" classifiers = [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.12", "Topic :: Software Development :: Testing", "Topic :: System :: Systems Administration", ] dependencies = [ "mcp>=1.26.0", ] [project.urls] Homepage = "https://git.thaloco.com/thaloco/pyro-mcp" Repository = "https://git.thaloco.com/thaloco/pyro-mcp" Issues = "https://git.thaloco.com/thaloco/pyro-mcp/issues" PyPI = "https://pypi.org/project/pyro-mcp/" [project.scripts] pyro = "pyro_mcp.cli:main" [build-system] requires = ["hatchling"] build-backend = "hatchling.build" [tool.hatch.build.targets.wheel] packages = ["src/pyro_mcp"] [tool.hatch.build.targets.wheel.force-include] "src/pyro_mcp/runtime_bundle/NOTICE" = "pyro_mcp/runtime_bundle/NOTICE" "src/pyro_mcp/runtime_bundle/linux-x86_64/bin/firecracker" = "pyro_mcp/runtime_bundle/linux-x86_64/bin/firecracker" "src/pyro_mcp/runtime_bundle/linux-x86_64/bin/jailer" = "pyro_mcp/runtime_bundle/linux-x86_64/bin/jailer" "src/pyro_mcp/runtime_bundle/linux-x86_64/guest/pyro_guest_agent.py" = "pyro_mcp/runtime_bundle/linux-x86_64/guest/pyro_guest_agent.py" "src/pyro_mcp/runtime_bundle/linux-x86_64/manifest.json" = "pyro_mcp/runtime_bundle/linux-x86_64/manifest.json" [tool.hatch.build.targets.sdist] include = [ "docs/**", "src/pyro_mcp/**/*.py", "src/pyro_mcp/runtime_bundle/NOTICE", "src/pyro_mcp/runtime_bundle/linux-x86_64/bin/firecracker", "src/pyro_mcp/runtime_bundle/linux-x86_64/bin/jailer", "src/pyro_mcp/runtime_bundle/linux-x86_64/guest/pyro_guest_agent.py", "src/pyro_mcp/runtime_bundle/linux-x86_64/manifest.json", "README.md", "LICENSE", "AGENTS.md", "pyproject.toml", ] [dependency-groups] dev = [ "mypy>=1.19.1", "pre-commit>=4.5.1", "pytest>=9.0.2", "pytest-cov>=7.0.0", "pytest-xdist>=3.8.0", "ruff>=0.15.4", ] [tool.pytest.ini_options] testpaths = ["tests"] addopts = "--cov=pyro_mcp --cov-report=term-missing --cov-fail-under=90" [tool.ruff] target-version = "py312" line-length = 100 [tool.ruff.lint] select = ["E", "F", "I", "B"] [tool.mypy] python_version = "3.12" strict = true warn_unused_configs = true files = ["src", "tests", "examples"]