Files
birdcam/pyproject.toml
2026-03-17 15:43:49 -07:00

65 lines
2.0 KiB
TOML

[tool.poetry]
name = "birdcam2"
version = "0.1.0"
description = ""
authors = ["Andrew Kettel <andrew.kettel@gmail.com>"]
readme = "README.md"
packages = [{include = "src"}]
[tool.poetry.dependencies]
python = "^3.12"
flask = "^3.0"
picamera2 = "^0.3"
python-prctl = {version = "*", optional = true}
pillow = "^12.1.1"
[tool.poetry.group.dev.dependencies]
pytest = "^8.0"
pytest-cov = "^5.0"
pytest-flask = "^1.3"
black = "^24.0"
ruff = "^0.4"
mypy = "^1.10"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
# ── Black ──────────────────────────────────────────────────────────────────
[tool.black]
line-length = 88
target-version = ["py312"]
# ── Ruff ───────────────────────────────────────────────────────────────────
[tool.ruff]
line-length = 88
target-version = "py312"
[tool.ruff.lint]
select = [
"E", # pycodestyle errors
"W", # pycodestyle warnings
"F", # pyflakes
"I", # isort
"B", # flake8-bugbear
"C4", # flake8-comprehensions
"UP", # pyupgrade
]
ignore = ["E501"] # line length handled by black
[tool.ruff.lint.isort]
known-first-party = ["src"]
# ── Mypy ───────────────────────────────────────────────────────────────────
[tool.mypy]
python_version = "3.12"
strict = true
warn_return_any = true
warn_unused_configs = true
ignore_missing_imports = true
# ── Pytest ─────────────────────────────────────────────────────────────────
[tool.pytest.ini_options]
testpaths = ["tests"]
addopts = "--cov=src --cov-report=term-missing"