Flask>=1.0.2
Flask-Login>=0.4.1
Flask-Mail>=0.9.1
Flask-Principal>=0.4.0
Flask-WTF>=0.14.2
Flask-BabelEx>=0.9.3
itsdangerous>=1.1.0
passlib>=1.7.1

[all]
Pallets-Sphinx-Themes>=1.2.0
Sphinx>=1.8.5
sphinx-issues>=1.2.0
Flask-Mongoengine>=0.9.5
peewee>=3.11.2
Flask-SQLAlchemy>=2.3
argon2_cffi>=19.1.0
bcrypt>=3.1.5
cachetools>=3.1.0
check-manifest>=0.25
coverage>=4.5.4
cryptography>=2.3.1
isort>=4.2.2
mock>=1.3.0
mongoengine>=0.15.3
mongomock>=3.14.0
msgcheck>=2.9
pony>=0.7.11
psycopg2>=2.8.4
pydocstyle>=1.0.0
pymysql>=0.9.3
pyqrcode>=1.2
pytest-black>=0.3.7
pytest-cache>=1.0
pytest-cov>=2.5.1
pytest-flake8>=1.0.4
pytest-mongo>=1.2.1
pytest>=3.5.1
sqlalchemy>=1.2.6
sqlalchemy-utils>=0.33.0
werkzeug>=0.15.5
Pallets-Sphinx-Themes>=1.2.0
Sphinx>=1.8.5
sphinx-issues>=1.2.0
Flask-Mongoengine>=0.9.5
peewee>=3.11.2
Flask-SQLAlchemy>=2.3
argon2_cffi>=19.1.0
bcrypt>=3.1.5
cachetools>=3.1.0
check-manifest>=0.25
coverage>=4.5.4
cryptography>=2.3.1
isort>=4.2.2
mock>=1.3.0
mongoengine>=0.15.3
mongomock>=3.14.0
msgcheck>=2.9
pony>=0.7.11
psycopg2>=2.8.4
pydocstyle>=1.0.0
pymysql>=0.9.3
pyqrcode>=1.2
pytest-black>=0.3.7
pytest-cache>=1.0
pytest-cov>=2.5.1
pytest-flake8>=1.0.4
pytest-mongo>=1.2.1
pytest>=3.5.1
sqlalchemy>=1.2.6
sqlalchemy-utils>=0.33.0
werkzeug>=0.15.5

[docs]
Pallets-Sphinx-Themes>=1.2.0
Sphinx>=1.8.5
sphinx-issues>=1.2.0

[tests]
Flask-Mongoengine>=0.9.5
peewee>=3.11.2
Flask-SQLAlchemy>=2.3
argon2_cffi>=19.1.0
bcrypt>=3.1.5
cachetools>=3.1.0
check-manifest>=0.25
coverage>=4.5.4
cryptography>=2.3.1
isort>=4.2.2
mock>=1.3.0
mongoengine>=0.15.3
mongomock>=3.14.0
msgcheck>=2.9
pony>=0.7.11
psycopg2>=2.8.4
pydocstyle>=1.0.0
pymysql>=0.9.3
pyqrcode>=1.2
pytest-black>=0.3.7
pytest-cache>=1.0
pytest-cov>=2.5.1
pytest-flake8>=1.0.4
pytest-mongo>=1.2.1
pytest>=3.5.1
sqlalchemy>=1.2.6
sqlalchemy-utils>=0.33.0
werkzeug>=0.15.5
