Supported Libraries
Every valid instrumentation key for neatlogs.init(instrumentations=[...]), with install commands and version requirements.
Pass any combination of these keys to instrumentations in neatlogs.init(). Install the matching extra first (or the library itself — the extra just pins a known-good version).
neatlogs.init(
instrumentations=["langchain", "chromadb"],
api_key="...",
)Many of these libraries also work with neatlogs.wrap(client) instead of an instrumentations key — wrap() has no import-order rule. See the Python SDK and per-library Integrations for runnable examples.
LLM providers
| Key | Install | Notes |
|---|---|---|
openai | pip install "neatlogs[openai]" | openai>=1.0.0. Also covers AzureOpenAI. |
azure_openai | pip install "neatlogs[azure-openai]" | openai>=1.0.0 |
azure_ai_inference | pip install "neatlogs[azure-ai-inference]" | Azure AI Inference SDK. Required when CrewAI dispatches to Azure. |
anthropic | pip install "neatlogs[anthropic]" | anthropic>=0.75.0 |
google_genai | pip install "neatlogs[google-genai]" | google-genai>=1.55.0. Construct the client after init(). |
google_generativeai | — | Legacy google.generativeai SDK. |
vertex_ai | pip install "neatlogs[vertex-ai]" | Vertex AI via the google-genai SDK in Vertex mode. |
vertexai | pip install "neatlogs[vertexai]" | google-cloud-aiplatform>=1.38.0 |
bedrock | pip install "neatlogs[bedrock]" | boto3>=1.42.11 |
litellm | pip install "neatlogs[litellm]" | litellm>=1.80.11 |
cohere | — | Cohere SDK. |
groq | pip install "neatlogs[groq]" | groq>=0.37.1 |
mistralai | pip install "neatlogs[mistralai]" | mistralai>=1.0.0 |
together | — | Together AI. |
ollama | — | Local Ollama models. |
replicate | — | Replicate. |
openrouter | — | OpenRouter (also via neatlogs.wrap). |
huggingface_hub | — | Hugging Face Hub inference. |
alephalpha | — | Aleph Alpha. |
watsonx | — | IBM watsonx. |
sagemaker | — | AWS SageMaker. |
portkey | pip install "neatlogs[portkey]" | portkey-ai>=1.0.0 |
Agent frameworks
| Key | Install | Notes |
|---|---|---|
langchain | pip install "neatlogs[langchain]" | Covers LangGraph execution and langchain_openai / langchain_anthropic / etc. |
langgraph | pip install "neatlogs[langgraph]" | langgraph>=1.0.4. Add only for graph-level spans beyond what langchain captures. |
crewai | pip install "neatlogs[crewai]" | crewai>=1.9.3. Also add the provider key matching crewai.LLM(model=...). |
openai_agents | pip install "neatlogs[openai-agents]" | openai-agents>=0.6.5 |
pydantic_ai | pip install "neatlogs[pydantic-ai]" | pydantic-ai>=0.0.9 |
dspy | pip install "neatlogs[dspy]" | dspy>=2.6.13 (OpenInference; silent no-op below this — use wrap() instead). |
agno | pip install "neatlogs[agno]" | agno>=2.3.13 |
google_adk | pip install "neatlogs[google-adk]" | google-adk>=1.14.1 |
strands | — | Strands agents (also neatlogs.strands_hooks(agent)). |
autogen | pip install "neatlogs[autogen-agentchat]" | autogen-agentchat>=0.4.0 |
haystack | pip install "neatlogs[haystack]" | haystack-ai>=2.0.0 |
llamaindex | pip install "neatlogs[llama-index]" | llama-index>=0.14.10 |
smolagents | pip install "neatlogs[smolagents]" | smolagents>=1.0.0 |
hermes | pip install "neatlogs[hermes]" | hermes-agent>=0.15.1 |
beeai | — | BeeAI framework. |
pipecat | — | Pipecat voice agents. |
promptflow | — | Microsoft Promptflow. |
CrewAI routing: "crewai" alone is not enough — CrewAI dispatches via LiteLLM. Add the provider key matching your crewai.LLM(model=...) prefix: gpt-* → openai, azure/* → azure_ai_inference, gemini/* → google_genai, claude-* → anthropic.
Vector databases
| Key | Install | Notes |
|---|---|---|
chromadb | pip install "neatlogs[langchain]" (bundled) or chromadb | Auto-instrumented when installed. |
pinecone | — | Auto-instrumented when installed. |
qdrant | — | Auto-instrumented when installed. |
weaviate | — | Auto-instrumented when installed. |
milvus | pip install "neatlogs[milvus]" | pymilvus>=2.4.0,<2.5.0 |
elasticsearch | — | Auto-instrumented when installed. |
redis | — | Auto-instrumented when installed (vector search). |
marqo | — | Auto-instrumented when installed. |
If you use LangChain retrievers wrapping these (common for RAG), instrumentations=["langchain"] already captures the retrieval spans — a dedicated vector-DB key is only needed when you call the DB client directly.
Other
| Key | Install | Notes |
|---|---|---|
mcp | pip install "neatlogs[mcp]" | mcp>=1.0.0. Model Context Protocol tools. |
instructor | pip install "neatlogs[instructor]" | instructor>=1.0.0 |
guardrails | pip install "neatlogs[guardrails]" | guardrails-ai>=0.4.0 |
httpx / requests / aiohttp | — | HTTP-client instrumentation for raw LLM calls. |
A library version below its instrumentor's minimum may silently emit no spans (notably dspy < 2.6.13). If a provider isn't traced, check the version, confirm the key is in instrumentations=[], and ensure init() runs before the import. See Python SDK → Auto-instrumentation.