email-validator>=2.0
PyYAML~=6.0
importlib-metadata>=4.13.0
python-dateutil>=2.8.1
tenacity<10,>=8.0
azure-keyvault-secrets
mypy_extensions>=0.4.3
idna>=3.15
pydantic-settings>=2.14.2,~=2.0
cachetools
collate-sqllineage==2.1.8
google-cloud-secret-manager==2.24.0
jsonpatch<2.0,>=1.24
collate-data-diff>=0.11.18
chardet==4.0.0
jaraco.context>=6.1.0
google-crc32c
memory-profiler
sqlalchemy<2.1,>=2.0.0
kubernetes<36,>=21.0.0
dbt-extractor>=0.5.0
requests-aws4auth~=1.1
setuptools>=83
tabulate==0.9.0
pydantic<3,>=2.12.5
shapely
cached-property==1.5.2
PyJWT>=2.15.0
pymysql~=1.0
python-dotenv>=0.19.0
azure-identity~=1.12
requests>=2.33.0
boto3<2,>=1.43.101
cryptography>=48.0.1
antlr4-python3-runtime==4.9.2
Mako>=1.3.12
certifi>=2026.10.19
lxml>=6.1.0
Jinja2>=3.1.6
urllib3>=2.8.0
httpx~=0.28.0
packaging
typing-inspect
mistune>=3.3.3
jaraco.functools<4.2.0

[airflow]
apache-airflow-providers-opensearch>=1.9.1
attrs
Werkzeug>=3.0.6
pygtrie<2.6
apache-airflow-providers-http>=6.0.0
apache-airflow-providers-elasticsearch>=6.5.3
tornado>=6.5.9
starlette>=0.49.1
opentelemetry-exporter-otlp==1.45.1
python-multipart>=0.0.31
apache-airflow==3.3.2

