PyYAML~=6.0
kubernetes>=21.0.0
setuptools>=78.1.1
Jinja2>=2.11.3
chardet==4.0.0
email-validator>=2.0
pymysql~=1.0
azure-identity~=1.12
requests>=2.23
sqlalchemy<2,>=1.4.0
pydantic<2.12,>=2.7.0,~=2.0
importlib-metadata>=4.13.0
python-dateutil>=2.8.1
tabulate==0.9.0
packaging
google-crc32c
collate-sqllineage>=2.1.1
httpx~=0.28.0
python-dotenv>=0.19.0
azure-keyvault-secrets
mypy_extensions>=0.4.3
snowflake-connector-python>=3.18.0
requests-aws4auth~=1.1
jaraco.functools<4.2.0
shapely
cached-property==1.5.2
memory-profiler
jsonpatch<2.0,>=1.24
cryptography>=42.0.0
google-cloud-secret-manager==2.24.0
boto3==1.37.1
pydantic-settings>=2.7.0,~=2.0
antlr4-python3-runtime==4.11.1
typing-inspect
jaraco.context>=6.0.1

[:python_version < "3.9"]
mysql-connector-python>=8.0.29

[:python_version >= "3.9"]
mysql-connector-python>=9.1

[airflow]
apache-airflow==3.1.5
attrs
opentelemetry-exporter-otlp==1.37.0

[all]
PyYAML~=6.0
kubernetes>=21.0.0
collate-data-diff[mysql]
setuptools>=78.1.1
Jinja2>=2.11.3
chardet==4.0.0
email-validator>=2.0
google-cloud
oracledb~=1.2
azure-identity~=1.12
collate-data-diff[snowflake]
protobuf
pinotdb~=5.0
google-cloud-logging
msal~=1.2
asammdf~=7.4.5
mlflow-skinny~=3.6.0
tabulate==0.9.0
google-cloud-datacatalog>=3.6.2
packaging
great-expectations~=1.0
elasticsearch8~=8.9.0
google-crc32c
croniter<3
collate-data-diff[clickhouse]
sqlalchemy-databricks~=0.1
fastavro>=1.2.0
impyla~=0.18.0
pymongo~=4.3
collate-sqllineage>=2.1.1
numpy<2
exasol-integration-test-docker-environment<4,>=3.1.0
httpx~=0.28.0
gcsfs~=2023.12.1
python-dotenv>=0.19.0
ijson~=3.4
sqlalchemy-ibmi~=0.9.3
collate-data-diff[mssql]
scikit-learn~=1.0
hdbcli
azure-keyvault-secrets
mypy_extensions>=0.4.3
opensearch-py~=2.4.0
presidio-analyzer==2.2.358
pure-transport==0.2.0
pyhive[hive_pure_sasl]~=0.7
snowflake-connector-python>=3.18.0
requests-aws4auth~=1.1
delta-spark<4.0.0,>=3.0.0
grpcio-tools>=1.47.2
cached-property==1.5.2
google-cloud-monitoring>=2.0.0
confluent_kafka<=2.6.1,>=2.1.1
trino[sqlalchemy]
memory-profiler
google-cloud-secret-manager==2.24.0
boto3==1.37.1
pyasn1~=0.6.0
spacy<3.8
antlr4-python3-runtime==4.11.1
pyodbc<5,>=4.0.35
dagster_graphql>=1.8.0
pandas~=2.0.3
typing-inspect
collate-data-diff[trino]
google-cloud-bigtable>=2.0.0
tableauserverclient==0.25
jaraco.context>=6.0.1
deltalake<0.20,>=0.19.0
collate-dbt-artifacts-parser
cassandra-driver>=3.28.0
collate-data-diff[oracle]
pymssql~=2.3.9
snowflake-sqlalchemy==1.9.0
GeoAlchemy2~=0.12
presto-types-parser>=0.0.2
collate-data-diff[presto]
pymysql~=1.0
impyla[kerberos]~=0.18.0
pydruid>=0.6.5
sqlalchemy-cockroachdb~=2.0
requests-ntlm
python-liquid
requests>=2.23
sqlalchemy<2,>=1.4.0
aiobotocore~=2.26.0
sqlalchemy-pgspider
pydantic<2.12,>=2.7.0,~=2.0
importlib-metadata>=4.13.0
psycopg2-binary
python-dateutil>=2.8.1
authlib>=1.3.1
sqlalchemy-pytds~=0.3
sqlalchemy-bigquery~=1.15.0
simple_salesforce~=1.11
pydoris-custom<1.5,>=1.0.2
pyathena~=3.25.0
cramjam~=2.7
clickhouse-driver~=0.2
adlfs>=2023.1.0
giturlparse
gitpython~=3.1.34
thrift-sasl~=0.4
websocket-client~=1.6.1
looker-sdk!=24.18.0,>=22.20.0
pyarrow>=16.0
cx_Oracle<9,>=8.3.0
ndg-httpsclient~=0.5.1
azure-storage-blob~=12.14
thrift<1,>=0.13
neo4j~=5.3
collate-data-diff[vertica]
jaraco.functools<4.2.0
shapely
cachetools
lkml~=1.3
sqlalchemy-hana
couchbase~=4.1
sqlalchemy-redshift==0.8.12
jsonpatch<2.0,>=1.24
pyiceberg==0.5.1
cryptography>=42.0.0
pydantic-settings>=2.7.0,~=2.0
avro<1.12,>=1.11.4
kafka-connect-py==0.10.11
sqlalchemy-vertica[vertica-python]>=0.0.5
clickhouse-sqlalchemy~=0.2.0
databricks-sdk~=0.20.0
pyOpenSSL>=24.1.0
pydomo~=0.3
sqlalchemy_exasol<6,>=5
pure-sasl
google-cloud-storage>=1.43.0
validators~=0.22.0
s3fs~=2023.12.1
pyspark==3.5.6
teradatasqlalchemy==20.0.0.2
azure-storage-blob

