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

[airflow]
tornado>=6.5.7
opentelemetry-exporter-otlp==1.37.0
apache-airflow==3.3.1
attrs
apache-airflow-providers-opensearch>=1.9.1
python-multipart>=0.0.31
pygtrie<2.6
elasticsearch<9,>=8.10
apache-airflow-providers-http>=6.0.0
Werkzeug>=3.0.6
starlette>=0.49.1
apache-airflow-providers-elasticsearch>=6.5.3

[all]
sqlalchemy-pytds~=0.3
collate-data-diff[mssql]
tenacity<10,>=8.0
collate-data-diff[oracle]
sqlalchemy<3,>=2.0.0
psycopg2-binary
pure-transport==0.2.0
Jinja2>=2.11.3
databricks-sql-connector>=4.0.0
grpcio-tools>=1.47.2
google-cloud-logging
google-cloud-storage>=1.43.0
cachetools
azure-identity~=1.12
google-crc32c
asammdf<8.8,>=8.2
elasticsearch8~=8.9.0
pyhive[hive_pure_sasl]~=0.7
mistune>=3.3.0
neo4j~=5.3
pymssql~=2.3.9
kubernetes<36,>=21.0.0
sqlalchemy-hana
cramjam~=2.7
adlfs>=2023.1.0
pure-sasl
collate-data-diff[trino]
setuptools>=78.1.1
google-cloud-pubsub>=2.0.0
cx_Oracle<9,>=8.3.0
idna>=3.15
dbt-extractor>=0.5.0
exasol-integration-test-docker-environment<4,>=3.1.0
rarfile~=4.2
dagster_graphql>=1.8.0
adbc-driver-flightsql
python-liquid
protobuf>=5.29.6
sqlalchemy-redshift~=1.0.0
pydomo~=0.3
simple_salesforce~=1.11
pydoris==1.2.0
impyla~=0.24.0
pandas<3,>=2.2.2
importlib-metadata>=4.13.0
impyla[kerberos]~=0.24.0
azure-keyvault-secrets
cassandra-driver>=3.28.0
fastavro>=1.2.0
delta-spark<4.0.0,>=3.0.0
pyOpenSSL>=26.0.0
collate-data-diff[vertica]
collate-sqllineage==2.1.7
Mako>=1.3.12
pyasn1>=0.6.3
antlr4-python3-runtime==4.9.2
pymongo~=4.3
clickhouse-sqlalchemy>=0.3
sqlalchemy-vertica[vertica-python]>=0.0.5
teradatasqlalchemy==20.0.0.2
google-cloud
shapely
azure-storage-blob
sqlalchemy_exasol<7,>=6
collate-data-diff[presto]
cached-property==1.5.2
pydantic-settings>=2.14.2,~=2.0
pyarrow<26,>=23.0.1
sqlalchemy-bigquery>=1.15.0
ijson~=3.4
sqlalchemy-cockroachdb~=2.0
gitpython~=3.1.34
typing-inspect
spacy<3.9,>=3.8.2
avro<1.12,>=1.11.4
boto3~=1.41.5
trino[sqlalchemy]
pyathena~=3.35.4
collate-data-diff>=0.11.17
jsonpatch<2.0,>=1.24
PyYAML~=6.0
tabulate==0.9.0
websocket-client~=1.6.1
collate-data-diff[clickhouse]
pinotdb~=5.0
iomete-sqlalchemy>=1.0.22
cloud-sql-python-connector[pymysql]<2.0.0,>=1.0.0
pyodbc~=5.3.0
jaraco.functools<4.2.0
chardet==4.0.0
hdbcli
tableauserverclient==0.40
thrift-sasl~=0.4
great-expectations~=1.0
kafka-connect-py==0.10.11
email-validator>=2.0
gcsfs~=2026.3
deltalake<0.20,>=0.19.0
scikit-learn<2,>=1.4.2
databricks-sdk~=0.20.0
authlib>=1.6.9
s3fs~=2026.3
python-dateutil>=2.8.1
lxml>=6.1.0
validators~=0.22.0
memory-profiler
aiobotocore~=2.26.0
presidio-analyzer==2.2.358
msal~=1.2
numpy<3,>=2
httpx~=0.28.0
snowflake-sqlalchemy>=1.8.0
azure-storage-blob~=12.14
lkml~=1.3
presto-types-parser>=0.0.2
collate-data-diff[snowflake]
looker-sdk!=24.18.0,>=22.20.0
google-api-python-client>=2.0.0
PyJWT>=2.13.0
requests>=2.23
mypy_extensions>=0.4.3
ndg-httpsclient~=0.5.1
collate-data-diff[mysql]
couchbase~=4.1
oracledb~=1.2
pyspark==3.5.6
google-cloud-monitoring>=2.0.0
sqlalchemy-pgspider
requests-aws4auth~=1.1
clickhouse-driver~=0.2
pydruid>=0.6.5
google-cloud-secret-manager==2.24.0
pymysql~=1.0
thrift<1,>=0.24.0
giturlparse
pydantic<3,>=2.12.5
collate-dbt-artifacts-parser
adbc-driver-manager
google-cloud-bigtable>=2.0.0
confluent_kafka<=2.6.1,>=2.1.1
opensearch-py~=2.4.0
python-dotenv>=0.19.0
cryptography>=48.0.1
jaraco.context>=6.1.0
packaging
requests-ntlm
databricks-sqlalchemy~=2.0.9
google-cloud-datacatalog>=3.6.2
mlflow-skinny<3.15,>=3.13.0
py7zr~=1.1.0
GeoAlchemy2~=0.12

