jsonschema>=4.18
PyYAML>=6.0

[:python_version < "3.11"]
tomli>=2.0

[anthropic]
anthropic>=0.25
backoff>=2.0
tiktoken>=0.7

[bedrock]
anthropic[bedrock]>=0.25
backoff>=2.0
tiktoken>=0.7

[dev]
black>=24.0
build>=1.2
coverage[toml]>=7.6
httpx>=0.27
pytest>=8.0
twine>=6.0

[full]
anthropic>=0.25
backoff>=2.0
black>=24.0
openai>=1.40
zhipuai>=2.0
matplotlib>=3.8
pillow>=10
pandas>=2
pypdf>=4
pymupdf>=1.24
pymupdf4llm>=0.0.20
seaborn>=0.13
numpy>=1.26
psutil>=5.9
requests>=2.31
scikit-learn>=1.4
transformers>=4.40
datasets>=2.19
tiktoken>=0.7
tqdm>=4.66
rich>=13
humanize>=4
dataclasses-json>=0.6
genson>=1.2
shutup>=0.2
python-igraph>=0.11
coolname>=2
omegaconf>=2.3
boto3>=1.34
huggingface-hub>=0.23

[ml]
numpy>=1.26
pandas>=2
scikit-learn>=1.4
transformers>=4.40
datasets>=2.19
huggingface-hub>=0.23

[openai]
openai>=1.40
backoff>=2.0
tiktoken>=0.7

[openai-compatible]
openai>=1.40
backoff>=2.0
requests>=2.31
tiktoken>=0.7

[pdf]
pypdf>=4
pymupdf>=1.24

[pdf-layout]
pymupdf>=1.24
pymupdf4llm>=0.0.20

[plot]
matplotlib>=3.8
pillow>=10
pandas>=2
seaborn>=0.13
numpy>=1.26
python-igraph>=0.11

[research]
backoff>=2.0
black>=24.0
matplotlib>=3.8
pillow>=10
pandas>=2
pypdf>=4
pymupdf>=1.24
seaborn>=0.13
numpy>=1.26
psutil>=5.9
requests>=2.31
scikit-learn>=1.4
tiktoken>=0.7
tqdm>=4.66
rich>=13
humanize>=4
dataclasses-json>=0.6
genson>=1.2
shutup>=0.2
python-igraph>=0.11
coolname>=2
omegaconf>=2.3
huggingface-hub>=0.23

[service]
fastapi>=0.115
pydantic>=2.5
uvicorn[standard]>=0.30

[trust]
cryptography>=42

[vertex]
anthropic[vertex]>=0.25
backoff>=2.0
tiktoken>=0.7

[zhipu]
zhipuai>=2.0
openai>=1.40
backoff>=2.0
tiktoken>=0.7