[all-dev-env]
PyYAML~=6.0
kubernetes>=21.0.0
collate-data-diff[mysql]
setuptools>=78.1.1
Jinja2>=2.11.3
chardet==4.0.0
email-validator>=2.0
google-cloud
oracledb~=1.2
azure-identity~=1.12
collate-data-diff[snowflake]
protobuf
pinotdb~=5.0
google-cloud-logging
msal~=1.2
asammdf~=7.4.5
mlflow-skinny~=3.6.0
tabulate==0.9.0
google-cloud-datacatalog>=3.6.2
packaging
great-expectations~=1.0
elasticsearch8~=8.9.0
google-crc32c
croniter<3
collate-data-diff[clickhouse]
sqlalchemy-databricks~=0.1
fastavro>=1.2.0
impyla~=0.18.0
pymongo~=4.3
collate-sqllineage>=2.1.1
numpy<2
exasol-integration-test-docker-environment<4,>=3.1.0
httpx~=0.28.0
gcsfs~=2023.12.1
python-dotenv>=0.19.0
ijson~=3.4
sqlalchemy-ibmi~=0.9.3
collate-data-diff[mssql]
scikit-learn~=1.0
hdbcli
azure-keyvault-secrets
mypy_extensions>=0.4.3
opensearch-py~=2.4.0
presidio-analyzer==2.2.358
pure-transport==0.2.0
pyhive[hive_pure_sasl]~=0.7
snowflake-connector-python>=3.18.0
requests-aws4auth~=1.1
delta-spark<4.0.0,>=3.0.0
grpcio-tools>=1.47.2
cached-property==1.5.2
google-cloud-monitoring>=2.0.0
confluent_kafka<=2.6.1,>=2.1.1
trino[sqlalchemy]
memory-profiler
google-cloud-secret-manager==2.24.0
boto3==1.37.1
pyasn1~=0.6.0
spacy<3.8
antlr4-python3-runtime==4.11.1
pyodbc<5,>=4.0.35
dagster_graphql>=1.8.0
pandas~=2.0.3
typing-inspect
collate-data-diff[trino]
google-cloud-bigtable>=2.0.0
tableauserverclient==0.25
jaraco.context>=6.0.1
deltalake<0.20,>=0.19.0
collate-dbt-artifacts-parser
cassandra-driver>=3.28.0
collate-data-diff[oracle]
snowflake-sqlalchemy==1.9.0
GeoAlchemy2~=0.12
presto-types-parser>=0.0.2
collate-data-diff[presto]
pymysql~=1.0
impyla[kerberos]~=0.18.0
pydruid>=0.6.5
sqlalchemy-cockroachdb~=2.0
requests-ntlm
python-liquid
requests>=2.23
sqlalchemy<2,>=1.4.0
aiobotocore~=2.26.0
sqlalchemy-pgspider
pydantic<2.12,>=2.7.0,~=2.0
importlib-metadata>=4.13.0
psycopg2-binary
python-dateutil>=2.8.1
authlib>=1.3.1
sqlalchemy-pytds~=0.3
sqlalchemy-bigquery~=1.15.0
simple_salesforce~=1.11
pydoris-custom<1.5,>=1.0.2
pyathena~=3.25.0
cramjam~=2.7
clickhouse-driver~=0.2
adlfs>=2023.1.0
giturlparse
gitpython~=3.1.34
thrift-sasl~=0.4
websocket-client~=1.6.1
looker-sdk!=24.18.0,>=22.20.0
pyarrow>=16.0
cx_Oracle<9,>=8.3.0
ndg-httpsclient~=0.5.1
azure-storage-blob~=12.14
thrift<1,>=0.13
neo4j~=5.3
collate-data-diff[vertica]
jaraco.functools<4.2.0
shapely
cachetools
lkml~=1.3
sqlalchemy-hana
couchbase~=4.1
sqlalchemy-redshift==0.8.12
jsonpatch<2.0,>=1.24
pyiceberg==0.5.1
cryptography>=42.0.0
pydantic-settings>=2.7.0,~=2.0
avro<1.12,>=1.11.4
kafka-connect-py==0.10.11
sqlalchemy-vertica[vertica-python]>=0.0.5
clickhouse-sqlalchemy~=0.2.0
databricks-sdk~=0.20.0
pyOpenSSL>=24.1.0
pydomo~=0.3
sqlalchemy_exasol<6,>=5
pure-sasl
google-cloud-storage>=1.43.0
validators~=0.22.0
s3fs~=2023.12.1
pyspark==3.5.6
teradatasqlalchemy==20.0.0.2
azure-storage-blob