[all-dev-env]
sqlalchemy-pytds~=0.3
collate-data-diff[mssql]
tenacity<10,>=8.0
collate-data-diff[oracle]
sqlalchemy<3,>=2.0.0
psycopg2-binary
pure-transport==0.2.0
Jinja2>=2.11.3
databricks-sql-connector>=4.0.0
grpcio-tools>=1.47.2
google-cloud-logging
google-cloud-storage>=1.43.0
cachetools
azure-identity~=1.12
google-crc32c
asammdf<8.8,>=8.2
elasticsearch8~=8.9.0
pyhive[hive_pure_sasl]~=0.7
mistune>=3.3.0
neo4j~=5.3
kubernetes<36,>=21.0.0
sqlalchemy-hana
cramjam~=2.7
adlfs>=2023.1.0
pure-sasl
collate-data-diff[trino]
setuptools>=78.1.1
google-cloud-pubsub>=2.0.0
cx_Oracle<9,>=8.3.0
idna>=3.15
dbt-extractor>=0.5.0
exasol-integration-test-docker-environment<4,>=3.1.0
rarfile~=4.2
dagster_graphql>=1.8.0
adbc-driver-flightsql
python-liquid
protobuf>=5.29.6
sqlalchemy-redshift~=1.0.0
pydomo~=0.3
simple_salesforce~=1.11
pydoris==1.2.0
impyla~=0.24.0
pandas<3,>=2.2.2
importlib-metadata>=4.13.0
impyla[kerberos]~=0.24.0
azure-keyvault-secrets
cassandra-driver>=3.28.0
fastavro>=1.2.0
delta-spark<4.0.0,>=3.0.0
pyOpenSSL>=26.0.0
collate-data-diff[vertica]
collate-sqllineage==2.1.7
Mako>=1.3.12
pyasn1>=0.6.3
antlr4-python3-runtime==4.9.2
pymongo~=4.3
clickhouse-sqlalchemy>=0.3
sqlalchemy-vertica[vertica-python]>=0.0.5
teradatasqlalchemy==20.0.0.2
google-cloud
shapely
azure-storage-blob
sqlalchemy_exasol<7,>=6
collate-data-diff[presto]
cached-property==1.5.2
pydantic-settings>=2.14.2,~=2.0
pyarrow<26,>=23.0.1
sqlalchemy-bigquery>=1.15.0
ijson~=3.4
sqlalchemy-cockroachdb~=2.0
gitpython~=3.1.34
typing-inspect
spacy<3.9,>=3.8.2
avro<1.12,>=1.11.4
boto3~=1.41.5
trino[sqlalchemy]
pyathena~=3.35.4
collate-data-diff>=0.11.17
jsonpatch<2.0,>=1.24
PyYAML~=6.0
tabulate==0.9.0
websocket-client~=1.6.1
collate-data-diff[clickhouse]
pinotdb~=5.0
iomete-sqlalchemy>=1.0.22
cloud-sql-python-connector[pymysql]<2.0.0,>=1.0.0
pyodbc~=5.3.0
jaraco.functools<4.2.0
chardet==4.0.0
hdbcli
tableauserverclient==0.40
thrift-sasl~=0.4
great-expectations~=1.0
kafka-connect-py==0.10.11
email-validator>=2.0
gcsfs~=2026.3
deltalake<0.20,>=0.19.0
scikit-learn<2,>=1.4.2
databricks-sdk~=0.20.0
authlib>=1.6.9
s3fs~=2026.3
python-dateutil>=2.8.1
lxml>=6.1.0
validators~=0.22.0
memory-profiler
aiobotocore~=2.26.0
presidio-analyzer==2.2.358
msal~=1.2
numpy<3,>=2
httpx~=0.28.0
snowflake-sqlalchemy>=1.8.0
azure-storage-blob~=12.14
lkml~=1.3
presto-types-parser>=0.0.2
collate-data-diff[snowflake]
looker-sdk!=24.18.0,>=22.20.0
google-api-python-client>=2.0.0
PyJWT>=2.13.0
requests>=2.23
mypy_extensions>=0.4.3
ndg-httpsclient~=0.5.1
collate-data-diff[mysql]
couchbase~=4.1
oracledb~=1.2
pyspark==3.5.6
google-cloud-monitoring>=2.0.0
sqlalchemy-pgspider
requests-aws4auth~=1.1
clickhouse-driver~=0.2
pydruid>=0.6.5
google-cloud-secret-manager==2.24.0
pymysql~=1.0
thrift<1,>=0.24.0
giturlparse
pydantic<3,>=2.12.5
collate-dbt-artifacts-parser
adbc-driver-manager
google-cloud-bigtable>=2.0.0
confluent_kafka<=2.6.1,>=2.1.1
opensearch-py~=2.4.0
python-dotenv>=0.19.0
cryptography>=48.0.1
jaraco.context>=6.1.0
packaging
requests-ntlm
databricks-sqlalchemy~=2.0.9
google-cloud-datacatalog>=3.6.2
mlflow-skinny<3.15,>=3.13.0
py7zr~=1.1.0
GeoAlchemy2~=0.12

