dendrux
v0.2.0a1 · alphaGet started

Every public symbol Dendrux exports, grouped by area, with its import path and a one-line description. The map for navigating the rest of the docs.

API glossary

This is the full public surface of Dendrux: everything you import in normal use. Each entry links to the page that explains it in depth. If a symbol is not listed here, treat it as internal and subject to change.

Core

SymbolImportWhat it is
Agentfrom dendrux import AgentThe agent: definition + runtime facade. See Agent.
toolfrom dendrux import toolDecorator that turns an async function into a tool.
Budgetfrom dendrux import BudgetAdvisory per-run token cap. See Budget.
runfrom dendrux import runLow-level functional runner behind Agent.run (advanced use).
sweepfrom dendrux import sweepOne-shot reconciliation of stale/abandoned runs (you schedule it).

Loops

SymbolImportWhat it is
ReActLoopfrom dendrux.loops import ReActLoopDefault loop: think, act, observe, repeat. See Loops.
SingleCallfrom dendrux import SingleCallOne LLM call, no tools, supports output_type.
Loopfrom dendrux.loops import LoopBase class for custom loops.

Chat history

SymbolImportWhat it is
ChatMessagefrom dendrux.chat import ChatMessageOne prior turn passed via history=. See Chatbot threads.
ChatRolefrom dendrux.chat import ChatRoleUSER or ASSISTANT.

Providers

SymbolImportWhat it is
AnthropicProviderfrom dendrux.llm.anthropic import AnthropicProviderAnthropic Messages API provider.
OpenAIProviderfrom dendrux.llm.openai import OpenAIProviderOpenAI Chat Completions provider.
OpenAIResponsesProviderfrom dendrux.llm.openai_responses import OpenAIResponsesProviderOpenAI Responses API provider (built-in tools).

Caching is automatic for all built-in providers. See Prompt cache.

Guardrails

SymbolImportWhat it is
PIIfrom dendrux.guardrails import PIIRedact/block/warn on PII (regex or Presidio). See Guardrails.
SecretDetectionfrom dendrux.guardrails import SecretDetectionBlock on leaked secrets (AWS keys, tokens, PEM).
PromptInjectionfrom dendrux.guardrails import PromptInjectionRegex injection guard (you supply patterns). See Patterns.
Patternfrom dendrux.guardrails import PatternA named regex Pattern(name, regex).
Guardrailfrom dendrux.guardrails import GuardrailProtocol for custom guardrails (async scan(text)).
Findingfrom dendrux.guardrails import FindingOne detection: entity type, span, score, text.

Notifiers

SymbolImportWhat it is
ConsoleNotifierfrom dendrux.notifiers import ConsoleNotifierRich terminal output. See Notifier.
CompositeNotifierfrom dendrux.notifiers import CompositeNotifierFan one event set out to many notifiers.
OpenTelemetryNotifierfrom dendrux.notifiers.otel import OpenTelemetryNotifierGenAI-semconv spans. See OpenTelemetry.
BaseNotifierfrom dendrux.loops.base import BaseNotifierNo-op base to subclass for custom notifiers.

Persistence and reads

SymbolImportWhat it is
RunStorefrom dendrux.store import RunStoreRead-only facade over the six tables. See RunStore.
make_read_routerfrom dendrux.http import make_read_routerMountable FastAPI read router. See make_read_router.

RunStore read methods return these record types (all from dendrux.store): RunSummary, RunDetail, StoredEvent, LLMCall, ToolInvocation, TraceEntry, PausePair. Fields are documented on the RunStore page.

Tool sources

SymbolImportWhat it is
MCPSourcefrom dendrux.mcp import MCPSourceImmutable HTTP or stdio source configuration. See MCP.
MCPRuntimefrom dendrux.mcp import MCPRuntimeProcess-wide managed owner of MCP connections: tenancy, capacity, circuit breaking, telemetry. Recommended for production.
MCPConnectionruntime.bind(...)Lazy handle for one (tenant_key, connection_key) identity; connection.tools() creates agent views.
MCPToolViewconnection.tools(...)Namespace and tool policy one agent consumes via tool_sources=.
MCPCredentialProviderfrom dendrux.mcp import MCPCredentialProviderAsync protocol returning per-connect authentication (headers or env); resolved lazily, never persisted.
MCPRuntimeObserverfrom dendrux.mcp import MCPRuntimeObserverSync callback protocol receiving typed runtime lifecycle events; pair with runtime.snapshot().
MCPHostfrom dendrux.mcp import MCPHostApplication-owned connections shared across a few agents, without tenancy or capacity; prefer MCPRuntime in services.
MCPServerfrom dendrux.mcp import MCPServerBackward-compatible source facade; prefer MCPSource in new code.

Result and event types

SymbolImportWhat it is
RunResultfrom dendrux.types import RunResultReturned by run/resume/submit_*/cancel_run.
RunStatusfrom dendrux.types import RunStatuspending, running, waiting_*, success, error, cancelled, max_iterations.
RunStreamfrom dendrux.types import RunStreamAsync iterable returned by stream()/resume_stream().
RunEvent / RunEventTypefrom dendrux.types import RunEvent, RunEventTypeStreaming events (text_delta, tool_use_*, run_*).
ToolResultfrom dendrux.types import ToolResultA tool result you submit via submit_tool_results.
GovernanceEventTypefrom dendrux import GovernanceEventTypeThe 15 governance event types. See Governance.
CreateRunResultfrom dendrux import CreateRunResultIdempotent-create outcome.

Errors

All exceptions live in dendrux.errors (and the most common ones are re-exported from dendrux). Full table with when-raised and suggested HTTP mappings on the Errors page: RunNotFoundError, RunNotPausedError, PauseStatusMismatchError, RunAlreadyClaimedError, RunAlreadyTerminalError, InvalidToolResultError, PersistenceNotConfiguredError, SchemaNotInitializedError. Plus RunAlreadyActiveError, IdempotencyConflictError, StructuredOutputValidationError, DelegationDepthExceededError from dendrux.

Where to go next