[all-dev-env:python_version < "3.9"]
mysql-connector-python>=8.0.29

[all-dev-env:python_version >= "3.9"]
mysql-connector-python>=9.1

[all:python_version < "3.9"]
mysql-connector-python>=8.0.29

[all:python_version >= "3.9"]
mysql-connector-python>=9.1

[amundsen]
neo4j~=5.3

[athena]
pyathena~=3.25.0

[atlas]

[azure-sso]
msal~=1.2

[azuresql]
pyodbc<5,>=4.0.35

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

[bigquery]
sqlalchemy-bigquery~=1.15.0
google-cloud-datacatalog>=3.6.2
cachetools
google-cloud-logging
numpy<2
pyarrow>=16.0

[bigtable]
pandas~=2.0.3
numpy<2
google-cloud-bigtable>=2.0.0

[cassandra]
cassandra-driver>=3.28.0

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

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

[couchbase]
couchbase~=4.1

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

[data-insight]
elasticsearch8~=8.9.0

[databricks]
pyasn1~=0.6.0
pyhive[hive_pure_sasl]~=0.7
databricks-sdk~=0.20.0
pyOpenSSL>=24.1.0
sqlalchemy-databricks~=0.1
ndg-httpsclient~=0.5.1

[datalake-azure]
azure-storage-blob~=12.14
boto3==1.37.1
avro<1.12,>=1.11.4
cramjam~=2.7
adlfs>=2023.1.0
azure-identity~=1.12
fastavro>=1.2.0
pandas~=2.0.3
aiobotocore~=2.26.0
numpy<2
pyarrow>=16.0
ijson~=3.4
asammdf~=7.4.5

