Flask>=2.3.2
Flask-Login>=0.6.2
Flask-Principal>=0.4.0
Flask-WTF>=1.1.2
email-validator>=2.0.0
markupsafe>=2.1.0
passlib>=1.7.4
wtforms>=3.0.0
importlib_resources>=5.10.0

[babel]
babel>=2.12.1
flask_babel>=3.1.0

[common]
bcrypt>=4.0.1
flask_mailman>=0.3.0
bleach>=6.0.0

[fsqla]
flask_sqlalchemy>=3.0.3
sqlalchemy>=2.0.12
sqlalchemy-utils>=0.41.1

[low]
Flask==2.3.2
Flask-SQLAlchemy==3.0.3
Flask-Babel==3.1.0
Flask-Mailman==0.3.0
Flask-Login==0.6.2
Flask-WTF==1.1.2
peewee==3.16.2
argon2_cffi==21.3.0
authlib==1.2.0
babel==2.12.1
bcrypt==4.0.1
bleach==6.0.0
python-dateutil==2.8.2
jinja2==3.1.2
itsdangerous==2.1.2
markupsafe==2.1.2
mongoengine==0.27.0
mongomock==4.1.2
phonenumberslite==8.13.11
pydantic<2.0
qrcode==7.4.2
requests
sqlalchemy==2.0.12
sqlalchemy-utils==0.41.1
webauthn==1.11.0
werkzeug==2.3.3
zxcvbn==4.4.28

[low:python_version < "3.11"]
pony==0.7.16

[mfa]
cryptography>=40.0.2
qrcode>=7.4.2
phonenumberslite>=8.13.11
webauthn>=1.11.0
