lexigram>=0.1.0
lexigram-connect>=0.1.0
pydantic>=2.0.0
pydantic-settings>=2.0.0

[ai]
tiktoken>=0.5.0
jinja2>=3.1.0
chromadb>=0.4.0
qdrant-client>=1.7.0
pgvector>=0.2.0
pypdf>=3.0.0
scikit-learn>=1.3.0

[all]
openai>=1.0.0
anthropic>=0.20.0
ollama>=0.1.0
chromadb>=0.4.0
qdrant-client>=1.7.0
pgvector>=0.2.0
psycopg[binary]>=3.1.0
weaviate-client>=3.20.0
pinecone-client>=2.2.0
milvus>=2.3.0
pypdf>=3.0.0
beautifulsoup4>=4.12.0
markdown>=3.5.0
sentence-transformers>=2.2.0
scikit-learn>=1.3.0
xgboost>=2.0.0
joblib>=1.3.0
numpy>=1.25.0
scipy>=1.11.0
tiktoken>=0.5.0
jinja2>=3.1.0
redis>=5.0.0
lexigram-testing>=0.1.0
pytest>=8.0.0
pytest-asyncio>=0.21.0
pytest-cov>=4.0.0
pytest-mock>=3.10.0
jsonschema>=4.0.0
pyyaml>=6.0
black>=23.0.0
ruff>=0.1.0
mypy>=1.0.0
pre-commit>=3.0.0
mkdocs>=1.4.0
mkdocs-material>=9.0.0

[dev]
black>=23.0.0
ruff>=0.1.0
mypy>=1.0.0
pre-commit>=3.0.0
types-Pillow>=9.0.0
types-beautifulsoup4>=4.12.0
types-PyYAML>=6.0
types-requests>=2.31.0

[docs]
mkdocs>=1.4.0
mkdocs-material>=9.0.0

[llm]
openai>=1.0.0
anthropic>=0.20.0
ollama>=0.1.0
openrouter>=0.1.0

[llm-utils]
tiktoken>=0.5.0
jinja2>=3.1.0
redis>=5.0.0

[ml]
scikit-learn>=1.3.0
xgboost>=2.0.0
joblib>=1.3.0
numpy>=1.25.0
scipy>=1.11.0

[rag]
pypdf>=3.0.0
beautifulsoup4>=4.12.0
markdown>=3.5.0
sentence-transformers>=2.2.0

[test]
lexigram-testing>=0.1.0
pytest>=8.0.0
pytest-asyncio>=0.21.0
pytest-cov>=4.0.0
pytest-mock>=3.10.0
jsonschema>=4.0.0
pyyaml>=6.0

[vector]
chromadb>=0.4.0
qdrant-client>=1.7.0
pgvector>=0.2.0
psycopg[binary]>=3.1.0
weaviate-client>=3.20.0
pinecone-client>=2.2.0
milvus>=2.3.0
