blitz_api/pyproject.toml
fusion44 65588d6c7c
chore(deps): bump dependencies with known security vulnerabilities
Direct dependencies:
- fastapi 0.128.0 -> 0.139.0 (needed for starlette 1.x support)
- starlette 0.49.1 -> 1.3.1
- pyjwt 2.10.1 -> 2.13.0
- aiohttp 3.13.3 -> 3.14.1
- deepdiff 8.6.1 -> 9.1.0
- requests 2.32.5 -> 2.33.0

Transitive dependencies:
- urllib3 2.6.3 -> 2.7.0
- idna 3.11 -> 3.18
- python-multipart 0.0.22 -> 0.0.32

Dev dependencies:
- pytest 9.0.2 -> 9.0.3

The update-requirements-file make target now passes --upgrade to
uv pip compile; without it, stale (vulnerable) pins from the existing
requirements.txt are silently preserved.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 17:46:36 +02:00

109 lines
2.5 KiB
TOML

[project]
name = "blitz_api"
version = "0.5.1"
description = "A backend for the Raspiblitz project"
authors = [{ name = "fusion44", email = "some.fusion@gmail.com" }]
requires-python = ">=3.11,<3.13"
license = "MIT"
dependencies = [
"fastapi[standard-no-fastapi-cloud-cli]==0.139.0",
"starlette==1.3.1",
"anyio==4.9.0",
"uvicorn[standard]==0.40.0",
"pydantic==2.12.5",
"typing-extensions==4.15.0",
"pyjwt==2.13.0",
"python-decouple==3.8",
"psutil==7.2.2",
"requests==2.33.0",
"pyzmq==27.1.0",
"aiohttp==3.14.1",
"async-timeout==5.0.1",
"grpcio==1.76.0",
"grpcio-tools==1.76.0",
"deepdiff==9.1.0",
"loguru==0.7.3",
"celery[redis]==5.6.2",
# used by the `api` console script entry point (app/server.py)
"click==8.3.1",
]
[project.scripts]
api = "app.server:main"
[dependency-groups]
dev = [
"pytest==9.0.3",
"pytest-asyncio==1.3.0",
"coverage==7.13.2",
"ruff==0.14.14",
"debugpy==1.8.20",
"watchfiles==1.1.1",
]
[tool.hatch.build.targets.sdist]
include = ["app"]
[tool.hatch.build.targets.wheel]
include = ["app"]
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[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]+?))$"
target_version = "py311"
[tool.ruff.mccabe]
# Unlike Flake8, default to a complexity level of 10.
max-complexity = 10
[tool.pytest.ini_options]
pythonpath = [
"app/external/result_type/src"
]
asyncio_mode = "auto"
norecursedirs = [".venv", ".devenv"]