altair<5.0.0,>=4.2.1
Click<=8.1.3,>=7.1.2
colorama>=0.4.3
cryptography>=3.2
Ipython>=7.16.3
ipywidgets>=7.5.1
jinja2>=2.10
jsonpatch>=1.22
jsonschema>=2.5.1
makefun<2,>=1.7.0
marshmallow<4.0.0,>=3.7.1
mistune>=0.8.4
nbformat>=5.0
notebook>=6.4.10
packaging
pydantic<2.0,>=1.9.2
pyparsing>=2.4
python-dateutil>=2.8.1
pytz>=2021.3
requests>=2.20
ruamel.yaml<0.17.18,>=0.16
scipy>=1.6.0
tqdm>=4.59.0
typing-extensions>=3.10.0.0
tzlocal>=1.2
urllib3>=1.26

[:python_version <= "3.8"]
pandas>=1.1.0

[:python_version == "3.8"]
numpy>=1.20.3

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

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

[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
sqlalchemy-bigquery>=1.3.0
sqlalchemy<2.0.0

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

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

[clickhouse]
clickhouse-sqlalchemy>=0.2.2
sqlalchemy<2.0.0

[cloud]
pika==1.3.1

[databricks]
databricks-sql-connector>=2.0.0
sqlalchemy-databricks>=0.2.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
sqlalchemy-bigquery>=1.3.0
sqlalchemy<2.0.0

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

[gcp:python_version >= "3.11"]
google-cloud-storage>=2.10.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<0.10,>=0.9.3
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.2.3
sqlalchemy<2.0.0

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

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

[spark]
pyspark>=2.3.2

[teradata]
teradatasqlalchemy==17.0.0.5
sqlalchemy<2.0.0

[test]
boto3>=1.17.106
flask>=1.0.0
freezegun>=0.3.15
ipykernel<=6.17.1
moto<3.0.0,>=2.0.0
nbconvert>=5
pyfakefs>=4.5.1
pytest>=6.2.0
pytest-benchmark>=3.4.1
pytest-cov>=2.8.1
pytest-icdiff>=0.6
pytest-mock>=3.8.2
pytest-order>=0.9.5
pytest-random-order>=1.0.4
pytest-timeout>=2.1.0
pytest-xdist>=3.3.1
requirements-parser>=0.2.0
responses>=0.23.1
snapshottest==0.6.0
sqlalchemy>=1.4.0
adr-tools-python==1.0.3
black[jupyter]==23.3.0
invoke>=2.0.0
mypy==1.4.1
pre-commit>=2.21.0
ruff==0.0.280
tomli>=2.0.1
docstring-parser==0.15
pika==1.3.1
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
