altair<5.0.0,>=4.2.1
cryptography>=3.2
jinja2>=3
jsonschema>=2.5.1
marshmallow<4.0.0,>=3.7.1
mistune>=0.8.4
packaging
posthog>3
pydantic>=1.10.7
pyparsing>=2.4
python-dateutil>=2.8.1
requests>=2.20
ruamel.yaml>=0.16
scipy>=1.6.0
tqdm>=4.59.0
typing-extensions>=4.1.0
tzlocal>=1.2

[:python_version == "3.9"]
numpy>=1.21.6
pandas<2.2,>=1.1.3

[:python_version >= "3.10"]
numpy>=1.22.4
pandas<2.2,>=1.3.0

[:python_version >= "3.12"]
numpy>=1.26.0
pandas<2.2

[arrow]
feather-format>=0.4.1
pyarrow

[athena]
pyathena[SQLAlchemy]<3,>=2.0.0
sqlalchemy>=1.4.0

[aws_secrets]
boto3>=1.17.106

[azure]
azure-identity>=1.10.0
azure-keyvault-secrets>=4.0.0
azure-storage-blob>=12.5.0

[azure_secrets]
azure-identity>=1.10.0
azure-keyvault-secrets>=4.0.0
azure-storage-blob>=12.5.0

[bigquery]
gcsfs>=0.5.1
google-cloud-bigquery>=3.3.6
google-cloud-bigquery-storage>=2.20.0
google-cloud-secret-manager>=1.0.0
pandas_gbq>=0.26.1
sqlalchemy-bigquery>=1.3.0
sqlalchemy>=1.4.0

[bigquery:python_version < "3.11"]
google-cloud-storage>=1.28.0

[bigquery:python_version >= "3.11"]
google-cloud-storage>=2.10.0

[clickhouse]
sqlalchemy<2.0.0

[clickhouse:python_version < "3.12"]
clickhouse-sqlalchemy>=0.2.2

[clickhouse:python_version >= "3.12"]
clickhouse-sqlalchemy>=0.3.0

[cloud]
orjson>=3.9.7

[databricks]
databricks-sqlalchemy>=1.0.0
sqlalchemy>=1.4.0

[dremio]
pyodbc>=4.0.30
sqlalchemy-dremio==1.2.1
sqlalchemy>=1.4.0

[excel]
openpyxl>=3.0.7
xlrd<2.0.0,>=1.1.0

[gcp]
gcsfs>=0.5.1
google-cloud-bigquery>=3.3.6
google-cloud-bigquery-storage>=2.20.0
google-cloud-secret-manager>=1.0.0
pandas_gbq>=0.26.1
sqlalchemy-bigquery>=1.3.0
sqlalchemy>=1.4.0

[gcp:python_version < "3.11"]
google-cloud-storage>=1.28.0

[gcp:python_version >= "3.11"]
google-cloud-storage>=2.10.0

[gx-redshift]
gx-sqlalchemy-redshift
psycopg2-binary>=2.7.6
sqlalchemy>=1.4.0

[hive]
PyHive>=0.6.5
thrift>=0.16.0
thrift-sasl>=0.4.3
sqlalchemy>=1.4.0

[mssql]
pyodbc>=4.0.30
sqlalchemy>=1.4.0

[mysql]
PyMySQL>=1.1.1
sqlalchemy>=1.4.0

[pagerduty]
pypd==1.1.0

[postgresql]
psycopg2-binary>=2.7.6
sqlalchemy>=1.4.0

[redshift]
psycopg2-binary>=2.7.6
sqlalchemy-redshift>=0.8.8
sqlalchemy<2.0.0

[s3]
boto3>=1.17.106

[snowflake]
snowflake-sqlalchemy!=1.7.0,>=1.2.3
sqlalchemy>=1.4.0

[snowflake:python_version < "3.11"]
snowflake-connector-python>=2.5.0

[snowflake:python_version >= "3.11"]
snowflake-connector-python>2.9.0

[snowflake:python_version >= "3.9"]
pandas<2.2.0

[spark]
pyspark<4.0,>=2.3.2

[spark-connect]
googleapis-common-protos>=1.56.4
grpcio>=1.48.1
grpcio-status>=1.48.1

[teradata]
teradatasqlalchemy==17.0.0.5
sqlalchemy<2.0.0

[test]
boto3>=1.17.106
coverage[toml]>=7.5.1
flaky>=3.7.0
flask>=1.0.0
freezegun>=0.3.15
moto[s3,sns]<5.0,>=4.2.13
pact-python>=2.0.1
pyfakefs>=4.5.1
pytest>=8.2.1
pytest-benchmark>=3.4.1
pytest-cov>=5.0.0
pytest-icdiff>=0.9.0
pytest-mock>=3.14.0
pytest-order>=1.2.1
pytest-random-order>=1.1.1
pytest-timeout>=2.3.1
pytest-xdist>=3.6.1
requirements-parser>=0.9.0
responses!=0.25.5,>=0.23.1
setuptools>=70.0.0
sqlalchemy>=1.4.0
adr-tools-python==1.0.3
invoke>=2.0.0
mypy==1.16.1
pre-commit>=2.21.0
ruff==0.12.7
tomli>=2.0.1
docstring-parser==0.16
feather-format>=0.4.1
pyarrow

[trino]
trino!=0.316.0,>=0.310.0
sqlalchemy>=1.4.0

[vertica]
sqlalchemy-vertica-python>=0.5.10
sqlalchemy>=1.4.0
