numpy>=1.21.0
scikit-learn>=1.0.0
pydantic>=2.0.0
typing-extensions>=4.0.0
torch>=1.9.0
transformers>=4.20.0
sentence-transformers>=2.2.0
datasets>=2.0.0
fastapi>=0.100.0
uvicorn[standard]>=0.22.0
python-multipart>=0.0.6
langchain>=0.0.200
openai>=1.0.0
anthropic>=0.3.0
tiktoken>=0.4.0
spacy>=3.4.0
nltk>=3.8.0
textstat>=0.7.0
rouge-score>=0.1.2
scipy>=1.9.0
matplotlib>=3.5.0
seaborn>=0.11.0
plotly>=5.0.0
pandas>=1.5.0
tqdm>=4.64.0
joblib>=1.2.0

[all]
context-compressor[api,integrations,ml,nlp]

[api]
fastapi>=0.100.0
uvicorn[standard]>=0.22.0
python-multipart>=0.0.6

[dev]
pytest>=7.0.0
pytest-cov>=4.0.0
pytest-mock>=3.10.0
pytest-asyncio>=0.21.0
black>=23.0.0
isort>=5.12.0
flake8>=6.0.0
mypy>=1.0.0
pre-commit>=3.0.0

[docs]
sphinx>=6.0.0
sphinx-rtd-theme>=1.2.0
sphinxcontrib-napoleon>=0.7
myst-parser>=1.0.0

[full]
context-compressor[all,dev,docs]

[integrations]
langchain>=0.0.200
openai>=1.0.0
anthropic>=0.3.0
tiktoken>=0.4.0

[ml]
torch>=1.9.0
transformers>=4.20.0
sentence-transformers>=2.2.0
datasets>=2.0.0

[nlp]
spacy>=3.4.0
nltk>=3.8.0
textstat>=0.7.0
