tiktoken>=0.5
PyYAML>=6.0
rank-bm25>=0.2
mcp>=1.0
jsonschema>=4.0
typer>=0.9
rich>=13.0

[agno]
agno>=1.0

[all]
contextweaver[retrieval]
contextweaver[ann]
contextweaver[embeddings]
contextweaver[otel]
contextweaver[graph]
contextweaver[weaver-spec]
contextweaver[voice]
contextweaver[langgraph]
contextweaver[e2e-eval]

[ann]
hnswlib>=0.8

[cli]

[crewai]
crewai>=0.80

[dev]
pytest>=8.0
pytest-asyncio>=0.23
pytest-cov>=5.0
ruff>=0.4
mypy>=1.10
pre-commit>=3.7
weaver_contracts<1,>=0.2
jsonschema>=4.18
crewai>=0.80
mem0ai>=0.1
fastmcp>=2.0
langgraph>=0.2

[docs]
mkdocs<2,>=1.6
mkdocs-material<10,>=9.5
mkdocstrings[python]<1,>=0.25
mkdocs-gen-files<1,>=0.5
mkdocs-literate-nav<1,>=0.6
mkdocs-section-index<1,>=0.3

[e2e-eval]

[embeddings]
sentence-transformers>=2.0

[fastmcp]
fastmcp>=2.0

[graph]
networkx>=3.0

[langchain]
langchain-core>=0.3

[langgraph]
langgraph>=0.2

[mem0]
mem0ai>=0.1

[otel]
opentelemetry-api>=1.27
opentelemetry-sdk>=1.27
opentelemetry-semantic-conventions>=0.48b0

[pydantic-ai]
pydantic-ai>=0.0.20

[retrieval]
rapidfuzz>=3.0

[smolagents]
smolagents>=1.0

[sqlite]

[voice]
pipecat-ai>=0.0.50

[weaver-spec]
weaver_contracts<1,>=0.2