[amundsen]
neo4j~=5.3

[athena]
pyathena~=3.35.4

[atlas]

[azure-sso]
msal~=1.2

[azuresql]
pyodbc~=5.3.0

[backup]
azure-storage-blob
boto3~=1.41.5
azure-identity~=1.12

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

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

[cassandra]
cassandra-driver>=3.28.0

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

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

[couchbase]
couchbase~=4.1

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

[data-insight]
elasticsearch8~=8.9.0

[databricks]
databricks-sdk~=0.20.0
databricks-sqlalchemy~=2.0.9
pyOpenSSL>=26.0.0
pyasn1>=0.6.3
ndg-httpsclient~=0.5.1
databricks-sql-connector>=4.0.0

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

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

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

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

[db2-ibmi]

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

[deltalake]
deltalake<0.20,>=0.19.0
delta-spark<4.0.0,>=3.0.0
pyspark==3.5.6

[deltalake-spark]
delta-spark<4.0.0,>=3.0.0
pyspark==3.5.6

[deltalake-storage]
deltalake<0.20,>=0.19.0

[dev]
mypy-boto3-glue
build
pycln
basedpyright==1.39.3
black==22.3.0
twine
presidio-analyzer==2.2.358
scipy-stubs
datamodel-code-generator==0.64.0
grpcio-tools>=1.47.2
types-requests
google-auth-stubs
sqlalchemy-bigquery>=1.15.0
pylint~=3.2.0
spacy<3.9,>=3.8.2
uvloop==0.21.0
nox
avro<1.12,>=1.11.4
google-api-python-client-stubs
isort
pandas-stubs~=2.2
boto3-stubs
pre-commit

[docs]
griffe2md~=1.2

[domo]
pydomo~=0.3

[doris]
pydoris==1.2.0

[druid]
pydruid>=0.6.5

[dynamodb]
boto3~=1.41.5

[e2e_test]
pytest-playwright
pytest-base-url

[elasticsearch]
elasticsearch8~=8.9.0

