backoff>=1.8.0
celery<6.0.0,>=5.3.6
click>=8.0.3
click-option-group
colorama
croniter>=0.3.28
cron-descriptor
cryptography<43.0.0,>=42.0.4
deprecation<2.2.0,>=2.1.0
flask<3.0.0,>=2.2.5
flask-appbuilder<5.0.0,>=4.5.0
flask-caching<3,>=2.1.0
flask-compress<2.0,>=1.13
flask-talisman<2.0,>=1.0.0
flask-login<1.0,>=0.6.0
flask-migrate<4.0,>=3.1.0
flask-session<1.0,>=0.4.0
flask-wtf<2.0,>=1.1.0
func_timeout
geopy
hashids<2,>=1.3.1
holidays<0.26,>=0.25
humanize
importlib_metadata
isodate
jsonpath-ng<2,>=1.6.1
Mako>=1.2.2
markdown>=3.0
msgpack<1.1,>=1.0.0
nh3<0.3,>=0.2.11
numpy==1.23.5
packaging
pandas[performance]<2.1,>=2.0.3
parsedatetime
paramiko>=3.4.0
pgsanity
polyline<3.0,>=2.0.0
pyparsing<4,>=3.0.6
python-dateutil
python-dotenv
python-geohash
pyarrow<15,>=14.0.1
pyyaml<7.0.0,>=6.0.0
PyJWT<3.0,>=2.4.0
redis<5.0,>=4.6.0
selenium<4.10.0,>=3.141.0
shillelagh[gsheetsapi]<2.0,>=1.2.18
shortid
sshtunnel<0.5,>=0.4.0
simplejson>=3.15.0
slack_sdk<4,>=3.19.0
sqlalchemy<2,>=1.4
sqlalchemy-utils<0.39,>=0.38.3
sqlglot<26,>=25.24.0
sqlparse>=0.5.0
tabulate<0.9,>=0.8.9
typing-extensions<5,>=4
wtforms<4,>=2.3.3
wtforms-json
xlsxwriter<3.1,>=3.0.7

[:sys_platform != "win32"]
gunicorn>=22.0.0

[:sys_platform == "win32"]
waitress

[athena]
pyathena[pandas]<3,>=2

[aurora-data-api]
preset-sqlalchemy-aurora-data-api<0.3,>=0.2.8

[bigquery]
pandas-gbq>=0.19.1
sqlalchemy-bigquery>=1.6.1
google-cloud-bigquery>=3.10.0

[clickhouse]
clickhouse-connect<1.0,>=0.5.14

[cockroachdb]
cockroachdb<0.4,>=0.3.5

[cors]
flask-cors>=2.0.0

[crate]
crate[sqlalchemy]<0.27,>=0.26.0

[databend]
databend-sqlalchemy<1.0,>=0.3.2

[databricks]
databricks-sql-connector<3,>=2.0.2
sqlalchemy-databricks>=0.2.0

[db2]
ibm-db-sa<=0.4.0,>0.3.8

[development]
docker
flask-testing
freezegun
greenlet>=2.0.2
grpcio>=1.55.3
openapi-spec-validator
parameterized
pip-compile-multi
pre-commit
progress<2,>=1.5
pyfakefs
pyinstrument<5,>=4.0.2
pylint
pytest<8.0.0
pytest-cov
pytest-mock
python-ldap>=3.4.4
ruff
sqloxide
statsd
tox

[doris]
pydoris<2.0.0,>=1.0.0

[dremio]
sqlalchemy-dremio<1.3,>=1.1.5

[drill]
sqlalchemy-drill<2,>=1.1.4

[druid]
pydruid<0.7,>=0.6.5

[duckdb]
duckdb-engine<0.10,>=0.9.5

[dynamodb]
pydynamodb>=0.4.2

[elasticsearch]
elasticsearch-dbapi<0.3.0,>=0.2.9

[exasol]
sqlalchemy-exasol<3.0,>=2.4.0

[excel]
xlrd<1.3,>=1.2.0

[firebird]
sqlalchemy-firebird<0.8,>=0.7.0

[firebolt]
firebolt-sqlalchemy<2,>=1.0.0

[gevent]
gevent>=23.9.1

[gsheets]
shillelagh[gsheetsapi]<2,>=1.2.18

[hana]
hdbcli==2.4.162
sqlalchemy_hana==0.4.0

[hive]
boto3
pyhive[hive_pure_sasl]>=0.7.0
tableschema
thrift<1.0.0,>=0.14.1
thrift_sasl<1.0.0,>=0.4.3

[hive:python_version < "3.11"]
pyhive[hive]>=0.6.5

[impala]
impyla<0.17,>0.16.2

[kusto]
sqlalchemy-kusto<3,>=2.0.0

[kylin]
kylinpy<2.9,>=2.8.1

[mssql]
pymssql<3,>=2.2.8

[mysql]
mysqlclient<3,>=2.1.0

[netezza]
nzalchemy>=11.0.2

[oceanbase]
oceanbase_py>=0.0.1

[ocient]
sqlalchemy-ocient>=1.0.0
pyocient<2,>=1.0.15
shapely
geojson

[oracle]
cx-Oracle<8.1,>8.0.0

[pinot]
pinotdb<6.0.0,>=5.0.0

[playwright]
playwright<2,>=1.37.0

[postgres]
psycopg2-binary==2.9.6

[presto]
pyhive[presto]>=0.6.5

[prophet]
prophet<2,>=1.1.5

[redshift]
sqlalchemy-redshift<0.9,>=0.8.1

[rockset]
rockset-sqlalchemy<1,>=0.0.1

[shillelagh]
shillelagh[all]<2,>=1.2.18

[snowflake]
snowflake-sqlalchemy<2,>=1.2.4

[solr]
sqlalchemy-solr>=0.2.0

[spark]
pyhive[hive_pure_sasl]>=0.7
tableschema
thrift<1,>=0.14.1

[spark:python_version < "3.11"]
pyhive[hive]>=0.6.5

[starrocks]
starrocks>=1.0.0

[teradata]
teradatasql>=16.20.0.23

[thumbnails]
Pillow<11,>=10.0.1

[trino]
boto3
trino>=0.328.0

[vertica]
sqlalchemy-vertica-python<0.6,>=0.5.9
