pydantic<3.0.0,>=2.0.0
pyyaml<7.0,>=6.0
pandas<2.2.0,>=2.0.0
numpy<2.0.0,>=1.24.0
bottleneck<2.0.0,>=1.3.6
python-dotenv<2.0.0,>=1.0.0
markdown2<3.0.0,>=2.4.0
Jinja2<4.0.0,>=3.1.0
portalocker<3.0.0,>=2.7.0
pyarrow<17.0.0,>=14.0.0
fastapi<1.0.0,>=0.100.0
uvicorn<1.0.0,>=0.20.0
deltalake<0.30.0,>=0.18.0
rich<14.0.0,>=13.0.0
requests<3.0.0,>=2.28.0
importlib_metadata>=4.0.0
duckdb<1.1.0,>=0.9.0
openpyxl<4.0.0,>=3.1.0
fastexcel>=0.9.0
fsspec>=2023.1.0
pint<1.0.0,>=0.23

[all]
pyspark>=3.4.0
delta-spark>=2.3.0
duckdb>=0.9.0
pandasql>=0.7.3
deltalake>=0.13.0
fastavro>=1.8.0
pyarrow>=10.0.0
azure-storage-blob>=12.0.0
azure-identity>=1.14.0
azure-keyvault-secrets>=4.7.0
adlfs>=2023.1.0
pyodbc>=5.0.0
sqlalchemy>=2.0.0
psycopg2-binary>=2.9.0
polars<1.37.0,>=0.20.0
opentelemetry-api>=1.20.0
opentelemetry-sdk>=1.20.0
opentelemetry-exporter-otlp>=1.20.0
openlineage-python>=1.0.0
rich>=13.0.0
gradio>=4.0.0

[azure]
azure-storage-blob>=12.0.0
azure-identity>=1.14.0
azure-keyvault-secrets>=4.7.0
adlfs>=2023.1.0

[cli]
rich>=13.0.0

[dev]
pytest>=7.4.0
pytest-cov>=4.1.0
black==25.11.0
ruff>=0.1.0
mypy>=1.5.0
pre-commit>=3.4.0
pyspark>=3.4.0
delta-spark>=2.3.0
pyarrow>=10.0.0
azure-identity>=1.14.0
azure-keyvault-secrets>=4.7.0
deltalake>=0.13.0
duckdb>=0.9.0
pandasql>=0.7.3
mkdocs-material>=9.0.0
mkdocstrings[python]>=0.20.0
rich>=13.0.0

[lineage]
openlineage-python>=1.0.0

[mcp]
mcp>=1.0.0
python-dotenv>=1.0.0
fsspec>=2023.1.0
scikit-learn>=1.0.0

[mcp-rag]
mcp>=1.0.0
python-dotenv>=1.0.0
fsspec>=2023.1.0
chromadb>=0.4.0
sentence-transformers>=2.2.0

[pandas]
duckdb>=0.9.0
pandasql>=0.7.3
fastavro>=1.8.0

[polars]
polars<1.37.0,>=0.20.0

[postgres]
psycopg2-binary>=2.9.0
sqlalchemy>=2.0.0

[spark]
pyspark>=3.4.0
delta-spark>=2.3.0

[sql]
pyodbc>=5.0.0
sqlalchemy>=2.0.0

[telemetry]
opentelemetry-api>=1.20.0
opentelemetry-sdk>=1.20.0
opentelemetry-exporter-otlp>=1.20.0

[thermodynamics]
CoolProp>=6.4.0
iapws>=1.5.0
psychrolib>=2.5.0