[all]
snowflake-sqlalchemy>=1.11.0
sqlalchemy_exasol<8,>=7.1.1
pydruid>=0.6.5
collate-data-diff[vertica]
gitpython>=3.2.1
collate-data-diff[snowflake]
looker-sdk!=24.18.0,>=22.20.0
mypy_extensions>=0.4.3
pyathena~=3.35.4
tableauserverclient==0.40
azure-storage-blob~=12.14
collate-data-diff>=0.11.18
python-liquid
nats-py[nkeys]<3.0.0,>=2.7.0
protobuf>=5.29.6
pydantic<3,>=2.12.5
azure-storage-blob
shapely
cached-property==1.5.2
lkml~=1.3
collate-data-diff[mssql]
pyasn1>=0.6.3
google-api-python-client>=2.0.0
collate-data-diff[trino]
boto3<2,>=1.43.101
cryptography>=48.0.1
msal~=1.2
thrift<1,>=0.25.0
authlib>=1.6.9
certifi>=2026.10.19
presto-types-parser>=0.0.2
pymssql~=2.3.9
websocket-client~=1.6.1
pandas<3,>=2.2.2
urllib3>=2.8.0
mistune>=3.3.3
email-validator>=2.0
databend-sqlalchemy==0.5.5
giturlparse
pydoris==1.2.0
oracledb<4,>=3.4.2
dagster_graphql>=1.8.0
idna>=3.15
sqlalchemy-pytds~=1.0
snowflake-connector-python<5,>=4.7.3
cachetools
neo4j~=5.7
google-crc32c
google-cloud
kubernetes<36,>=21.0.0
dbt-extractor>=0.5.0
ijson~=3.4
py7zr~=1.1.3
tabulate==0.9.0
simple_salesforce~=1.11
pymysql~=1.0
teradatasql>=20.0.0.72
google-cloud-bigtable>=2.0.0
aiobotocore~=3.9.2
databend-driver==0.33.7
kafka-connect-py==0.10.11
requests>=2.33.0
pure-transport==0.2.0
cramjam~=2.7
lxml>=6.1.0
pyodbc~=5.3.0
typing-inspect
jaraco.functools<4.2.0
cloud-sql-python-connector[pymysql]<2.0.0,>=1.0.0
databricks-sqlalchemy~=2.0.9
PyYAML~=6.0
spacy<3.9,>=3.8.2
importlib-metadata>=4.13.0
python-dateutil>=2.8.1
fastavro>=1.2.0
GeoAlchemy2~=0.12
opensearch-py~=2.4.0
preshed<3.0.14
adlfs>=2023.1.0
pyarrow<26,>=23.0.1
sqlalchemy-redshift~=1.0.0
trino[sqlalchemy]
google-cloud-monitoring>=2.0.0
google-cloud-secret-manager==2.24.0
jsonpatch<2.0,>=1.24
jaraco.context>=6.1.0
chardet==4.0.0
collate-dbt-artifacts-parser
memory-profiler
clickzetta-connector==1.0.30
requests-aws4auth~=1.1
setuptools>=83
ndg-httpsclient~=0.5.1
elasticsearch<9,>=8.19.3
couchbase~=4.1
avro<1.12,>=1.11.4
grpcio-tools>=1.47.2
impyla[kerberos]~=0.24.0
pinotdb~=5.0
s3fs~=2026.3
sqlalchemy-cockroachdb~=2.0
sqlalchemy-vertica[vertica-python]<1.0,>=0.0.5
clickhouse-sqlalchemy>=0.3
rarfile~=4.2
collate-data-diff[clickhouse]
asammdf<8.8,>=8.2
sqlalchemy-hana
google-cloud-storage>=1.43.0
google-cloud-logging
collate-data-diff[presto]
Jinja2>=3.1.6
psycopg2-binary
packaging
clickzetta-sqlalchemy==0.8.65.4
teradatasqlalchemy==20.0.0.9
PyJWT>=2.15.0
paramiko<6,>=3.5
gcsfs~=2026.3
sqlalchemy-bigquery>=1.15.0
databricks-sql-connector>=4.7.0
pydomo~=0.3
cassandra-driver>=3.28.0
iomete-sqlalchemy>=1.0.22
pure-sasl
tenacity<10,>=8.0
azure-keyvault-secrets
canmatrix<1.3
numpy<3,>=2
pydantic-settings>=2.14.2,~=2.0
collate-sqllineage==2.1.8
pyOpenSSL>=26.0.0
sqlalchemy<2.1,>=2.0.0
hdbcli
collate-data-diff[oracle]
python-dotenv>=0.19.0
Brotli>=1.2.1
google-cloud-datacatalog>=3.6.2
azure-identity~=1.12
confluent_kafka[schemaregistry]<3,>=2.15.0
impyla~=0.24.0
antlr4-python3-runtime==4.9.2
Mako>=1.3.12
google-cloud-pubsub>=2.0.0
sqlalchemy-pgspider
pymongo<5,>=4.18.2
mlflow-skinny<3.15,>=3.13.0
requests-ntlm
collate-data-diff[mysql]
clickhouse-driver~=0.2
databricks-sdk~=0.20.0
httpx~=0.28.0
thrift-sasl~=0.4
validators~=0.22.0
scikit-learn<2,>=1.4.2
presidio-analyzer==2.2.358
pyhive[hive_pure_sasl]~=0.7

