Some checks failed
- Fix MissingGreenlet: sync_engine now uses psycopg2 instead of asyncpg - Fix bcrypt/passlib compat: pin bcrypt<4.1 in requirements - Fix legacy password_hash NOT NULL: alter column to nullable in migration - Add frontend password validation (uppercase + lowercase + digit) - Add forgot-password and reset-password backend endpoints - Add forgot-password and reset-password frontend pages - Add email_service.py (SMTP via admin settings) - Add reset_token/reset_token_expires columns to User model - Migrate legacy JSON-only users to DB on password reset request - Mount data/ volume in docker-compose.local.yml for persistence - Add production deployment config (Dockerfile, nginx, deploy.sh) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
45 lines
708 B
Plaintext
45 lines
708 B
Plaintext
fastapi==0.109.0
|
|
uvicorn[standard]==0.27.0
|
|
python-multipart==0.0.9
|
|
openpyxl==3.1.2
|
|
python-docx==1.1.0
|
|
python-pptx==0.6.23
|
|
deep-translator==1.11.4
|
|
python-dotenv==1.0.0
|
|
pydantic==2.5.3
|
|
pydantic[email]==2.5.3
|
|
aiofiles==23.2.1
|
|
httpx>=0.27.0
|
|
Pillow==10.2.0
|
|
matplotlib==3.8.2
|
|
pandas==2.1.4
|
|
requests==2.31.0
|
|
ipykernel==6.27.1
|
|
openai>=1.0.0
|
|
|
|
psutil==5.9.8
|
|
python-magic>=0.4.27
|
|
# python-magic-bin==0.4.14 # Windows only - use python-magic on Linux/macOS
|
|
|
|
PyJWT==2.8.0
|
|
passlib[bcrypt]==1.7.4
|
|
bcrypt<4.1
|
|
stripe==7.0.0
|
|
|
|
redis==5.0.1
|
|
|
|
structlog>=24.1.0
|
|
|
|
sqlalchemy==2.0.25
|
|
alembic==1.13.1
|
|
|
|
aiosqlite>=0.19.0
|
|
asyncpg>=0.29.0
|
|
psycopg2-binary>=2.9.0
|
|
greenlet>=3.0.0
|
|
|
|
aiosmtplib>=3.0.0
|
|
|
|
pytest>=7.0.0
|
|
pytest-asyncio>=0.21.0
|