pydantic<3.0.0,>=2.8.0
requests<3.0.0,>=2.32.0
python-dotenv<2.0.0,>=1.0.1
pyyaml<7.0.0,>=6.0.1
tenacity<9.0.0,>=8.5.0
tqdm<5.0.0,>=4.66.0
coloredlogs<16.0.0,>=15.0.1
openai<2.0.0,>=1.68.2
tiktoken<1.0.0,>=0.7.0
langchain-core<0.4.0,>=0.3.5
pandas<3.0.0,>=2.2.0
jsonlines<5.0.0,>=4.0.0
pypdf<5.0.0,>=4.3.0

[ai]
transformers<5.0.0,>=4.46.0
sentence-transformers<4.0.0,>=3.2.0
scikit-learn<2.0.0,>=1.5.0
datasets<4.0.0,>=3.0.0
pyarrow<18.0.0,>=17.0.0

[all]
raft-toolkit[ai,cloud,dev,documents,embeddings,kubernetes,langchain,tracing,web]

[cloud]
boto3<1.36.0,>=1.35.0
botocore<1.36.0,>=1.35.0
azure-identity<1.19.0,>=1.18.0
azure-core<1.32.0,>=1.31.0
azure-keyvault-secrets<4.9.0,>=4.8.0
azure-storage-blob<12.25.0,>=12.23.0
requests-oauthlib<1.4.0,>=1.3.1
msal<1.32.0,>=1.31.0

[complete]
raft-toolkit[ai,cloud,documents,embeddings,langchain,tracing]

[dev]
pytest<9.0.0,>=8.3.0
pytest-asyncio<1.0.0,>=0.24.0
pytest-cov<7.0.0,>=6.0.0
pytest-mock<4.0.0,>=3.14.0
pytest-timeout<3.0.0,>=2.1.0
httpx<1.0.0,>=0.28.0
flake8<8.0.0,>=7.1.0
black<25.0.0,>=24.10.0
isort<6.0.0,>=5.13.0
mypy<2.0.0,>=1.13.0
types-requests<3.0.0,>=2.32.0
types-PyYAML<7.0.0,>=6.0.0
types-simplejson<4.0.0,>=3.20.0
types-ujson<6.0.0,>=5.10.0
bandit<2.0.0,>=1.8.0
safety<4.0.0,>=3.2.0

[documents]
python-pptx<1.0.0,>=0.6.23
pdfplumber<1.0.0,>=0.11.0

[embeddings]
nomic<4.0.0,>=3.1.0

[kubernetes]
kubernetes<31.0.0,>=30.1.0
jinja2<4.0.0,>=3.1.4
prometheus-client<1.0.0,>=0.21.0

[langchain]
langchain-openai<0.4.0,>=0.3.7
langchain-community<0.4.0,>=0.3.7
langchain-experimental<0.4.0,>=0.3.3
langchain-text-splitters<0.4.0,>=0.3.2

[minimal]
raft-toolkit[langchain]

[standard]
raft-toolkit[ai,documents,embeddings,langchain]

[tracing]
opentelemetry-api<2.0.0,>=1.32.1
opentelemetry-sdk<2.0.0,>=1.32.1
structlog<25.0.0,>=24.4.0
sentry-sdk<3.0.0,>=2.17.0
langwatch<0.5.0,>=0.2.0

[web]
fastapi<1.0.0,>=0.115.6
starlette<1.0.0,>=0.41.0
uvicorn[standard]<1.0.0,>=0.32.0
python-multipart<1.0.0,>=0.0.18
aiofiles<25.0.0,>=24.1.0
redis<6.0.0,>=5.2.0
celery<6.0.0,>=5.4.0
