pydantic>=2.7
typer>=0.12
tqdm>=4.66
pyyaml>=6.0

[all]
pyarrow>=15.0
datasets>=3.0
huggingface_hub>=0.26
tiktoken>=0.7
litellm>=1.60
tenacity>=9.0
nest-asyncio>=1.6
sentence-transformers>=3.0
numpy>=2.0
faiss-cpu>=1.9
detoxify>=0.5
detect-secrets>=1.4
presidio-analyzer>=2.2
presidio-anonymizer>=2.2
spacy>=3.7
faker>=26.0

[connectors]
pyarrow>=15.0
datasets>=3.0
huggingface_hub>=0.26

[dev]
pytest>=8.0
pytest-cov>=6.0
pytest-asyncio>=0.23
pytest-timeout>=2.3
ruff>=0.4
mypy>=1.10
build>=1.2
twine>=5.0
check-wheel-contents>=0.6
pre-commit>=3.7

[docs]
mkdocs-material>=9.5
mkdocstrings[python]>=0.27
mike>=2.1

[embedding]
sentence-transformers>=3.0
numpy>=2.0

[embedding-faiss]
sentence-transformers>=3.0
numpy>=2.0
faiss-cpu>=1.9

[generation]
litellm>=1.60
tenacity>=9.0
nest-asyncio>=1.6

[generation-full]
litellm>=1.60
tenacity>=9.0
nest-asyncio>=1.6
sentence-transformers>=3.0
numpy>=2.0
faiss-cpu>=1.9

[hf]
datasets>=3.0
huggingface_hub>=0.26

[hygiene]
detoxify>=0.5
detect-secrets>=1.4
presidio-analyzer>=2.2
presidio-anonymizer>=2.2
spacy>=3.7
faker>=26.0

[parquet]
pyarrow>=15.0

[pdf]
mineru[pipeline]>=3.0

[tiktoken]
tiktoken>=0.7

[trl]
trl>=0.21
transformers>=5.0
torch>=2.3
datasets>=3.0