[datalake-gcs]
boto3==1.37.1
avro<1.12,>=1.11.4
cramjam~=2.7
fastavro>=1.2.0
google-cloud-monitoring>=2.0.0
google-cloud-storage>=1.43.0
aiobotocore~=2.26.0
pandas~=2.0.3
gcsfs~=2023.12.1
numpy<2
pyarrow>=16.0
ijson~=3.4
asammdf~=7.4.5

[datalake-s3]
boto3==1.37.1
avro<1.12,>=1.11.4
cramjam~=2.7
fastavro>=1.2.0
pandas~=2.0.3
aiobotocore~=2.26.0
numpy<2
pyarrow>=16.0
s3fs~=2023.12.1
ijson~=3.4
asammdf~=7.4.5

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

[db2-ibmi]
sqlalchemy-ibmi~=0.9.3

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

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

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

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

[dev]
mypy-boto3-glue
pylint~=3.2.0
sqlalchemy-bigquery~=1.15.0
avro<1.12,>=1.11.4
presidio-analyzer==2.2.358
pre-commit
isort
uvloop==0.21.0
datamodel-code-generator==0.25.6
cachetools
grpcio-tools>=1.47.2
boto3-stubs
twine
pycln
black==22.3.0
build

[docs]
griffe2md~=1.2

[domo]
pydomo~=0.3

[doris]
pydoris-custom<1.5,>=1.0.2

[druid]
pydruid>=0.6.5

[dynamodb]
boto3==1.37.1

[e2e_test]
pytest-base-url
pytest-playwright

[elasticsearch]
elasticsearch8~=8.9.0

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

[glue]
boto3==1.37.1

[great-expectations]
great-expectations~=0.18.0

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

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

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

[iceberg]
adlfs>=2023.1.0
pyarrow>=16.0
gcsfs~=2023.12.1
pydantic<2.12,>=2.7.0,~=2.0
pyiceberg==0.5.1

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

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

[kafkaconnect]
kafka-connect-py==0.10.11

[kinesis]
boto3==1.37.1

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

[mlflow]
mlflow-skinny~=3.6.0

[mongo]
pymongo~=4.3
pandas~=2.0.3
numpy<2

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

[mssql-odbc]
pyodbc<5,>=4.0.35
collate-data-diff[mssql]

[mysql]
pymysql~=1.0
collate-data-diff[mysql]

[nifi]

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

[opensearch]
opensearch-py~=2.4.0

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

[pandas]
pandas~=2.0.3
numpy<2

[pgspider]
sqlalchemy-pgspider
psycopg2-binary

[pii-processor]
pandas~=2.0.3
spacy<3.8
presidio-analyzer==2.2.358
numpy<2

[pinotdb]
pinotdb~=5.0

[playwright]
snowflake-sqlalchemy==1.9.0
collate-data-diff[mysql]
GeoAlchemy2~=0.12
pymysql~=1.0
google-cloud
azure-identity~=1.12
collate-data-diff[snowflake]
protobuf
google-cloud-logging
aiobotocore~=2.26.0
psycopg2-binary
asammdf~=7.4.5
sqlalchemy-bigquery~=1.15.0
mlflow-skinny~=3.6.0
google-cloud-datacatalog>=3.6.2
cramjam~=2.7
packaging
pytest-base-url
fastavro>=1.2.0
numpy<2
pyarrow>=16.0
apache-airflow==3.1.5
ijson~=3.4
attrs
azure-storage-blob~=12.14
pytest-playwright
presidio-analyzer==2.2.358
cachetools
grpcio-tools>=1.47.2
confluent_kafka<=2.6.1,>=2.1.1
sqlalchemy-redshift==0.8.12
boto3==1.37.1
avro<1.12,>=1.11.4
opentelemetry-exporter-otlp==1.37.0
pandas~=2.0.3
google-cloud-storage>=1.43.0
s3fs~=2023.12.1
collate-dbt-artifacts-parser

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

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

[presidio-analyzer]
presidio-analyzer==2.2.358

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

[pyarrow]
pyarrow>=16.0

[pymssql]
pymssql~=2.3.9

[qliksense]
websocket-client~=1.6.1

[quicksight]
boto3==1.37.1

[redash]
packaging

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

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

[sagemaker]
boto3==1.37.1