[all-dev-env]
snowflake-sqlalchemy>=1.11.0
sqlalchemy_exasol<8,>=7.1.1
pydruid>=0.6.5
collate-data-diff[vertica]
gitpython>=3.2.1
collate-data-diff[snowflake]
looker-sdk!=24.18.0,>=22.20.0
mypy_extensions>=0.4.3
pyathena~=3.35.4
tableauserverclient==0.40
azure-storage-blob~=12.14
collate-data-diff>=0.11.18
python-liquid
nats-py[nkeys]<3.0.0,>=2.7.0
protobuf>=5.29.6
pydantic<3,>=2.12.5
azure-storage-blob
shapely
cached-property==1.5.2
lkml~=1.3
collate-data-diff[mssql]
pyasn1>=0.6.3
google-api-python-client>=2.0.0
collate-data-diff[trino]
boto3<2,>=1.43.101
cryptography>=48.0.1
msal~=1.2
thrift<1,>=0.25.0
authlib>=1.6.9
certifi>=2026.10.19
presto-types-parser>=0.0.2
websocket-client~=1.6.1
pandas<3,>=2.2.2
urllib3>=2.8.0
mistune>=3.3.3
email-validator>=2.0
databend-sqlalchemy==0.5.5
giturlparse
pydoris==1.2.0
oracledb<4,>=3.4.2
dagster_graphql>=1.8.0
idna>=3.15
sqlalchemy-pytds~=1.0
snowflake-connector-python<5,>=4.7.3
cachetools
neo4j~=5.7
google-crc32c
google-cloud
kubernetes<36,>=21.0.0
dbt-extractor>=0.5.0
ijson~=3.4
py7zr~=1.1.3
tabulate==0.9.0
simple_salesforce~=1.11
pymysql~=1.0
teradatasql>=20.0.0.72
google-cloud-bigtable>=2.0.0
aiobotocore~=3.9.2
databend-driver==0.33.7
kafka-connect-py==0.10.11
requests>=2.33.0
pure-transport==0.2.0
cramjam~=2.7
lxml>=6.1.0
pyodbc~=5.3.0
typing-inspect
jaraco.functools<4.2.0
cloud-sql-python-connector[pymysql]<2.0.0,>=1.0.0
databricks-sqlalchemy~=2.0.9
PyYAML~=6.0
spacy<3.9,>=3.8.2
importlib-metadata>=4.13.0
python-dateutil>=2.8.1
fastavro>=1.2.0
GeoAlchemy2~=0.12
opensearch-py~=2.4.0
preshed<3.0.14
adlfs>=2023.1.0
pyarrow<26,>=23.0.1
sqlalchemy-redshift~=1.0.0
trino[sqlalchemy]
google-cloud-monitoring>=2.0.0
google-cloud-secret-manager==2.24.0
jsonpatch<2.0,>=1.24
jaraco.context>=6.1.0
chardet==4.0.0
collate-dbt-artifacts-parser
memory-profiler
clickzetta-connector==1.0.30
requests-aws4auth~=1.1
setuptools>=83
ndg-httpsclient~=0.5.1
elasticsearch<9,>=8.19.3
couchbase~=4.1
avro<1.12,>=1.11.4
grpcio-tools>=1.47.2
impyla[kerberos]~=0.24.0
pinotdb~=5.0
s3fs~=2026.3
sqlalchemy-cockroachdb~=2.0
sqlalchemy-vertica[vertica-python]<1.0,>=0.0.5
clickhouse-sqlalchemy>=0.3
rarfile~=4.2
collate-data-diff[clickhouse]
asammdf<8.8,>=8.2
sqlalchemy-hana
google-cloud-storage>=1.43.0
google-cloud-logging
collate-data-diff[presto]
Jinja2>=3.1.6
psycopg2-binary
packaging
clickzetta-sqlalchemy==0.8.65.4
teradatasqlalchemy==20.0.0.9
PyJWT>=2.15.0
paramiko<6,>=3.5
gcsfs~=2026.3
sqlalchemy-bigquery>=1.15.0
databricks-sql-connector>=4.7.0
pydomo~=0.3
cassandra-driver>=3.28.0
iomete-sqlalchemy>=1.0.22
pure-sasl
tenacity<10,>=8.0
azure-keyvault-secrets
canmatrix<1.3
numpy<3,>=2
pydantic-settings>=2.14.2,~=2.0
collate-sqllineage==2.1.8
pyOpenSSL>=26.0.0
sqlalchemy<2.1,>=2.0.0
hdbcli
collate-data-diff[oracle]
python-dotenv>=0.19.0
Brotli>=1.2.1
google-cloud-datacatalog>=3.6.2
azure-identity~=1.12
confluent_kafka[schemaregistry]<3,>=2.15.0
impyla~=0.24.0
antlr4-python3-runtime==4.9.2
Mako>=1.3.12
google-cloud-pubsub>=2.0.0
sqlalchemy-pgspider
pymongo<5,>=4.18.2
mlflow-skinny<3.15,>=3.13.0
requests-ntlm
collate-data-diff[mysql]
clickhouse-driver~=0.2
databricks-sdk~=0.20.0
httpx~=0.28.0
thrift-sasl~=0.4
validators~=0.22.0
scikit-learn<2,>=1.4.2
presidio-analyzer==2.2.358
pyhive[hive_pure_sasl]~=0.7

[all-dev-env:python_version < "3.11"]
adbc-driver-flightsql==1.12.0
adbc-driver-manager==1.12.0

[all-dev-env:python_version >= "3.11"]
adbc-driver-flightsql>=1.13.0
adbc-driver-manager>=1.13.0

[all:python_version < "3.11"]
adbc-driver-flightsql==1.12.0
adbc-driver-manager==1.12.0

[all:python_version >= "3.11"]
adbc-driver-flightsql>=1.13.0
adbc-driver-manager>=1.13.0

