Skip to content

Installation

PyPI

Requirements

  • Python 3.9 or later
  • No required third-party dependencies for core event creation

Install from PyPI

pip install spanforge

The PyPI distribution is named spanforge. The Python import name remains spanforge.

Optional extras

ExtraInstall commandWhat it enables
jsonschemapip install "spanforge[jsonschema]"validate_event with full JSON Schema validation
identitypip install "spanforge[identity]"SFIdentityClient RS256 JWT support via cryptography; required only when connecting to a remote sf-identity service (local mode uses stdlib HS256 with no extra)
openaipip install "spanforge[openai]"spanforge.integrations.openai — auto-instruments the OpenAI Python SDK via patch() / unpatch(); includes _pricing module (unified USD/1M-token table covering OpenAI, Anthropic, Groq, and Together AI models)
httppip install "spanforge[http]"OTLPExporter and WebhookExporter (stdlib transport; reserved for future httpx upgrade)
pydanticpip install "spanforge[pydantic]"spanforge.models — Pydantic v2 model layer, model_json_schema()
otelpip install "spanforge[otel]"OTelBridgeExporter — emits events through any configured TracerProvider (opentelemetry-sdk>=1.24)
kafkapip install "spanforge[kafka]"EventStream.from_kafka() via kafka-python>=2.0
langchainpip install "spanforge[langchain]"LLMSchemaCallbackHandler via langchain-core>=0.2
llamaindexpip install "spanforge[llamaindex]"LLMSchemaEventHandler via llama-index-core>=0.10
crewaipip install "spanforge[crewai]"SpanForgeCrewAIHandler and patch() via crewai>=0.28
anthropicpip install "spanforge[anthropic]"spanforge.integrations.anthropic — Anthropic Claude SDK integration
geminipip install "spanforge[gemini]"spanforge.integrations.gemini — Google Gemini SDK integration
bedrockpip install "spanforge[bedrock]"spanforge.integrations.bedrock — AWS Bedrock integration
ollamapip install "spanforge[ollama]"spanforge.integrations.ollama — Ollama local model integration
groqpip install "spanforge[groq]"spanforge.integrations.groq — Groq inference integration
togetherpip install "spanforge[together]"spanforge.integrations.together — Together AI integration
presidiopip install "spanforge[presidio]"Presidio-based PII detection backend
redispip install "spanforge[redis]"RedisExporter and RedisBackend for semantic cache
compliancepip install "spanforge[compliance]"Extended compliance mapping dependencies
worm-s3pip install "spanforge[worm-s3]"Append-only S3 export backend (WORM)
worm-gcspip install "spanforge[worm-gcs]"Append-only GCS export backend (WORM)
datadogpip install "spanforge[datadog]"DatadogExporter (stdlib transport; reserved for future ddtrace integration)
allpip install "spanforge[all]"All optional extras

Note: CloudExporter uses stdlib-only HTTP transport and requires no extra install.

Install all optional extras at once:

pip install "spanforge[all]"

Development installation

git clone https://github.com/veerarag1973/spanforge.git
cd spanforge
python -m venv .venv
.venv/Scripts/activate          # Windows
# source .venv/bin/activate     # macOS / Linux
pip install -e ".[dev]"   # or: pip install spanforge[all] for end-users

This installs all development dependencies including pytest, ruff, mypy, and all optional extras.

Verify the installation

import spanforge  # pip install spanforge  →  import spanforge
print(spanforge.__version__)   # 2.0.13
print(spanforge.SCHEMA_VERSION)  # 2.0

from spanforge import Event, EventType
evt = Event(
    event_type=EventType.TRACE_SPAN_COMPLETED,
    source="smoke-test@1.0.0",
    payload={"ok": True},
)
evt.validate()
print("Installation OK")