Adding CI/CD

This commit is contained in:
2026-03-16 16:26:23 -07:00
parent cb2b73d414
commit d4ebfb27da
4 changed files with 652 additions and 6 deletions

59
pyproject.toml Normal file
View File

@@ -0,0 +1,59 @@
[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.3"
[tool.poetry.group.dev.dependencies]
pytest = "^8.0"
pytest-cov = "^5.0"
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.3"
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"