[amundsen]
neo4j~=5.7

[athena]
pyathena~=3.35.4

[atlas]

[azure-sso]
msal~=1.2

[azuresql]
pyodbc~=5.3.0

[backup]
boto3<2,>=1.43.101
azure-storage-blob
azure-identity~=1.12

[bigquery]
google-cloud-logging
pyarrow<26,>=23.0.1
sqlalchemy-bigquery>=1.15.0
google-cloud-datacatalog>=3.6.2
numpy<3,>=2

[bigtable]
google-cloud-bigtable>=2.0.0
pandas<3,>=2.2.2
numpy<3,>=2

[cassandra]
cassandra-driver>=3.28.0

[clickhouse]
clickhouse-driver~=0.2
collate-data-diff[clickhouse]
clickhouse-sqlalchemy>=0.3

[clickzetta]
clickzetta-sqlalchemy==0.8.65.4
clickzetta-connector==1.0.30

[cockroach]
sqlalchemy-cockroachdb~=2.0
psycopg2-binary

[couchbase]
couchbase~=4.1

[dagster]
dagster_graphql>=1.8.0
GeoAlchemy2~=0.12
pymysql~=1.0
psycopg2-binary

[data-insight]
elasticsearch<9,>=8.19.3

[data360]
authlib>=1.6.9
simple_salesforce~=1.11

[data360pipeline]
authlib>=1.6.9
simple_salesforce~=1.11

[databend]
databend-sqlalchemy==0.5.5
databend-driver==0.33.7

[databricks]
databricks-sql-connector>=4.7.0
databricks-sqlalchemy~=2.0.9
pyasn1>=0.6.3
databricks-sdk~=0.20.0
pyOpenSSL>=26.0.0
ndg-httpsclient~=0.5.1
thrift<1,>=0.25.0

[datalake-azure]
pyarrow<26,>=23.0.1
cramjam~=2.7
aiobotocore~=3.9.2
azure-storage-blob~=12.14
azure-identity~=1.12
pandas<3,>=2.2.2
boto3<2,>=1.43.101
ijson~=3.4
fastavro>=1.2.0
canmatrix<1.3
adlfs>=2023.1.0
asammdf<8.8,>=8.2
avro<1.12,>=1.11.4
numpy<3,>=2

[datalake-gcs]
pyarrow<26,>=23.0.1
cramjam~=2.7
aiobotocore~=3.9.2
google-cloud-monitoring>=2.0.0
numpy<3,>=2
avro<1.12,>=1.11.4
pandas<3,>=2.2.2
boto3<2,>=1.43.101
ijson~=3.4
fastavro>=1.2.0
canmatrix<1.3
asammdf<8.8,>=8.2
gcsfs~=2026.3
google-cloud-storage>=1.43.0

[datalake-s3]
pyarrow<26,>=23.0.1
cramjam~=2.7
aiobotocore~=3.9.2
s3fs~=2026.3
pandas<3,>=2.2.2
boto3<2,>=1.43.101
ijson~=3.4
fastavro>=1.2.0
canmatrix<1.3
asammdf<8.8,>=8.2
avro<1.12,>=1.11.4
numpy<3,>=2

[db2]
ibm-db-sa~=0.4.1
ibm-db>=3.2.6

[db2-ibmi]

[dbt]
azure-storage-blob~=12.14
azure-identity~=1.12
collate-dbt-artifacts-parser
boto3<2,>=1.43.101
google-cloud
google-cloud-storage>=1.43.0

[dev]
google-auth-stubs
sqlalchemy-bigquery>=1.15.0
uvloop==0.21.0
spacy<3.9,>=3.8.2
google-api-python-client-stubs
scipy-stubs
ruff~=0.15.12
import-linter~=2.13
preshed<3.0.14
boto3-stubs
types-requests
basedpyright==1.39.3
pre-commit
mypy-boto3-glue
presidio-analyzer==2.2.358
datamodel-code-generator==0.83.0
build
pandas-stubs~=2.2
nox
avro<1.12,>=1.11.4
grpcio-tools>=1.47.2
twine

[docs]
griffe2md~=1.2

[domo]
pydomo~=0.3

[doris]
pydoris==1.2.0

[druid]
pydruid>=0.6.5

[dynamodb]
boto3<2,>=1.43.101

