Files
takopi/pyproject.toml
2026-03-02 13:07:44 +04:00

85 lines
2.1 KiB
TOML

[project]
name = "takopi"
authors = [{name = "banteg"}]
version = "0.22.3"
description = "Telegram bridge for Codex, Claude Code, and other agent CLIs."
readme = "readme.md"
license = { file = "LICENSE" }
requires-python = ">=3.14"
dependencies = [
"anyio>=4.12.0",
"httpx>=0.28.1",
"markdown-it-py",
"msgspec>=0.20.0",
"openai>=2.15.0",
"pydantic>=2.12.5",
"pydantic-settings>=2.12.0",
"questionary>=2.1.1",
"rich>=14.2.0",
"structlog>=25.5.0",
"sulguk>=0.11.1",
"tomli-w>=1.2.0",
"typer>=0.21.0",
"watchfiles>=0.21.0",
]
classifiers = [
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.14",
"Programming Language :: Python :: 3 :: Only",
"Operating System :: OS Independent",
]
[project.urls]
Homepage = "https://github.com/banteg/takopi"
Documentation = "https://takopi.dev/"
Repository = "https://github.com/banteg/takopi"
Issues = "https://github.com/banteg/takopi/issues"
[project.scripts]
takopi = "takopi.cli:main"
[project.entry-points."takopi.engine_backends"]
codex = "takopi.runners.codex:BACKEND"
claude = "takopi.runners.claude:BACKEND"
opencode = "takopi.runners.opencode:BACKEND"
pi = "takopi.runners.pi:BACKEND"
[project.entry-points."takopi.transport_backends"]
telegram = "takopi.telegram.backend:BACKEND"
[build-system]
requires = ["uv_build>=0.9.18,<0.10.0"]
build-backend = "uv_build"
[dependency-groups]
dev = [
"mutmut>=3.4.0",
"pytest>=9.0.2",
"pytest-anyio>=0.0.0",
"pytest-cov>=7.0.0",
"ruff>=0.14.10",
"ty>=0.0.8",
]
docs = [
"mkdocstrings-python>=2.0.1",
"zensical>=0.0.15",
]
[tool.pytest.ini_options]
addopts = ["--cov=takopi", "--cov-branch", "--cov-report=term-missing", "--cov-fail-under=81"]
testpaths = ["tests"]
[tool.mutmut]
paths_to_mutate = ["src/takopi"]
tests_dir = ["tests"]
pytest_add_cli_args = ["-q", "--no-cov"]
do_not_mutate = ["src/takopi/cli/*"]
[tool.ruff.lint]
extend-select = ["B", "BLE001", "C4", "PERF", "RUF043", "S110", "SIM", "UP"]
[tool.ty.src]
include = ["src", "tests"]
exclude = ["scripts"]