Files
mivanchenko 319218ce21
Test backoffice (smb-crm) / test (push) Has been cancelled
Remove Google Sheets mirror entirely (#13)
Postgres is now the sole source of truth: delete sheets.py and
import_from_sheets.py, strip mirror_entity/mirror_async/_mirror_worker and
POST /api/sync from app.py, drop the tab/mirror keys from db.py's TABLES.
Re-point n8n/renewal-reminder.json at the CRM's own HTTP API (GET
/api/clients, POST /api/activity_log) instead of the Sheets nodes, and drop
SHEET_ID/GOOGLE_SA_JSON from deploy env/compose and requests from
requirements.txt (PyJWT stays — still used by booking_api.py). Updates
docs/README/playbooks accordingly and closes the old #5 (atomic mirror) as
moot.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-04 11:29:57 +02:00

14 lines
642 B
Plaintext

Flask==3.0.3
# psycopg-binary 3.2.1 only publishes prebuilt wheels up to cp312 (see
# https://pypi.org/project/psycopg-binary/3.2.1/#files) — installing this
# under Python 3.13+ falls back to a source build (needs libpq headers) or
# just fails to resolve. Match the python:3.12-slim runtime everywhere
# (venv, CI, prod image) and this pin installs from wheel with no build
# toolchain needed. See docs/agents/testing.md.
psycopg[binary]==3.2.1
waitress==3.0.0
PyJWT[crypto]==2.9.0
# python:3.12-slim has no system IANA tz database; zoneinfo (used by
# availability.py for Europe/Berlin) falls back to this package for it.
tzdata==2024.1