[e2e_test]
pytest-playwright
luigi<=3.6.0,>=2.8.4
pytest-base-url
exasol-integration-test-docker-environment<7,>=6.0.0
sqlalchemy_exasol<8,>=7.1.1

[elasticsearch]
elasticsearch<9,>=8.19.3

[exasol]
sqlalchemy_exasol<8,>=7.1.1

[exasol-test]
luigi<=3.6.0,>=2.8.4
exasol-integration-test-docker-environment<7,>=6.0.0

[gcs]
pyarrow<26,>=23.0.1
Brotli>=1.2.1
py7zr~=1.1.3
rarfile~=4.2
pandas<3,>=2.2.2
google-cloud-storage>=1.43.0

[glue]
boto3<2,>=1.43.101

[googledrive]
google-api-python-client>=2.0.0

[great-expectations]
great-expectations~=1.3

[greenplum]
packaging
GeoAlchemy2~=0.12
pymysql~=1.0
psycopg2-binary

[hive]
presto-types-parser>=0.0.2
pure-sasl
impyla~=0.24.0
pure-transport==0.2.0
thrift-sasl~=0.4
thrift<1,>=0.25.0
pyhive[hive_pure_sasl]~=0.7

[impala]
impyla[kerberos]~=0.24.0
presto-types-parser>=0.0.2
pure-sasl
thrift-sasl~=0.4
thrift<1,>=0.25.0

[iomete]
iomete-sqlalchemy>=1.0.22

[iomete:python_version < "3.11"]
adbc-driver-manager==1.12.0
adbc-driver-flightsql==1.12.0

[iomete:python_version >= "3.11"]
adbc-driver-flightsql>=1.13.0
adbc-driver-manager>=1.13.0

[kafka]
fastavro>=1.2.0
protobuf>=5.29.6
confluent_kafka[schemaregistry]<3,>=2.15.0
avro<1.12,>=1.11.4
grpcio-tools>=1.47.2

[kafkaconnect]
kafka-connect-py==0.10.11

[kinesis]
boto3<2,>=1.43.101

[looker]
giturlparse
lkml~=1.3
python-liquid
gitpython>=3.2.1
looker-sdk!=24.18.0,>=22.20.0

[mlflow]
mlflow-skinny<3.15,>=3.13.0

[mongo]
pandas<3,>=2.2.2
pymongo<5,>=4.18.2
numpy<3,>=2

[mssql]
sqlalchemy-pytds~=1.0
collate-data-diff[mssql]

[mssql-odbc]
pyodbc~=5.3.0
collate-data-diff[mssql]

[mysql]
collate-data-diff[mysql]
cloud-sql-python-connector[pymysql]<2.0.0,>=1.0.0
pymysql~=1.0

[nats]
nats-py[nkeys]<3.0.0,>=2.7.0

[neo4j]
neo4j~=5.7

[nifi]

[openlineage]
fastavro>=1.2.0
protobuf>=5.29.6
confluent_kafka[schemaregistry]<3,>=2.15.0
avro<1.12,>=1.11.4
grpcio-tools>=1.47.2

[opensearch]
opensearch-py~=2.4.0

[oracle]
oracledb<4,>=3.4.2
collate-data-diff[oracle]

[pandas]
pandas<3,>=2.2.2
numpy<3,>=2

[pgspider]
sqlalchemy-pgspider
psycopg2-binary

[pii-processor]
spacy<3.9,>=3.8.2
pandas<3,>=2.2.2
preshed<3.0.14
presidio-analyzer==2.2.358
numpy<3,>=2

[pinotdb]
pinotdb~=5.0

