typer<0.17,>=0.15.1
pydantic<2.12.0,>=2.8.2
pyyaml~=6.0.1
requests<2.33,>=2.31
fastjsonschema<2.22.0,>=2.19.1
fastparquet<2025.0.0,>=2024.5.0
numpy<2.0.0,>=1.26.4
python-multipart<1.0.0,>=0.0.20
rich<15.0,>=13.7
sqlglot<27.0.0,>=26.6.0
duckdb<2.0.0,>=1.0.0
soda-core-duckdb<3.6.0,>=3.3.20
setuptools>=60
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.0
open-data-contract-standard<4.0.0,>=3.0.4

[all]
datacontract-cli[api,bigquery,csv,databricks,dbml,dbt,excel,iceberg,kafka,parquet,postgres,protobuf,rdf,s3,snowflake,sqlserver,trino]

[api]
fastapi==0.116.1
uvicorn==0.35.0

[avro]
avro==1.12.0

[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.1.0,>=3.7.0
databricks-sdk<0.59.0
pyspark<4.0.0,>=3.5.5

[dbml]
pydbml>=1.1.1

[dbt]
dbt-core>=1.8.0

[dev]
datacontract-cli[all]
httpx==0.28.1
kafka-python
moto==5.1.6
pandas>=2.1.0
pre-commit<4.3.0,>=3.7.1
pytest
pytest-xdist
pymssql==2.3.7
ruff
testcontainers[kafka,minio,mssql,postgres]==4.10.0
trino==0.335.0

[excel]
openpyxl<4.0.0,>=3.1.5

[iceberg]
pyiceberg==0.9.1

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

[parquet]
pyarrow>=18.1.0

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

[protobuf]
grpcio-tools>=1.53

[rdf]
rdflib==7.0.0

[s3]
s3fs<2026.0.0,>=2025.2.0
aiobotocore<2.24.0,>=2.17.0

[snowflake]
snowflake-connector-python[pandas]<3.16,>=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