[exasol]
sqlalchemy_exasol<7,>=6
exasol-integration-test-docker-environment<4,>=3.1.0

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

[glue]
boto3~=1.41.5

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

[great-expectations]
great-expectations==0.18.8

[great-expectations-1xx]
great-expectations~=1.0

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

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

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

[iomete]
adbc-driver-manager
adbc-driver-flightsql
iomete-sqlalchemy>=1.0.22

[kafka]
avro<1.12,>=1.11.4
grpcio-tools>=1.47.2
protobuf>=5.29.6
confluent_kafka<=2.6.1,>=2.1.1
fastavro>=1.2.0

[kafkaconnect]
kafka-connect-py==0.10.11

[kinesis]
boto3~=1.41.5

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

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

[mongo]
numpy<3,>=2
pymongo~=4.3
pandas<3,>=2.2.2

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

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

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

[nifi]

[openlineage]
avro<1.12,>=1.11.4
grpcio-tools>=1.47.2
protobuf>=5.29.6
confluent_kafka<=2.6.1,>=2.1.1
fastavro>=1.2.0

[opensearch]
opensearch-py~=2.4.0

[oracle]
cx_Oracle<9,>=8.3.0
collate-data-diff[oracle]
oracledb~=1.2

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

[pgspider]
sqlalchemy-pgspider
psycopg2-binary

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

[pinotdb]
pinotdb~=5.0

[playwright]
opentelemetry-exporter-otlp==1.37.0
pytest-playwright
protobuf>=5.29.6
sqlalchemy-redshift~=1.0.0
psycopg2-binary
apache-airflow==3.3.1
apache-airflow-providers-opensearch>=1.9.1
cloud-sql-python-connector[pymysql]<2.0.0,>=1.0.0
pandas<3,>=2.2.2
grpcio-tools>=1.47.2
google-cloud-logging
google-cloud-storage>=1.43.0
fastavro>=1.2.0
pymysql~=1.0
azure-identity~=1.12
asammdf<8.8,>=8.2
attrs
collate-dbt-artifacts-parser
python-multipart>=0.0.31
Werkzeug>=3.0.6
apache-airflow-providers-http>=6.0.0
confluent_kafka<=2.6.1,>=2.1.1
tornado>=6.5.7
s3fs~=2026.3
google-cloud
cramjam~=2.7
packaging
aiobotocore~=2.26.0
presidio-analyzer==2.2.358
numpy<3,>=2
snowflake-sqlalchemy>=1.8.0
azure-storage-blob~=12.14
apache-airflow-providers-elasticsearch>=6.5.3
collate-data-diff[snowflake]
pyarrow<26,>=23.0.1
ijson~=3.4
sqlalchemy-bigquery>=1.15.0
pytest-base-url
google-cloud-datacatalog>=3.6.2
avro<1.12,>=1.11.4
collate-data-diff[mysql]
mlflow-skinny<3.15,>=3.13.0
pygtrie<2.6
elasticsearch<9,>=8.10
starlette>=0.49.1
GeoAlchemy2~=0.12
boto3~=1.41.5

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

[powerbi]
azure-identity~=1.12
boto3~=1.41.5
msal~=1.2
azure-storage-blob~=12.14
google-cloud-storage>=1.43.0

[presidio-analyzer]
presidio-analyzer==2.2.358

[presto]
presto-types-parser>=0.0.2
collate-data-diff[presto]
pyhive[hive_pure_sasl]~=0.7
pure-transport==0.2.0