[playwright]
snowflake-sqlalchemy>=1.11.0
cloud-sql-python-connector[pymysql]<2.0.0,>=1.0.0
sqlalchemy-bigquery>=1.15.0
apache-airflow-providers-opensearch>=1.9.1
apache-airflow-providers-http>=6.0.0
sqlalchemy_exasol<8,>=7.1.1
preshed<3.0.14
fastavro>=1.2.0
GeoAlchemy2~=0.12
canmatrix<1.3
collate-data-diff[snowflake]
python-multipart>=0.0.31
numpy<3,>=2
pyarrow<26,>=23.0.1
sqlalchemy-redshift~=1.0.0
snowflake-connector-python<5,>=4.7.3
azure-storage-blob~=12.14
collate-dbt-artifacts-parser
ijson~=3.4
tornado>=6.5.9
google-cloud
protobuf>=5.29.6
exasol-integration-test-docker-environment<7,>=6.0.0
avro<1.12,>=1.11.4
pymysql~=1.0
grpcio-tools>=1.47.2
pytest-playwright
aiobotocore~=3.9.2
google-cloud-datacatalog>=3.6.2
azure-identity~=1.12
s3fs~=2026.3
confluent_kafka[schemaregistry]<3,>=2.15.0
pygtrie<2.6
apache-airflow-providers-elasticsearch>=6.5.3
boto3<2,>=1.43.101
starlette>=0.49.1
luigi<=3.6.0,>=2.8.4
opentelemetry-exporter-otlp==1.45.1
asammdf<8.8,>=8.2
mlflow-skinny<3.15,>=3.13.0
google-cloud-logging
apache-airflow==3.3.2
cramjam~=2.7
google-cloud-storage>=1.43.0
psycopg2-binary
collate-data-diff[mysql]
attrs
Werkzeug>=3.0.6
pandas<3,>=2.2.2
packaging
pytest-base-url
presidio-analyzer==2.2.358

[postgres]
packaging
GeoAlchemy2~=0.12
pymysql~=1.0
psycopg2-binary

[powerbi]
azure-storage-blob~=12.14
azure-identity~=1.12
boto3<2,>=1.43.101
msal~=1.2
google-cloud-storage>=1.43.0

[prefect]

[presidio-analyzer]
presidio-analyzer==2.2.358
preshed<3.0.14

[presto]
presto-types-parser>=0.0.2
pyhive[hive_pure_sasl]~=0.7
pure-transport==0.2.0
thrift<1,>=0.25.0
collate-data-diff[presto]

[pubsub]
google-cloud-pubsub>=2.0.0

[pyarrow]
pyarrow<26,>=23.0.1

[pymssql]
pymssql~=2.3.9

[qliksense]
websocket-client~=1.6.1

[questdb]
psycopg2-binary

[quicksight]
boto3<2,>=1.43.101

[redash]
packaging

[redpanda]
fastavro>=1.2.0
protobuf>=5.29.6
confluent_kafka[schemaregistry]<3,>=2.15.0
avro<1.12,>=1.11.4
grpcio-tools>=1.47.2

[redshift]
sqlalchemy-redshift~=1.0.0
GeoAlchemy2~=0.12
psycopg2-binary

[s3]
pyarrow<26,>=23.0.1
Brotli>=1.2.1
py7zr~=1.1.3
rarfile~=4.2
pandas<3,>=2.2.2

[sagemaker]
boto3<2,>=1.43.101

[salesforce]
authlib>=1.6.9
simple_salesforce~=1.11

[sample-data]
sqlalchemy-bigquery>=1.15.0
spacy<3.9,>=3.8.2
preshed<3.0.14
presidio-analyzer==2.2.358
avro<1.12,>=1.11.4
grpcio-tools>=1.47.2

[sap-hana]
hdbcli
sqlalchemy-hana

[sas]

[sftp]
paramiko<6,>=3.5

[singlestore]
pymysql~=1.0

[sklearn]
scikit-learn<2,>=1.4.2

