astor
click
croniter
duckdb!=0.10.3
dateparser
freezegun
hyperscript>=0.1.0
ipywidgets
jinja2
pandas
pydantic
requests
rich[jupyter]
ruamel.yaml
sqlglot[rs]~=26.0.1
tenacity

[:python_version < "3.12"]
importlib-metadata

[:python_version >= "3.12"]
setuptools

[athena]
PyAthena[Pandas]

[azuresql]
pymssql

[bigquery]
google-cloud-bigquery[pandas]
google-cloud-bigquery-storage

[cicdtest]
dbt-athena-community
dbt-clickhouse
dbt-databricks
dbt-redshift
dbt-sqlserver>=1.7.0
dbt-trino

[clickhouse]
clickhouse-connect

[cube]
openai>=1.0.0
pydantic>=2.0.0
python-dotenv>=1.0.0

[databricks]
databricks-sql-connector

[dbt]
dbt-core<2

[dev]
agate==1.7.1
apache-airflow==2.9.1
opentelemetry-proto==1.27.0
beautifulsoup4
clickhouse-connect
cryptography~=42.0.4
custom-materializations
databricks-sql-connector
dbt-bigquery
dbt-core
dbt-duckdb>=1.7.1
dbt-snowflake
Faker
google-auth
google-cloud-bigquery
google-cloud-bigquery-storage
mypy~=1.13.0
pandas-stubs
pre-commit
psycopg2-binary
pydantic<2.6.0
PyAthena[Pandas]
PyGithub
pyspark~=3.5.0
pytest
pytest-asyncio<0.23.0
pytest-mock
pytest-retry
pytest-xdist
pytz
ruff~=0.7.0
snowflake-connector-python[pandas,secure-local-storage]>=3.0.2
sqlalchemy-stubs
time-machine
types-croniter
types-dateparser
types-python-dateutil
types-pytz
types-requests==2.28.8
typing-extensions

[dlt]
dlt

[gcppostgres]
cloud-sql-python-connector[pg8000]

[github]
PyGithub

[llm]
langchain
openai

[mssql]
pymssql

[mwaa]
boto3

[mysql]
mysql-connector-python

[postgres]
psycopg2

[redshift]
redshift_connector

[slack]
slack_sdk

[snowflake]
cryptography~=42.0.4
snowflake-connector-python[pandas,secure-local-storage]

[snowflake:python_version < "3.12"]
snowflake-snowpark-python

[trino]
trino

[web]
fastapi==0.115.5
watchfiles>=0.19.0
uvicorn[standard]==0.22.0
sse-starlette>=0.2.2
pyarrow
