pyswisseph
fastapi
uvicorn[standard]
python-multipart
cairosvg

# MySQL backend. Only used when BHRAMM_DB_URL is set — the laptop runs on
# SQLite and needs neither of these, but installing them is harmless.
# cryptography is required by PyMySQL to speak MySQL 8's default
# caching_sha2_password auth; without it the connection fails with
# "cryptography is required for sha256_password or caching_sha2_password".
PyMySQL
cryptography
