altair<4.2.1,>=4.0.0
Click>=7.1.2
colorama>=0.4.3
cryptography>=3.2
importlib-metadata>=1.7.0
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>=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>=0.19.0
tqdm>=4.59.0
typing-extensions>=3.10.0.0
tzlocal>=1.2
urllib3<1.27,>=1.25.4

[:python_version <= "3.7"]
numpy>=1.18.5

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

[:python_version == "3.8" or python_version == "3.9"]
numpy>=1.19.5

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

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

[arrow]
feather-format>=0.4.1
pyarrow

[athena]
pyathena>=1.11
sqlalchemy<2.0.0,>=1.3.18

[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-secret-manager>=1.0.0
google-cloud-storage>=1.28.0
sqlalchemy-bigquery>=1.3.0
sqlalchemy<2.0.0,>=1.3.18

[dev]
PyHive>=0.6.5
PyMySQL<0.10,>=0.9.3
azure-identity>=1.10.0
azure-keyvault-secrets>=4.0.0
azure-storage-blob>=12.5.0
black[jupyter]==22.3.0
boto3==1.17.106
docstring-parser==0.15
feather-format>=0.4.1
flask>=1.0.0
freezegun>=0.3.15
gcsfs>=0.5.1
google-cloud-bigquery>=3.3.6
google-cloud-secret-manager>=1.0.0
google-cloud-storage>=1.28.0
invoke>=2.0.0
ipykernel<=6.17.1
mock-alchemy>=0.2.5
moto<3.0.0,>=2.0.0
mypy==1.0.0
nbconvert>=5
openpyxl>=3.0.7
pre-commit>=2.21.0
psycopg2-binary>=2.7.6
pyarrow
pyathena>=1.11
pyfakefs>=4.5.1
pyodbc>=4.0.30
pypd==1.1.0
pyspark>=2.3.2
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>=6.2.0
requirements-parser>=0.2.0
ruff==0.0.246
s3fs>=0.5.1
snapshottest==0.6.0
snowflake-connector-python>=2.5.0
snowflake-sqlalchemy>=1.2.3
sqlalchemy-bigquery>=1.3.0
sqlalchemy-dremio==1.2.1
sqlalchemy-redshift>=0.8.8
sqlalchemy-vertica-python>=0.5.10
sqlalchemy<2.0.0,>=1.3.18
teradatasqlalchemy==17.0.0.1
thrift-sasl>=0.4.3
thrift>=0.16.0
trino!=0.316.0,>=0.310.0
xlrd<2.0.0,>=1.1.0

[dremio]
pyarrow
pyodbc>=4.0.30
sqlalchemy-dremio==1.2.1
sqlalchemy<2.0.0,>=1.3.18

[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-secret-manager>=1.0.0
google-cloud-storage>=1.28.0
sqlalchemy-bigquery>=1.3.0
sqlalchemy<2.0.0,>=1.3.18

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

[mssql]
pyodbc>=4.0.30
sqlalchemy<2.0.0,>=1.3.18

[mysql]
PyMySQL<0.10,>=0.9.3
sqlalchemy<2.0.0,>=1.3.18

[pagerduty]
pypd==1.1.0

[postgresql]
psycopg2-binary>=2.7.6
sqlalchemy<2.0.0,>=1.3.18

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

[s3]
boto3==1.17.106

[snowflake]
snowflake-connector-python>=2.5.0
snowflake-sqlalchemy>=1.2.3
sqlalchemy<2.0.0,>=1.3.18

[spark]
pyspark>=2.3.2

[sqlalchemy]
sqlalchemy<2.0.0,>=1.3.18

[teradata]
teradatasqlalchemy==17.0.0.1
sqlalchemy<2.0.0,>=1.3.18

[test]
boto3==1.17.106
flask>=1.0.0
freezegun>=0.3.15
ipykernel<=6.17.1
mock-alchemy>=0.2.5
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
requirements-parser>=0.2.0
s3fs>=0.5.1
snapshottest==0.6.0
sqlalchemy<2.0.0,>=1.3.18
black[jupyter]==22.3.0
invoke>=2.0.0
mypy==1.0.0
pre-commit>=2.21.0
ruff==0.0.246
docstring-parser==0.15

[trino]
trino!=0.316.0,>=0.310.0
sqlalchemy<2.0.0,>=1.3.18

[vertica]
sqlalchemy-vertica-python>=0.5.10
sqlalchemy<2.0.0,>=1.3.18
