bcrypt<4.1,>=4.0
boto3<2.0,>=1.26
chardet<5.2,>=5.1
click<9.0,>=8.0
configparser<5.4,>=5.3
jinja2<3.2,>=3.1
lxml<5.0,>=4.9
mimeparse>=0.1
mypy<1.3,>=1.2
openpyxl<4.0,>=3.1
pandas<3.0,>=2.0
paramiko<4.0,>=3.1
pycryptodome<4.0,>=3.17
pyftpdlib<2.0,>=1.5
pyopenssl<24.0,>=23.1
pyyaml<7.0,>=6.0
requests<3.0,>=2.28
requests-oauthlib<2.0,>=1.3
semantic-version<3.0,>=2.10
sqlalchemy<2.0,>=1.4
sshpubkeys<4.0,>=3.3
termcolor<3.0,>=2.2
webob<2.0,>=1.8
wsgitypes>=0.0.4
xlrd<3.0,>=2.0
zeep<5.0,>=4.2

[all]
mysqlclient<2.2,>=2.1
psycopg2-binary<3.0,>=2.9
pyodbc<5.0,>=4.0
sqlalchemy-pyodbc-mssql>=0.1
thrift<1.0,>=0.16
grpcio<1.49
grpcio-tools<1.49
selenium<5.0,>=4.8
pdf2image<2.0,>=1.16
pillow<10.0,>=9.5
psd-tools<2.0,>=1.9
cherrypy<19.0,>=18.8
gunicorn<21.0,>=20.0
werkzeug<3.0,>=2.2
sphinx<6.3,>=6.2
sphinx-rtd-theme<1.3,>=1.2
types-PyYAML<6.1,>=6.0.12
types-chardet<6.0,>=5.0.4
types-requests<3.0,>=2.29
types-termcolor<1.2,>=1.1.6
types-pytz>=2023.3
types-python-dateutil<3.0,>=2.8.19
types-protobuf<5.0,>=4.22
types-paramiko<4.0,>=3.0
types-oauthlib<4.0,>=3.2
types-openpyxl==3.0.0
types-urllib3<1.27
importchecker<3.0,>=2.0
black<24.0,>=23.3
twine<5.0,>=4.0

[browser]
selenium<5.0,>=4.8

[build]
sphinx<6.3,>=6.2
sphinx-rtd-theme<1.3,>=1.2
types-PyYAML<6.1,>=6.0.12
types-chardet<6.0,>=5.0.4
types-requests<3.0,>=2.29
types-termcolor<1.2,>=1.1.6
types-pytz>=2023.3
types-python-dateutil<3.0,>=2.8.19
types-protobuf<5.0,>=4.22
types-paramiko<4.0,>=3.0
types-oauthlib<4.0,>=3.2
types-openpyxl==3.0.0
types-urllib3<1.27
importchecker<3.0,>=2.0
black<24.0,>=23.3
twine<5.0,>=4.0

[cherrypy]
cherrypy<19.0,>=18.8

[grpc]
grpcio<1.49
grpcio-tools<1.49

[gunicorn]
gunicorn<21.0,>=20.0

[imaging]
pdf2image<2.0,>=1.16
pillow<10.0,>=9.5
psd-tools<2.0,>=1.9

[mssql]
pyodbc<5.0,>=4.0
sqlalchemy-pyodbc-mssql>=0.1

[mysql]
mysqlclient<2.2,>=2.1

[postgresql]
psycopg2-binary<3.0,>=2.9

[thrift]
thrift<1.0,>=0.16

[werkzeug]
werkzeug<3.0,>=2.2
