flask>=3.1.0
python-dotenv>=1.1.0
jinja2>=3.1.4
werkzeug>=3.1.0
click>=8.1.8
sqlalchemy>=2.0.36

[all]
alembic>=1.14.0
PyMySQL>=1.1.1
psycopg2-binary>=2.9.10
pgvector>=0.3.6
redis>=5.2.1
bcrypt>=4.2.1
pyjwt>=2.10.1
cryptography>=44.0.0
flask-session>=0.8.0
celery>=5.4.0
croniter>=5.0.1
apscheduler>=3.11.0
email-validator>=2.2.0
flask-cors>=5.0.0
flask-socketio>=5.5.1
boto3>=1.35.0
twilio>=9.4.0

[auth]
bcrypt>=4.2.1
pyjwt>=2.10.1
cryptography>=44.0.0

[dev]
pytest>=8.3.0
pytest-flask>=1.3.0
pytest-cov>=6.0.0
factory-boy>=3.3.1
faker>=33.0.0
flask-debugtoolbar>=0.16.0
watchdog>=6.0.0

[mysql]
PyMySQL>=1.1.1

[notifications]
twilio>=9.4.0

[postgresql]
psycopg2-binary>=2.9.10

[production]
gunicorn>=23.0.0
gevent>=24.11.0

[queue]
celery>=5.4.0
kombu>=5.4.2

[redis]
redis>=5.2.1
hiredis>=3.0.0

[storage]
boto3>=1.35.0
botocore>=1.35.0

[testing]
pytest>=8.3.0
pytest-flask>=1.3.0
factory-boy>=3.3.1
faker>=33.0.0

[vector]
pgvector>=0.3.6
psycopg2-binary>=2.9.10

[websocket]
flask-socketio>=5.5.1
python-socketio>=5.11.0
eventlet>=0.38.0
