[tool.poetry] name = "blitz_api" version = "0.5.1" description = "A backend for the Raspiblitz project" authors = ["fusion44 "] license = "MIT" packages = [ { include = "app" }, ] [tool.poetry.dependencies] python = "^3.11" fastapi = {extras = ["standard"], version = "^0.115.6"} fastapi-plugins = "^0.13.0" anyio = "^4.3.0" redis = "^5.0.1" aioredis = "^2.0.1" pydantic = "^2.6.1" uvicorn = {extras = ["standard"], version = "^0.34.0"} pyjwt = "^2.8.0" python-decouple = "^3.8" psutil = "^5.9.8" requests = "^2.31.0" pyzmq = "^25.1.2" aiohttp = "^3.11.10" grpcio = "^1.60.1" grpcio-tools = "^1.60.1" googleapis-common-protos = "^1.62.0" protobuf = "^4.25.3" deepdiff = "^6.7.1" loguru = "^0.7.2" [tool.poetry.group.dev.dependencies] black = "^24.3.0" pytest = "^8.0.1" pytest-asyncio = "^0.23.5" coverage = "^7.4.2" isort = "^5.13.2" ruff = "^0.8.3" ruff-lsp = "^0.0.59" debugpy = "^1.8.1" click = "^8.1.7" [build-system] requires = ["poetry-core"] build-backend = "poetry.core.masonry.api" [tool.isort] profile = "black" [tool.ruff] # Enable pycodestyle (`E`) and Pyflakes (`F`) codes by default. select = ["E", "F"] ignore = [] # Allow auto fix for all enabled rules (when `--fix`) is provided. fixable = ["A", "B", "C", "D", "E", "F", "G", "I", "N", "Q", "S", "T", "W", "ANN", "ARG", "BLE", "COM", "DJ", "DTZ", "EM", "ERA", "EXE", "FBT", "ICN", "INP", "ISC", "NPY", "PD", "PGH", "PIE", "PL", "PT", "PTH", "PYI", "RET", "RSE", "RUF", "SIM", "SLF", "TCH", "TID", "TRY", "UP", "YTT"] unfixable = [] # Exclude a variety of commonly ignored directories. exclude = [ ".bzr", ".direnv", ".eggs", ".git", ".git-rewrite", ".hg", ".mypy_cache", ".nox", ".pants.d", ".pytype", ".ruff_cache", ".svn", ".tox", ".venv", "__pypackages__", "_build", "buck-out", "build", "dist", "node_modules", "venv", "app/lightning/impl/protos/*" ] # Same as Black. line-length = 88 # Allow unused variables when underscore-prefixed. dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$" # Assume Python 3.9. target-version = "py39" [tool.ruff.mccabe] # Unlike Flake8, default to a complexity level of 10. max-complexity = 10 [tool.poetry.scripts] api = "app.server:main"