typer<0.25,>=0.18.0
pydantic<2.13.0,>=2.8.2
pyyaml~=6.0.1
requests<2.33,>=2.31
fastjsonschema<2.22.0,>=2.19.1
pytz>=2024.1
python-multipart<1.0.0,>=0.0.20
rich<15.0,>=13.7
sqlglot<29.0.0,>=26.6.0
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.3
open-data-contract-standard<4.0.0,>=3.1.2

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

[api]
fastapi==0.129.0
uvicorn==0.40.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.86.0
pyspark<5.0.0,>=3.5.0
numpy<2.0.0,>=1.26.4

[dbml]
pydbml>=1.1.1

[dbt]
dbt-core>=1.8.0

[dev]
datacontract-cli[all]
httpx==0.28.1
kafka-python
minio==7.2.20
moto==5.1.21
pandas>=2.1.0
pre-commit<4.6.0,>=3.7.1
pytest
pytest-xdist
pymssql==2.3.13
ruff==0.14.3
testcontainers[kafka,minio,mssql,postgres]==4.14.1
trino==0.336.0

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

[excel]
openpyxl<4.0.0,>=3.1.5

[iceberg]
pyiceberg==0.10.0

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

[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]
grpcio-tools>=1.53

[rdf]
rdflib==7.6.0

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

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