pyro-mcp/pyproject.toml
Thales Maciel 22d284b1f5 Add content-only workspace read modes
Make the human workspace read commands easier to use in chat transcripts and shell pipelines by adding CLI-only --content-only to workspace file read and workspace disk read.

Keep JSON, SDK, and MCP behavior unchanged while fixing the default human rendering so content without a trailing newline is cleanly separated from the summary footer.

Update the 3.9.0 docs and roadmap status, and add CLI regression coverage plus a real guest-backed smoke for live and stopped-disk reads.
2026-03-13 11:43:40 -03:00

88 lines
2.6 KiB
TOML

[project]
name = "pyro-mcp"
version = "3.9.0"
description = "Stable Firecracker workspaces, one-shot sandboxes, and MCP tools for coding agents."
readme = "README.md"
license = { file = "LICENSE" }
authors = [
{ name = "Thales Maciel", email = "thales@thalesmaciel.com" }
]
requires-python = ">=3.12"
classifiers = [
"Development Status :: 5 - Production/Stable",
"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",
"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"]