[salesforce]
simple_salesforce~=1.11
authlib>=1.3.1

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

[sap-hana]
sqlalchemy-hana
hdbcli

[sas]

[singlestore]
pymysql~=1.0

[sklearn]
scikit-learn~=1.0

[slim]
PyYAML~=6.0
kubernetes>=21.0.0
collate-data-diff[mysql]
setuptools>=78.1.1
Jinja2>=2.11.3
chardet==4.0.0
email-validator>=2.0
google-cloud
oracledb~=1.2
azure-identity~=1.12
collate-data-diff[snowflake]
protobuf
pinotdb~=5.0
google-cloud-logging
msal~=1.2
asammdf~=7.4.5
mlflow-skinny~=3.6.0
tabulate==0.9.0
google-cloud-datacatalog>=3.6.2
packaging
great-expectations~=1.0
elasticsearch8~=8.9.0
google-crc32c
croniter<3
collate-data-diff[clickhouse]
sqlalchemy-databricks~=0.1
fastavro>=1.2.0
impyla~=0.18.0
pymongo~=4.3
collate-sqllineage>=2.1.1
numpy<2
exasol-integration-test-docker-environment<4,>=3.1.0
httpx~=0.28.0
gcsfs~=2023.12.1
python-dotenv>=0.19.0
ijson~=3.4
sqlalchemy-ibmi~=0.9.3
collate-data-diff[mssql]
hdbcli
azure-keyvault-secrets
mypy_extensions>=0.4.3
opensearch-py~=2.4.0
presidio-analyzer==2.2.358
pure-transport==0.2.0
pyhive[hive_pure_sasl]~=0.7
snowflake-connector-python>=3.18.0
requests-aws4auth~=1.1
grpcio-tools>=1.47.2
cached-property==1.5.2
google-cloud-monitoring>=2.0.0
confluent_kafka<=2.6.1,>=2.1.1
trino[sqlalchemy]
memory-profiler
google-cloud-secret-manager==2.24.0
boto3==1.37.1
pyasn1~=0.6.0
spacy<3.8
antlr4-python3-runtime==4.11.1
pyodbc<5,>=4.0.35
dagster_graphql>=1.8.0
pandas~=2.0.3
typing-inspect
collate-data-diff[trino]
google-cloud-bigtable>=2.0.0
tableauserverclient==0.25
jaraco.context>=6.0.1
deltalake<0.20,>=0.19.0
collate-dbt-artifacts-parser
cassandra-driver>=3.28.0
collate-data-diff[oracle]
pymssql~=2.3.9
snowflake-sqlalchemy==1.9.0
GeoAlchemy2~=0.12
presto-types-parser>=0.0.2
collate-data-diff[presto]
pymysql~=1.0
pydruid>=0.6.5
sqlalchemy-cockroachdb~=2.0
requests-ntlm
python-liquid
requests>=2.23
sqlalchemy<2,>=1.4.0
aiobotocore~=2.26.0
sqlalchemy-pgspider
pydantic<2.12,>=2.7.0,~=2.0
importlib-metadata>=4.13.0
psycopg2-binary
python-dateutil>=2.8.1
authlib>=1.3.1
sqlalchemy-pytds~=0.3
sqlalchemy-bigquery~=1.15.0
simple_salesforce~=1.11
pydoris-custom<1.5,>=1.0.2
pyathena~=3.25.0
cramjam~=2.7
clickhouse-driver~=0.2
adlfs>=2023.1.0
giturlparse
gitpython~=3.1.34
thrift-sasl~=0.4
websocket-client~=1.6.1
looker-sdk!=24.18.0,>=22.20.0
pyarrow>=16.0
cx_Oracle<9,>=8.3.0
ndg-httpsclient~=0.5.1
azure-storage-blob~=12.14
thrift<1,>=0.13
neo4j~=5.3
collate-data-diff[vertica]
jaraco.functools<4.2.0
shapely
cachetools
lkml~=1.3
sqlalchemy-hana
couchbase~=4.1
sqlalchemy-redshift==0.8.12
jsonpatch<2.0,>=1.24
pyiceberg==0.5.1
cryptography>=42.0.0
pydantic-settings>=2.7.0,~=2.0
avro<1.12,>=1.11.4
kafka-connect-py==0.10.11
sqlalchemy-vertica[vertica-python]>=0.0.5
clickhouse-sqlalchemy~=0.2.0
databricks-sdk~=0.20.0
pyOpenSSL>=24.1.0
pydomo~=0.3
sqlalchemy_exasol<6,>=5
pure-sasl
google-cloud-storage>=1.43.0
validators~=0.22.0
s3fs~=2023.12.1
impyla[kerberos]~=0.18.0
teradatasqlalchemy==20.0.0.2
azure-storage-blob

