# Core 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>=24.6.1,<25.0.0;python_version>='3.12' pypdf>=6.0.0 pytz>=2016.10 requests>=2.32.0,<2.33.0 SQLAlchemy>=1.3.0,<2.1.0 tornado>=6.4.2,<6.6 Wand>=0.4.4,<0.7.0 unidecode>=0.04.19,<1.4.0 lxml>=4.9.1,<5.4.0 flask-wtf>=0.14.2,<1.3.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,<3.13.0 regex>=2022.3.2,<2025.3.20 bleach>=6.0.0,<6.3.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,<45.0.0 certifi>=2024.7.4 charset-normalizer>=3.3.2 idna>=3.7 requests>=2.32.4 tabulate>=0.9.0 urllib3>=2.5.0 qrcode>=8.1 polib>=1.2.0 # GDrive Integration google-api-python-client>=1.7.11,<2.200.0 gevent>20.6.0,<24.12.0 greenlet>=0.4.17,<3.2.0 httplib2>=0.9.2,<0.23.0 oauth2client>=4.0.0,<4.1.4 uritemplate>=3.0.0,<4.2.0 pyasn1-modules>=0.0.8,<0.7.0 pyasn1>=0.1.9,<0.7.0 PyDrive2>=1.3.1,<1.22.0 PyYAML>=3.12,<6.1 rsa>=3.4.2,<4.10.0 # Gmail google-auth-oauthlib>=0.4.3,<1.3.0 google-api-python-client>=1.7.11,<2.200.0 # goodreads goodreads>=0.3.2,<0.4.0 python-Levenshtein>=0.12.0,<0.28.0 # ldap login python-ldap>=3.0.0,<3.5.0 Flask-SimpleLDAP>=1.4.0,<2.1.0 # oauth Flask-Dance>=2.0.0,<7.2.0 SQLAlchemy-Utils>=0.33.5,<0.42.0 # metadata extraction rarfile>=3.2,<5.0 scholarly>=1.2.0,<1.8 markdown2>=2.0.0,<2.6.0 html2text>=2020.1.16,<2025.2.26 python-dateutil>=2.1,<2.10.0 beautifulsoup4>=4.0.1,<4.14.0 faust-cchardet>=2.1.18,<2.1.20 py7zr>=0.15.0,<0.21.0 mutagen>=1.40.0,<1.50.0 # Comics natsort>=2.2.0,<8.5.0 comicapi>=2.2.0,<3.3.0 # Kobo integration jsonschema>=3.2.0,<4.24.0 curl-cffi>=0.6.0,<0.7.0