2026-07-24 12:36:09 +08:00
|
|
|
# Web framework
|
2026-07-31 23:35:45 +08:00
|
|
|
Flask>=3.0.0
|
|
|
|
|
Flask-CORS>=4.0.0
|
|
|
|
|
gunicorn>=21.2.0
|
|
|
|
|
gevent>=23.9.1
|
|
|
|
|
gevent-websocket>=0.10.1
|
2026-07-02 23:13:23 +08:00
|
|
|
|
2026-07-24 12:36:09 +08:00
|
|
|
# Database
|
2026-07-31 23:35:45 +08:00
|
|
|
SQLAlchemy>=2.0.23
|
|
|
|
|
Flask-SQLAlchemy>=3.1.1
|
|
|
|
|
psycopg2-binary>=2.9.9
|
|
|
|
|
alembic>=1.13.0
|
2026-07-02 23:13:23 +08:00
|
|
|
|
2026-07-24 12:36:09 +08:00
|
|
|
# Cache
|
2026-07-31 23:35:45 +08:00
|
|
|
redis>=5.0.1
|
2026-07-02 23:13:23 +08:00
|
|
|
|
2026-07-24 12:36:09 +08:00
|
|
|
# Auth
|
2026-07-31 23:35:45 +08:00
|
|
|
PyJWT>=2.8.0
|
|
|
|
|
bcrypt>=4.1.2
|
2026-07-02 23:13:23 +08:00
|
|
|
|
2026-07-24 12:36:09 +08:00
|
|
|
# HTTP client
|
2026-07-31 23:35:45 +08:00
|
|
|
requests>=2.31.0
|
|
|
|
|
httpx>=0.25.2
|
2026-07-02 23:13:23 +08:00
|
|
|
|
2026-07-24 12:36:09 +08:00
|
|
|
# Utils
|
2026-07-31 23:35:45 +08:00
|
|
|
python-dotenv>=1.0.0
|
|
|
|
|
pydantic>=2.5.0
|
|
|
|
|
pydantic-settings>=2.1.0
|
2026-07-02 23:13:23 +08:00
|
|
|
|
2026-07-24 12:36:09 +08:00
|
|
|
# Logging
|
2026-07-31 23:35:45 +08:00
|
|
|
loguru>=0.7.2
|
2026-07-24 16:36:52 +08:00
|
|
|
|
|
|
|
|
# PDF parsing (required for PPT extraction)
|
|
|
|
|
PyMuPDF>=1.23.0
|
|
|
|
|
PyPDF2>=3.0.0
|
|
|
|
|
pypdf>=3.0.0
|
|
|
|
|
pdfplumber>=0.9.0
|
2026-07-27 13:21:34 +08:00
|
|
|
|
|
|
|
|
# PPT generation (required for fast_pptx_renderer)
|
|
|
|
|
python-pptx>=0.6.23
|
|
|
|
|
|
|
|
|
|
# Image generation (required for poster AI image and fallback)
|
|
|
|
|
openai>=1.6.0
|
|
|
|
|
Pillow>=10.0.0
|