[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~=1.41.5

[redash]
packaging

[redpanda]
avro<1.12,>=1.11.4
grpcio-tools>=1.47.2
protobuf>=5.29.6
confluent_kafka<=2.6.1,>=2.1.1
fastavro>=1.2.0

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

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

[sagemaker]
boto3~=1.41.5

[salesforce]
simple_salesforce~=1.11
authlib>=1.6.9

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

[sap-hana]
hdbcli
sqlalchemy-hana

[sas]

[singlestore]
pymysql~=1.0

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

[slim]
pyathena~=3.35.4
sqlalchemy-pytds~=0.3
collate-data-diff[mssql]
tenacity<10,>=8.0
collate-data-diff>=0.11.17
jsonpatch<2.0,>=1.24
PyYAML~=6.0
collate-data-diff[oracle]
sqlalchemy<3,>=2.0.0
tabulate==0.9.0
psycopg2-binary
pure-transport==0.2.0
websocket-client~=1.6.1
collate-data-diff[clickhouse]
pinotdb~=5.0
iomete-sqlalchemy>=1.0.22
Jinja2>=2.11.3
cloud-sql-python-connector[pymysql]<2.0.0,>=1.0.0
databricks-sql-connector>=4.0.0
grpcio-tools>=1.47.2
pyodbc~=5.3.0
google-cloud-logging
google-cloud-storage>=1.43.0
jaraco.functools<4.2.0
cachetools
azure-identity~=1.12
google-crc32c
asammdf<8.8,>=8.2
elasticsearch8~=8.9.0
chardet==4.0.0
pyhive[hive_pure_sasl]~=0.7
hdbcli
tableauserverclient==0.40
thrift-sasl~=0.4
great-expectations~=1.0
kafka-connect-py==0.10.11
email-validator>=2.0
mistune>=3.3.0
gcsfs~=2026.3
deltalake<0.20,>=0.19.0
neo4j~=5.3
databricks-sdk~=0.20.0
kubernetes<36,>=21.0.0
pymssql~=2.3.9
authlib>=1.6.9
sqlalchemy-hana
s3fs~=2026.3
python-dateutil>=2.8.1
lxml>=6.1.0
cramjam~=2.7
validators~=0.22.0
memory-profiler
aiobotocore~=2.26.0
presidio-analyzer==2.2.358
msal~=1.2
numpy<3,>=2
httpx~=0.28.0
adlfs>=2023.1.0
azure-storage-blob~=12.14
snowflake-sqlalchemy>=1.8.0
pure-sasl
collate-data-diff[trino]
setuptools>=78.1.1
presto-types-parser>=0.0.2
lkml~=1.3
collate-data-diff[snowflake]
google-cloud-pubsub>=2.0.0
looker-sdk!=24.18.0,>=22.20.0
cx_Oracle<9,>=8.3.0
google-api-python-client>=2.0.0
PyJWT>=2.13.0
idna>=3.15
mypy_extensions>=0.4.3
requests>=2.23
dbt-extractor>=0.5.0
ndg-httpsclient~=0.5.1
couchbase~=4.1
collate-data-diff[mysql]
exasol-integration-test-docker-environment<4,>=3.1.0
oracledb~=1.2
rarfile~=4.2
dagster_graphql>=1.8.0
adbc-driver-flightsql
python-liquid
google-cloud-monitoring>=2.0.0
sqlalchemy-pgspider
requests-aws4auth~=1.1
protobuf>=5.29.6
sqlalchemy-redshift~=1.0.0
pydomo~=0.3
simple_salesforce~=1.11
pydoris==1.2.0
impyla~=0.24.0
pandas<3,>=2.2.2
importlib-metadata>=4.13.0
clickhouse-driver~=0.2
azure-keyvault-secrets
pydruid>=0.6.5
google-cloud-secret-manager==2.24.0
impyla[kerberos]~=0.24.0
fastavro>=1.2.0
cassandra-driver>=3.28.0
pymysql~=1.0
pyOpenSSL>=26.0.0
thrift<1,>=0.24.0
collate-sqllineage==2.1.7
Mako>=1.3.12
pyasn1>=0.6.3
giturlparse
pydantic<3,>=2.12.5
collate-data-diff[vertica]
antlr4-python3-runtime==4.9.2
collate-dbt-artifacts-parser
pymongo~=4.3
adbc-driver-manager
google-cloud-bigtable>=2.0.0
confluent_kafka<=2.6.1,>=2.1.1
clickhouse-sqlalchemy>=0.3
sqlalchemy-vertica[vertica-python]>=0.0.5
opensearch-py~=2.4.0
teradatasqlalchemy==20.0.0.2
python-dotenv>=0.19.0
cryptography>=48.0.1
google-cloud
shapely
jaraco.context>=6.1.0
packaging
azure-storage-blob
sqlalchemy_exasol<7,>=6
collate-data-diff[presto]
cached-property==1.5.2
requests-ntlm
databricks-sqlalchemy~=2.0.9
pydantic-settings>=2.14.2,~=2.0
pyarrow<26,>=23.0.1
sqlalchemy-bigquery>=1.15.0
ijson~=3.4
sqlalchemy-cockroachdb~=2.0
gitpython~=3.1.34
typing-inspect
spacy<3.9,>=3.8.2
google-cloud-datacatalog>=3.6.2
avro<1.12,>=1.11.4
mlflow-skinny<3.15,>=3.13.0
boto3~=1.41.5
py7zr~=1.1.0
GeoAlchemy2~=0.12
trino[sqlalchemy]

[snowflake]
collate-data-diff[snowflake]
snowflake-sqlalchemy>=1.8.0

[ssrs]
requests-ntlm

[starrocks]
pymysql~=1.0

[superset]

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

[teradata]
teradatasqlalchemy==20.0.0.2

[test]
sqlalchemy-pytds~=0.3
collate-data-diff[mssql]
collate-data-diff[oracle]
psycopg2-binary
databricks-sql-connector>=4.0.0
grpcio-tools>=1.47.2
google-cloud-logging
google-cloud-storage>=1.43.0
asammdf<8.8,>=8.2
elasticsearch8~=8.9.0
pyhive[hive_pure_sasl]~=0.7
factory-boy~=3.3.3
pytest==7.0.1
neo4j~=5.3
cramjam~=2.7
cx_Oracle<9,>=8.3.0
exasol-integration-test-docker-environment<4,>=3.1.0
dagster_graphql>=1.8.0
boto3-stubs
python-liquid
pytest-order
protobuf>=5.29.6
apache-airflow==3.3.1
pydomo~=0.3
pydoris==1.2.0
pandas<3,>=2.2.2
cassandra-driver>=3.28.0
fastavro>=1.2.0
delta-spark<4.0.0,>=3.0.0
pymongo~=4.3
great-expectations==0.18.8
clickhouse-sqlalchemy>=0.3
teradatasqlalchemy==20.0.0.2
mypy-boto3-glue
freezegun
pytest-cov
sqlalchemy_exasol<7,>=6
pyarrow<26,>=23.0.1
sqlalchemy-cockroachdb~=2.0
ijson~=3.4
sqlalchemy-bigquery>=1.15.0
spacy<3.9,>=3.8.2
faker==37.1.0
pytest-xdist~=3.5
avro<1.12,>=1.11.4
pygtrie<2.6
boto3~=1.41.5
skops
trino[sqlalchemy]
pyathena~=3.35.4
locust~=2.32.0
collate-data-diff[clickhouse]
tableauserverclient==0.40
kafka-connect-py==0.10.11
deltalake<0.20,>=0.19.0
scikit-learn<2,>=1.4.2
gcsfs~=2026.3
coverage
databricks-sdk~=0.20.0
minio==7.2.5
s3fs~=2026.3
validators~=0.22.0
aiobotocore~=2.26.0
presidio-analyzer==2.2.358
snowflake-sqlalchemy>=1.8.0
numpy<3,>=2
lkml~=1.3
looker-sdk!=24.18.0,>=22.20.0
kafka-python==2.0.2
collate-data-diff[mysql]
oracledb~=1.2
pyspark==3.5.6
google-cloud-monitoring>=2.0.0
sqlalchemy-pgspider
opentelemetry-exporter-otlp==1.37.0
clickhouse-driver~=0.2
pymysql~=1.0
giturlparse
collate-dbt-artifacts-parser
requests<3,>=2.31.0
google-cloud-bigtable>=2.0.0
confluent_kafka<=2.6.1,>=2.1.1
opensearch-py~=2.4.0
dirty-equals
google-cloud-datacatalog>=3.6.2
mlflow-skinny<3.15,>=3.13.0
GeoAlchemy2~=0.12

[test-unit]
pytest-rerunfailures
testcontainers
teradatasqlalchemy==20.0.0.2
exasol-integration-test-docker-environment<4,>=3.1.0
pytest-order
faker==37.1.0
factory-boy~=3.3.3
pytest-cov
sqlalchemy_exasol<7,>=6
pytest==7.0.1
dirty-equals

[test:python_version < "3.9"]
testcontainers==3.7.1

[test:python_version >= "3.9"]
testcontainers~=4.8.0

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

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