APScheduler>=3.6.3,<3.12.0
Babel>=1.3,<3.0
Flask-Babel>=3.0.0,<4.1.0
Flask-Principal>=0.3.2,<0.5.1
Flask>=1.0.2,<3.2.0
iso-639>=0.4.5,<0.5.0;python_version<'3.12'
pycountry>=20.0.0,<27.0.0;python_version>='3.12'
PyPDF>=6.1.3,<6.11.0
pytz>=2016.10
requests>=2.32.0,<2.35.0
SQLAlchemy>=1.3.0,<2.1.0
tornado>=6.4.2,<6.6
Wand>=0.4.4,<0.8.0
unidecode>=0.04.19,<1.5.0
lxml>=4.9.1,<6.2.0
flask-wtf>=0.14.2,<1.4.0
chardet>=3.0.0,<5.3.0
netifaces-plus>=0.12.0,<0.13.0
urllib3>=1.22,<3.0
Flask-Limiter>=2.3.0,<4.2.0
regex>=2022.3.2,<2026.1.16
nh3>=0.3.0,<0.4.0
python-magic>=0.4.27,<0.5.0
python-magic-bin>=0.4.0,<0.5.0;sys_platform=='win32'
flask-httpAuth>=4.4.0,<5.0.0
cryptography>=39.0.0,<48.0.0
certifi>=2024.7.4,<2026.5.21
