[build-system] requires = ["hatchling"] build-backend = "hatchling.build" [project] name = "unifi_protect_backup" version = "0.13.0" description = "Python tool to backup unifi event clips in realtime." readme = "README.md" license = {text = "MIT"} authors = [ {name = "sebastian.goscik", email = "sebastian@goscik.com"} ] classifiers = [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Information Technology", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.10", ] requires-python = ">=3.10.0,<4.0" dependencies = [ "click==8.0.1", "aiorun>=2023.7.2", "aiosqlite>=0.17.0", "python-dateutil>=2.8.2", "apprise>=1.5.0", "expiring-dict>=1.1.0", "async-lru>=2.0.4", "aiolimiter>=1.1.0", "uiprotect==7.5.2", "aiohttp==3.11.16", ] [project.urls] Homepage = "https://github.com/ep1cman/unifi-protect-backup" [project.scripts] unifi-protect-backup = "unifi_protect_backup.cli:main" [dependency-groups] dev = [ "mypy>=1.15.0", "types-pytz>=2021.3.5", "types-cryptography>=3.3.18", "types-python-dateutil>=2.8.19.10", "types-aiofiles>=24.1.0.20241221", "bump2version>=1.0.1", "pre-commit>=4.2.0", "ruff>=0.11.4", "pytest>=8.3.5", ] [tool.hatch.build.targets.wheel] packages = ["unifi_protect_backup"] [tool.hatch.build.targets.sdist] include = ["unifi_protect_backup", "tests"] [tool.ruff] line-length = 120 target-version = "py310" [tool.ruff.lint] select = ["E","F","D","B","W"] ignore = ["D203", "D213"] [tool.ruff.format] quote-style = "double" indent-style = "space" line-ending = "lf" docstring-code-format = true [tool.mypy] allow_redefinition = true exclude = [ 'unifi_protect_backup/uiprotect_patch.py' ] [tool.uv] default-groups = []