teleo-infrastructure/pyproject.toml
2026-06-01 15:36:03 +02:00

59 lines
1.6 KiB
TOML

[build-system]
requires = ["setuptools>=68"]
build-backend = "setuptools.build_meta"
[project]
name = "teleo-pipeline"
version = "2.0.0"
description = "Teleo Pipeline v2 — async daemon for claim extraction, validation, evaluation, and merge"
requires-python = ">=3.11"
dependencies = [
"aiohttp>=3.9,<4",
]
[project.optional-dependencies]
dev = [
"pytest>=8",
"pytest-asyncio>=0.23",
"ruff>=0.3",
]
[tool.setuptools]
packages = ["lib"]
[tool.ruff]
target-version = "py311"
line-length = 120
[tool.ruff.lint]
select = [
"E", # pycodestyle errors
"F", # pyflakes (undefined names, unused imports)
"W", # pycodestyle warnings
"I", # isort
"UP", # pyupgrade
"B", # flake8-bugbear
"SIM", # flake8-simplify
"RUF", # ruff-specific rules
]
ignore = [
"E501", # line length (handled by formatter)
"B008", # function call in default argument (common in aiohttp)
"RUF013", # implicit Optional — existing code uses = None pattern throughout
"UP017", # datetime.UTC alias — keep timezone.utc for consistency with existing code
"UP041", # PEP 604 union syntax — existing code mixes styles, fix in Phase 3
"SIM105", # contextlib.suppress — try/except/pass is clearer in migration code
"SIM117", # merge with blocks — readability judgment call, not a bug
]
[tool.ruff.format]
quote-style = "double"
[tool.pytest.ini_options]
asyncio_mode = "auto"
testpaths = ["tests"]
python_files = "test_*.py"
python_functions = "test_*"
[tool.ruff.lint.isort]
known-first-party = ["lib"]