[slim]
snowflake-sqlalchemy>=1.11.0
sqlalchemy_exasol<8,>=7.1.1
pydruid>=0.6.5
collate-data-diff[vertica]
gitpython>=3.2.1
collate-data-diff[snowflake]
looker-sdk!=24.18.0,>=22.20.0
mypy_extensions>=0.4.3
pyathena~=3.35.4
tableauserverclient==0.40
azure-storage-blob~=12.14
collate-data-diff>=0.11.18
python-liquid
nats-py[nkeys]<3.0.0,>=2.7.0
protobuf>=5.29.6
pydantic<3,>=2.12.5
azure-storage-blob
shapely
cached-property==1.5.2
lkml~=1.3
collate-data-diff[mssql]
pyasn1>=0.6.3
google-api-python-client>=2.0.0
collate-data-diff[trino]
boto3<2,>=1.43.101
cryptography>=48.0.1
msal~=1.2
thrift<1,>=0.25.0
authlib>=1.6.9
certifi>=2026.10.19
presto-types-parser>=0.0.2
pymssql~=2.3.9
websocket-client~=1.6.1
pandas<3,>=2.2.2
urllib3>=2.8.0
mistune>=3.3.3
email-validator>=2.0
databend-sqlalchemy==0.5.5
giturlparse
pydoris==1.2.0
oracledb<4,>=3.4.2
dagster_graphql>=1.8.0
idna>=3.15
sqlalchemy-pytds~=1.0
snowflake-connector-python<5,>=4.7.3
cachetools
neo4j~=5.7
google-crc32c
google-cloud
kubernetes<36,>=21.0.0
dbt-extractor>=0.5.0
ijson~=3.4
py7zr~=1.1.3
tabulate==0.9.0
simple_salesforce~=1.11
pymysql~=1.0
teradatasql>=20.0.0.72
google-cloud-bigtable>=2.0.0
aiobotocore~=3.9.2
databend-driver==0.33.7
kafka-connect-py==0.10.11
requests>=2.33.0
pure-transport==0.2.0
cramjam~=2.7
lxml>=6.1.0
pyodbc~=5.3.0
typing-inspect
jaraco.functools<4.2.0
cloud-sql-python-connector[pymysql]<2.0.0,>=1.0.0
databricks-sqlalchemy~=2.0.9
PyYAML~=6.0
spacy<3.9,>=3.8.2
importlib-metadata>=4.13.0
python-dateutil>=2.8.1
fastavro>=1.2.0
GeoAlchemy2~=0.12
opensearch-py~=2.4.0
preshed<3.0.14
adlfs>=2023.1.0
pyarrow<26,>=23.0.1
sqlalchemy-redshift~=1.0.0
trino[sqlalchemy]
google-cloud-monitoring>=2.0.0
google-cloud-secret-manager==2.24.0
jsonpatch<2.0,>=1.24
jaraco.context>=6.1.0
chardet==4.0.0
collate-dbt-artifacts-parser
memory-profiler
clickzetta-connector==1.0.30
requests-aws4auth~=1.1
setuptools>=83
ndg-httpsclient~=0.5.1
elasticsearch<9,>=8.19.3
couchbase~=4.1
avro<1.12,>=1.11.4
grpcio-tools>=1.47.2
impyla[kerberos]~=0.24.0
pinotdb~=5.0
s3fs~=2026.3
sqlalchemy-cockroachdb~=2.0
sqlalchemy-vertica[vertica-python]<1.0,>=0.0.5
clickhouse-sqlalchemy>=0.3
rarfile~=4.2
collate-data-diff[clickhouse]
asammdf<8.8,>=8.2
sqlalchemy-hana
google-cloud-storage>=1.43.0
google-cloud-logging
collate-data-diff[presto]
Jinja2>=3.1.6
psycopg2-binary
packaging
clickzetta-sqlalchemy==0.8.65.4
teradatasqlalchemy==20.0.0.9
PyJWT>=2.15.0
paramiko<6,>=3.5
gcsfs~=2026.3
sqlalchemy-bigquery>=1.15.0
databricks-sql-connector>=4.7.0
pydomo~=0.3
cassandra-driver>=3.28.0
iomete-sqlalchemy>=1.0.22
pure-sasl
tenacity<10,>=8.0
azure-keyvault-secrets
canmatrix<1.3
numpy<3,>=2
pydantic-settings>=2.14.2,~=2.0
collate-sqllineage==2.1.8
pyOpenSSL>=26.0.0
sqlalchemy<2.1,>=2.0.0
hdbcli
collate-data-diff[oracle]
python-dotenv>=0.19.0
Brotli>=1.2.1
google-cloud-datacatalog>=3.6.2
azure-identity~=1.12
confluent_kafka[schemaregistry]<3,>=2.15.0
impyla~=0.24.0
antlr4-python3-runtime==4.9.2
Mako>=1.3.12
google-cloud-pubsub>=2.0.0
sqlalchemy-pgspider
pymongo<5,>=4.18.2
mlflow-skinny<3.15,>=3.13.0
requests-ntlm
collate-data-diff[mysql]
clickhouse-driver~=0.2
databricks-sdk~=0.20.0
httpx~=0.28.0
thrift-sasl~=0.4
validators~=0.22.0
presidio-analyzer==2.2.358
pyhive[hive_pure_sasl]~=0.7

[slim:python_version < "3.11"]
adbc-driver-flightsql==1.12.0
adbc-driver-manager==1.12.0

[slim:python_version >= "3.11"]
adbc-driver-flightsql>=1.13.0
adbc-driver-manager>=1.13.0

