Installation
Install and configure the Risicare SDK.
Risicare is in closed beta
Access is by invitation. The link in your invitation email opens the sign-in page — start there rather than from the addresses on this page. The link does not sign you in by itself: sign in with the same email address the invitation was sent to, or it is not accepted. If a step here does not work for you during the beta, write to support@risicare.ai.
This guide covers installation and basic configuration of the Risicare SDK.
Requirements
Python
- Python: 3.10 or higher
- Operating System: Linux, macOS, or Windows
- Network: Outbound HTTPS to
ingest.risicare.ai(spans) andapi.risicare.ai(scores)
JavaScript/TypeScript
- Node.js: 18.0.0 or higher
- Operating System: Linux, macOS, or Windows
- Network: Outbound HTTPS to
ingest.risicare.ai(spans) andapi.risicare.ai(scores)
Minimum runtime versions
Python SDK requires Python 3.10+ (uses match statements and modern typing features). JavaScript SDK requires Node.js 18+ (uses native fetch and crypto.randomUUID). Older runtimes will fail at import time.
Install the SDK
Framework Extras (Python)
Install with framework-specific extras:
# LangChain
pip install 'risicare[langchain]'
# LangGraph
pip install 'risicare[langgraph]'
# LlamaIndex
pip install 'risicare[llamaindex]'
# CrewAI
pip install 'risicare[crewai]'
# AutoGen
pip install 'risicare[autogen]'
# OpenAI Agents SDK
pip install 'risicare[openai-agents]'
# DSPy
pip install 'risicare[dspy]'
# Instructor
pip install 'risicare[instructor]'
# LiteLLM
pip install 'risicare[litellm]'
# Pydantic AI
pip install 'risicare[pydantic-ai]'
# All frameworks
pip install 'risicare[frameworks]'
# All frameworks + all providers + OpenTelemetry
pip install 'risicare[all]'Provider Extras (Python)
Install with provider-specific extras to pull in the correct dependency versions:
# Amazon Bedrock
pip install 'risicare[bedrock]'
# Google Vertex AI
pip install 'risicare[vertexai]'
# Groq
pip install 'risicare[groq]'
# Ollama
pip install 'risicare[ollama]'
# Together AI
pip install 'risicare[together]'
# Cerebras
pip install 'risicare[cerebras]'
# HuggingFace
pip install 'risicare[huggingface]'
# All providers
pip install 'risicare[providers]'Core providers
OpenAI and Anthropic are auto-detected and do not require an extra. Just install them alongside Risicare: pip install risicare openai anthropic.
OpenTelemetry Extra (Python)
Bridge Risicare spans to an OpenTelemetry-compatible backend:
pip install 'risicare[otel]'This installs opentelemetry-sdk and opentelemetry-api (>= 1.20.0). Enable the bridge with otel_bridge=True in risicare.init().
Meta Extras (Python)
Combine multiple extras with a single install:
| Extra | Includes |
|---|---|
frameworks | All 10 framework extras (langchain, langgraph, crewai, autogen, openai-agents, instructor, litellm, dspy, pydantic-ai, llamaindex) |
providers | All 7 provider extras (bedrock, vertexai, groq, ollama, together, cerebras, huggingface) |
all | All framework extras + all provider extras + otel |
# Everything
pip install 'risicare[all]'Get an API Key
- Sign in at app.risicare.ai with GitHub, using the GitHub account whose email matches your invitation (the public email on your GitHub profile if you have set one, otherwise your primary email). Access is by invitation — there is no self-serve sign-up
- The first person to sign in to a new organization gets a default project and API key on that first sign-in. The key is shown once, on the dashboard home page — copy it before you leave that page
- Joined an organization that already has a project, or missed that key? Go to Settings → API Keys → Create API Key and copy the key from the dialog (also shown only once; owners and admins can create keys). Settings lists existing keys by prefix only; it cannot show a key again. Creating a key needs a sign-in from the last 15 minutes — if you are asked to re-authenticate, do so and create the key again
- Need more projects? Owners and admins can click the project dropdown → New Project — each project gets its own key, shown once in the Project Created dialog. Creating a project needs a sign-in from the last 15 minutes; if Create Project does nothing, sign out, sign in again and retry
Keep your API key secret
Never commit your API key to version control. Use environment variables or a secrets manager.
Configuration
Environment Variables
The simplest configuration uses environment variables:
# Required
export RISICARE_API_KEY=rsk-your-api-key
# Optional
export RISICARE_TRACING=true # Enable tracing
export RISICARE_ENVIRONMENT=production # Environment name
export RISICARE_SERVICE_NAME=my-agent # Service name for filtering
export RISICARE_SERVICE_VERSION=1.0.0 # Service version
export RISICARE_SAMPLE_RATE=1.0 # Sampling rate (0.0-1.0)
export RISICARE_TRACE_CONTENT=true # Capture prompt/completion textProgrammatic Configuration
For more control, initialize explicitly:
Configuration Precedence
Configuration is resolved in this order (later overrides earlier):
- Default values
- Environment variables
risicare.init()arguments
Verify Installation
Test that the SDK is working:
import risicare
# Initialize
risicare.init()
# Create a test trace
tracer = risicare.get_tracer()
span = tracer.start_span("test-span")
span.set_attribute("test", True)
span.end()
print("Risicare is working!")
# Ensure spans are exported
risicare.shutdown()Check the dashboard to see your test span.
Framework Integrations
Frameworks are auto-instrumented when risicare.init() is called. Just install the framework package alongside Risicare:
# LangChain / LangGraph
pip install risicare langchain langgraph
# CrewAI
pip install risicare crewai
# AutoGen
pip install risicare autogen-agentchatNo separate integration packages are needed — risicare.init() detects installed frameworks automatically via import hooks.
Troubleshooting
No traces appearing
- Confirm your entrypoint actually does
import risicare— environment variables alone install no instrumentation, and a process that never imports the SDK emits zero spans with no error. When the Python SDK starts with an API key and with debug off, it prints[risicare] Tracing active — endpoint: ..., service: .... This line shows that the SDK started. It does not show that spans arrive. The JavaScript SDK prints no startup line. - Verify your API key is set correctly. With no key the SDK sends nothing,
init()logs one WARNING that says so, andflush()returnsFalse - Check
RISICARE_TRACING=trueis set - Check for network connectivity to
ingest.risicare.ai - Spans are flushed by an
atexithook on normal exit. If your process is killed withSIGKILLor exits viaos._exit(), callrisicare.shutdown()explicitly to flush.
If your process forks — gunicorn, uvicorn workers, celery --prefork — or if
traces stopped arriving after an outage, see
Production & Failure Modes.
Import errors
Make sure you have the correct Python version:
python --version # Should be 3.10+Debug mode
A failed span export logs a WARNING that names the HTTP status. To see each attempt and
what else the SDK is doing, raise the SDK's logger:
import logging
logging.getLogger("risicare").setLevel(logging.DEBUG)Do not use debug=True to troubleshoot delivery
risicare.init(debug=True) (and RISICARE_DEBUG=true) attaches a console
exporter that writes whole span payloads to stdout, unredacted — including
gen_ai.prompt and gen_ai.completion. If your prompts carry customer data,
that data lands in your terminal, your container logs, and anything that
scrapes stdout. Values are truncated at ~80 characters, which is not
redaction: a leading SSN or card number is printed in full.
It is also the wrong tool for the most common problem: debug=True adds
nothing about a failed export. Use the logger above.
Use debug=True only when you actually want spans echoed to the console, on
non-production data.
IDE Integration
Not available in this release
Risicare has no MCP server for AI coding assistants during the beta. An MCP request to https://app.risicare.ai/api/mcp gets 401. The MCP Server reference describes the server as designed.