typer<0.26,>=0.18.0
pydantic<2.14.0,>=2.8.2
pyyaml~=6.0.1
requests<2.34,>=2.31
fastjsonschema<2.22.0,>=2.19.1
jsonschema<5.0.0,>=4.23.0
pytz>=2024.1
python-multipart<1.0.0,>=0.0.20
rich<16.0,>=13.7
sqlglot<31.0.0,>=26.6.0
python-dotenv<2.0.0,>=1.0.0
boto3<2.0.0,>=1.34.41
Jinja2<4.0.0,>=3.1.5
jinja_partials<1.0.0,>=0.2.1
datacontract-specification<2.0.0,>=1.2.3
open-data-contract-standard<4.0.0,>=3.1.2
deepdiff<10.0.0,>=6.0.0
setuptools>=70

[all]
datacontract-cli[api,athena,bigquery,csv,databricks,dbml,duckdb,excel,iceberg,impala,kafka,mysql,oracle,parquet,postgres,protobuf,rdf,s3,snowflake,sqlserver,trino]

[api]
fastapi==0.136.1
uvicorn==0.44.0

[athena]
soda-core-athena<3.6.0,>=3.3.20

[avro]
avro==1.12.1

[bigquery]
soda-core-bigquery<3.6.0,>=3.3.20

[csv]
pandas>=2.0.0

[databricks]
soda-core-spark-df<3.6.0,>=3.3.20
soda-core-spark[databricks]<3.6.0,>=3.3.20
databricks-sql-connector<4.3.0,>=3.7.0
databricks-sdk<0.106.0
pyspark<5.0.0,>=3.5.0

[dbml]
pydbml>=1.1.1

[dev]
datacontract-cli[all]
httpx==0.28.1
kafka-python
minio==7.2.20
moto==5.1.22
pandas>=2.1.0
pre-commit<4.6.0,>=3.7.1
pytest
pytest-xdist
pymssql==2.3.13
ruff==0.15.12
testcontainers[kafka,minio,mssql,mysql,postgres]==4.14.2
trino==0.337.0

[duckdb]
duckdb<1.6.0,>=1.0.0
soda-core-duckdb<3.6.0,>=3.3.20

[excel]
openpyxl<4.0.0,>=3.1.5

[iceberg]
pyiceberg==0.11.1

[impala]
soda-core-impala<3.6.0,>=3.3.20

[kafka]
datacontract-cli[avro]
soda-core-spark-df<3.6.0,>=3.3.20
pyspark<5.0.0,>=3.5.0

[mysql]
soda-core-mysql<3.6.0,>=3.3.20
mysql-connector-python<9.7.0,>=8.0.30

[oracle]
soda-core-oracle<3.6.0,>=3.3.20

[parquet]
pyarrow>=18.1.0

[postgres]
soda-core-postgres<3.6.0,>=3.3.20

[protobuf]
protobuf<7.0,>=3.20

[rdf]
rdflib==7.6.0

[s3]
s3fs<2027.0.0,>=2025.2.0
aiobotocore<3.6.0,>=2.17.0

[snowflake]
snowflake-connector-python[pandas]<4.5,>=3.6
soda-core-snowflake<3.6.0,>=3.3.20

[sqlserver]
soda-core-sqlserver<3.6.0,>=3.3.20

[trino]
soda-core-trino<3.6.0,>=3.3.20