[snowflake]
snowflake-sqlalchemy>=1.11.0
collate-data-diff[snowflake]
snowflake-connector-python<5,>=4.7.3

[ssrs]
requests-ntlm

[starrocks]
pymysql~=1.0

[superset]

[tableau]
packaging
validators~=0.22.0
tableauserverclient==0.40

[tableaupipeline]
packaging
validators~=0.22.0
tableauserverclient==0.40

[teradata]
teradatasql>=20.0.0.72
teradatasqlalchemy==20.0.0.9

[test]
snowflake-sqlalchemy>=1.11.0
faker==37.1.0
factory-boy~=3.3.3
spacy<3.9,>=3.8.2
sqlalchemy_exasol<8,>=7.1.1
preshed<3.0.14
opensearch-py~=2.4.0
fastavro>=1.2.0
GeoAlchemy2~=0.12
boto3-stubs
collate-data-diff[vertica]
looker-sdk!=24.18.0,>=22.20.0
pyarrow<26,>=23.0.1
requests<3,>=2.33.0
tableauserverclient==0.40
trino[sqlalchemy]
pyathena~=3.35.4
google-cloud-monitoring>=2.0.0
pytest-order
minio==7.2.5
python-liquid
collate-dbt-artifacts-parser
protobuf>=5.29.6
elasticsearch<9,>=8.19.3
pytest==7.0.1
lkml~=1.3
avro<1.12,>=1.11.4
grpcio-tools>=1.47.2
collate-data-diff[mssql]
s3fs~=2026.3
pygtrie<2.6
sqlalchemy-cockroachdb~=2.0
sqlalchemy-vertica[vertica-python]<1.0,>=0.0.5
testcontainers~=4.8.0
dirty-equals
boto3<2,>=1.43.101
kafka-python==2.3.2
clickhouse-sqlalchemy>=0.3
collate-data-diff[clickhouse]
asammdf<8.8,>=8.2
mypy-boto3-glue
pytest-timeout~=2.4
google-cloud-storage>=1.43.0
google-cloud-logging
psycopg2-binary
pytest-xdist~=3.5
pandas<3,>=2.2.2
teradatasqlalchemy==20.0.0.9
paramiko<6,>=3.5
gcsfs~=2026.3
great-expectations~=1.3
pydomo~=0.3
databricks-sql-connector>=4.7.0
databend-sqlalchemy==0.5.5
cassandra-driver>=3.28.0
giturlparse
pydoris==1.2.0
sqlalchemy-bigquery>=1.15.0
pyhive[hive_pure_sasl]~=0.7
oracledb<4,>=3.4.2
dagster_graphql>=1.8.0
coverage
canmatrix<1.3
numpy<3,>=2
sqlalchemy-pytds~=1.0
skops
ijson~=3.4
collate-data-diff[oracle]
exasol-integration-test-docker-environment<7,>=6.0.0
pytest-cov
pymysql~=1.0
teradatasql>=20.0.0.72
aiobotocore~=3.9.2
google-cloud-bigtable>=2.0.0
databend-driver==0.33.7
google-cloud-datacatalog>=3.6.2
kafka-connect-py==0.10.11
confluent_kafka[schemaregistry]<3,>=2.15.0
luigi<=3.6.0,>=2.8.4
opentelemetry-exporter-otlp==1.45.1
sqlalchemy-pgspider
pymongo<5,>=4.18.2
apache-airflow==3.3.2
mlflow-skinny<3.15,>=3.13.0
cramjam~=2.7
collate-data-diff[mysql]
clickhouse-driver~=0.2
freezegun
databricks-sdk~=0.20.0
validators~=0.22.0
scikit-learn<2,>=1.4.2
presidio-analyzer==2.2.358
locust~=2.32.0
neo4j~=5.7

[test-unit]
teradatasql>=20.0.0.72
faker==37.1.0
factory-boy~=3.3.3
testcontainers
pytest-order
dirty-equals
sqlalchemy_exasol<8,>=7.1.1
pytest-rerunfailures
teradatasqlalchemy==20.0.0.9
pytest==7.0.1
pytest-cov
pytest-timeout~=2.4

[trino]
collate-data-diff[trino]
trino[sqlalchemy]

[vertica]
collate-data-diff[vertica]
sqlalchemy-vertica[vertica-python]<1.0,>=0.0.5
