pyproject.toml•1.85 kB
[project]
name = "ipybox"
dynamic = ["version"]
description = "Python code execution sandbox based on IPython and Docker"
authors = [
{ name = "Martin Krasser", email = "martin@gradion.ai" },
{ name = "Christoph Stumpf", email = "chris@gradion.ai" },
]
requires-python = ">=3.11,<3.14"
readme = "README.md"
license = "Apache-2.0"
dependencies = [
"aiodocker>=0.24.0,<0.25",
"aiofiles>=24.1.0,<25",
"aiohttp>=3.12.0,<4",
"mcp>=1.9.2,<2",
"pillow>=11.0.0,<12",
"tornado>=6.4.0,<7",
"typer>=0.12.5,<0.13",
"click<8.2.0",
"python-dotenv>=1.1.1",
]
[tool.uv]
default-groups = [
"docs",
"dev",
]
[dependency-groups]
docs = [
"mkdocs>=1.6.1,<2",
"mkdocs-material>=9.5.48,<10",
"mkdocstrings-python>=1.12.2,<2",
]
dev = [
"datamodel-code-generator>=0.28.5,<0.29",
"fastapi>=0.115.12,<0.116",
"invoke~=2.2",
"pre-commit~=4.0",
"pydantic>=2.11.0,<3",
"pytest~=8.3",
"pytest-asyncio>=0.26.0,<0.27",
"pytest-cov>=6.1.0,<7",
"python-multipart>=0.0.20,<0.1",
"uvicorn>=0.34.1,<0.35",
"flaky>=3.8.1,<4",
"jsonschema>=4.25.0",
]
[project.scripts]
ipybox = "ipybox.__main__:main"
[build-system]
requires = ["hatchling", "uv-dynamic-versioning"]
build-backend = "hatchling.build"
[tool.hatch.version]
source = "uv-dynamic-versioning"
[tool.uv-dynamic-versioning]
vcs = "git"
pattern = "default-unprefixed"
style = "pep440"
[tool.hatch.build.targets.sdist]
include = ["ipybox"]
[tool.hatch.build.targets.wheel]
include = ["ipybox"]
[tool.pytest.ini_options]
asyncio_mode = "auto"
[tool.ruff]
line-length = 120
[tool.ruff.lint.per-file-ignores]
"**/__init__.py" = ["F401"]
[tool.mypy]
check_untyped_defs = true
ignore_missing_imports = true
[[tool.mypy.overrides]]
module = [
"aiofiles",
"aiofiles.os",
]
ignore_missing_imports = true