Replace pandas with stdlib csv, apprise with direct Slack webhook, switch to opencv-headless

- Rewrite csv_exporter.py to use stdlib csv.DictWriter instead of pandas DataFrame
- Rewrite notifications.py to use aiohttp direct Slack webhook instead of apprise
- Switch opencv-python to opencv-python-headless in pyproject.toml
- Move httpx from dev to prod dependencies
- Remove pandas and apprise from mypy ignore_missing_imports
This commit is contained in:
Viktor Barzin 2026-02-21 19:47:10 +00:00
parent cde3540a1e
commit 3d9550c7f1
No known key found for this signature in database
GPG key ID: 0EB088298288D958
3 changed files with 67 additions and 52 deletions

View file

@ -11,8 +11,7 @@ cachetools = "^5.3.2"
pillow = "^10.2.0"
numpy = "^1.26.4"
pytesseract = "^0.3.10"
pandas = "^2.2.1"
opencv-python = "^4.11.0.86"
opencv-python-headless = "^4.11.0.86"
click = "^8.2.0"
aiohttp = "^3.11.18"
aiohttp-socks = "^0.8.4"
@ -25,7 +24,6 @@ pyjwt = "^2.10.1"
cryptography = "^45.0.4"
celery = "^5.5.3"
redis = "^6.2.0"
apprise = "^1.9.3"
opentelemetry-api = "^1.36.0"
opentelemetry-sdk = "^1.36.0"
opentelemetry-exporter-prometheus = "^0.57b0"
@ -33,6 +31,7 @@ opentelemetry-instrumentation-fastapi = "^0.57b0"
opentelemetry-instrumentation-sqlalchemy = "^0.57b0"
mysqlclient = "^2.2.7"
webauthn = "^2.0.0"
httpx = "^0.27.0"
[tool.poetry.group.dev.dependencies]
ipdb = "^0.13.13"
@ -41,7 +40,6 @@ podman-compose = "^1.5.0"
pytest = "^8.0.0"
pytest-asyncio = "^0.23.0"
pytest-cov = "^4.1.0"
httpx = "^0.27.0"
aioresponses = "^0.7.6"
fakeredis = "^2.21.0"
pytest-xdist = "^3.5.0"
@ -81,5 +79,5 @@ strict_optional = true
plugins = ["pydantic.mypy"]
[[tool.mypy.overrides]]
module = ["pytesseract.*", "cv2.*", "celery.*", "aiohttp.*", "aiohttp_socks.*", "tenacity.*", "pandas.*", "numpy.*", "PIL.*", "sqlmodel.*", "sqlalchemy.*", "alembic.*", "apprise.*", "opentelemetry.*", "webauthn.*"]
module = ["pytesseract.*", "cv2.*", "celery.*", "aiohttp.*", "aiohttp_socks.*", "tenacity.*", "numpy.*", "PIL.*", "sqlmodel.*", "sqlalchemy.*", "alembic.*", "opentelemetry.*", "webauthn.*"]
ignore_missing_imports = true