[build-system] requires = ["setuptools>=69.0", "wheel"] build-backend = "setuptools.build_meta" [project] name = "vigilar" version = "0.1.0" description = "DIY offline-first home security system" requires-python = ">=3.11" license = {text = "MIT"} dependencies = [ "opencv-python-headless>=4.9.0", "paho-mqtt>=2.1.0", "flask>=3.0.0", "gunicorn>=22.0.0", "sqlalchemy>=2.0.0", "alembic>=1.13.0", "pydantic>=2.7.0", "pillow>=10.3.0", "cryptography>=42.0.0", "click>=8.1.7", "pynut2>=0.1.0", "pywebpush>=2.0.0", "py-vapid>=1.9.0", "ultralytics>=8.2.0", "torchvision>=0.18.0", ] [project.optional-dependencies] gpio = [ "gpiozero>=2.0.1", "RPi.GPIO>=0.7.1", ] face = [ "face_recognition>=1.3.0", ] dev = [ "pytest>=8.2.0", "pytest-cov>=5.0.0", "mypy>=1.10.0", "ruff>=0.4.0", "httpx>=0.27.0", ] [project.scripts] vigilar = "vigilar.cli.main:cli" [tool.setuptools.packages.find] where = ["."] include = ["vigilar*"] [tool.ruff] target-version = "py311" line-length = 100 [tool.ruff.lint] select = ["E", "F", "I", "N", "W", "UP"] [tool.pytest.ini_options] testpaths = ["tests"] pythonpath = ["."] [tool.mypy] python_version = "3.11" warn_return_any = true warn_unused_configs = true