[slim:python_version < "3.9"]
mysql-connector-python>=8.0.29

[slim:python_version >= "3.9"]
mysql-connector-python>=9.1

[snowflake]
snowflake-sqlalchemy==1.9.0
collate-data-diff[snowflake]

[ssrs]
requests-ntlm

[starrocks]
pymysql~=1.0

[superset]

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

[teradata]
teradatasqlalchemy==20.0.0.2

[test]
collate-data-diff[mysql]
pytest==7.0.1
oracledb~=1.2
protobuf
google-cloud-logging
asammdf~=7.4.5
mlflow-skinny~=3.6.0
freezegun
google-cloud-datacatalog>=3.6.2
elasticsearch8~=8.9.0
croniter<3
collate-data-diff[clickhouse]
sqlalchemy-databricks~=0.1
pytest-order
pymongo~=4.3
fastavro>=1.2.0
exasol-integration-test-docker-environment<4,>=3.1.0
numpy<2
gcsfs~=2023.12.1
apache-airflow==3.1.5
ijson~=3.4
collate-data-diff[mssql]
scikit-learn~=1.0
kafka-python==2.0.2
opensearch-py~=2.4.0
presidio-analyzer==2.2.358
factory-boy~=3.3.3
pyhive[hive_pure_sasl]~=0.7
delta-spark<4.0.0,>=3.0.0
grpcio-tools>=1.47.2
great-expectations~=0.18.0
trino[sqlalchemy]
confluent_kafka<=2.6.1,>=2.1.1
google-cloud-monitoring>=2.0.0
faker==37.1.0
spacy<3.8
boto3==1.37.1
dagster_graphql>=1.8.0
pandas~=2.0.3
google-cloud-bigtable>=2.0.0
tableauserverclient==0.25
collate-data-diff[oracle]
deltalake<0.20,>=0.19.0
cassandra-driver>=3.28.0
mypy-boto3-glue
snowflake-sqlalchemy==1.9.0
collate-dbt-artifacts-parser
locust~=2.32.0
GeoAlchemy2~=0.12
pytest-cov
pymysql~=1.0
requests<3,>=2.31.0
sqlalchemy-cockroachdb~=2.0
python-liquid
aiobotocore~=2.26.0
basedpyright~=1.14
sqlalchemy-pgspider
psycopg2-binary
sqlalchemy-pytds~=0.3
sqlalchemy-bigquery~=1.15.0
pydoris-custom<1.5,>=1.0.2
cramjam~=2.7
pyathena~=3.25.0
clickhouse-driver~=0.2
giturlparse
boto3-stubs
pyarrow>=16.0
looker-sdk!=24.18.0,>=22.20.0
cx_Oracle<9,>=8.3.0
coverage
neo4j~=5.3
minio==7.2.5
cachetools
lkml~=1.3
sqlalchemy-redshift==0.8.12
pyiceberg==0.5.1
dirty-equals
avro<1.12,>=1.11.4
kafka-connect-py==0.10.11
databricks-sdk~=0.20.0
pydomo~=0.3
opentelemetry-exporter-otlp==1.37.0
clickhouse-sqlalchemy~=0.2.0
validators~=0.22.0
sqlalchemy_exasol<6,>=5
google-cloud-storage>=1.43.0
s3fs~=2023.12.1
pyspark==3.5.6

[test-unit]
dirty-equals
factory-boy~=3.3.3
pytest-cov
pytest==7.0.1
pytest-rerunfailures
testcontainers
pytest-order
faker==37.1.0

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

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

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

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