45 lines
No EOL
728 B
Text
45 lines
No EOL
728 B
Text
# Flask and core extensions
|
|
Flask==2.3.3
|
|
flask-sqlalchemy==3.1.1
|
|
flask-migrate==4.0.5
|
|
flask-login==0.6.3
|
|
flask-limiter==3.5.0
|
|
flask-bcrypt==1.0.1
|
|
flask-wtf==1.2.1
|
|
ipaddress==1.0.23
|
|
gunicorn==21.2.0
|
|
Werkzeug==2.3.7
|
|
Jinja2==3.1.2
|
|
MarkupSafe==2.1.3
|
|
itsdangerous==2.1.2
|
|
# SQLAlchemy==2.0.23
|
|
WTForms==3.1.0
|
|
python-dotenv==1.0.0
|
|
markdown==3.5.1
|
|
|
|
# SQLAlchemy - use newer version for Python 3.13 compatibility
|
|
SQLAlchemy>=2.0.27
|
|
|
|
# Security
|
|
Flask-Bcrypt>=1.0.1
|
|
itsdangerous>=2.1.2
|
|
python-dotenv>=1.0.0
|
|
Flask-Limiter>=3.5.0
|
|
|
|
# Removed psycopg2-binary dependency
|
|
|
|
# Caching
|
|
redis>=5.0.1
|
|
|
|
# Utilities
|
|
requests>=2.31.0
|
|
markdown>=3.5.1
|
|
ipaddress>=1.0.23
|
|
gunicorn>=21.2.0
|
|
|
|
# WSGI
|
|
gunicorn==21.2.0
|
|
|
|
# Testing
|
|
pytest>=7.4.3
|
|
pytest-flask>=1.3.0 |