Ship where you already ship.
Official SDKs, a single REST endpoint, and a roadmap of runtimes coming next. Drop ErrSight into any stack in under two minutes — every integration captures exceptions, logs, and user context out of the box.
Available
5 SDKs
On the way
4 runtimes
Install time
< 2 min
SDK status
all operational
01 · Available now
Five ways to start today.
05 / 09 shipped
Rb
Ruby on Rails
gem "errsight-ruby"
- Auto-captures every Rails exception and routing error.
- Broadcasts from Rails.logger automatically — all levels.
- Attaches request context, user, controller action, URL.
- First-class support for Devise & ActiveAdmin.
- Respects
filter_parameters— sensitive data stays local.
# Gemfile gem "errsight-ruby" # config/initializers/errsight.rb Errsight.configure { |c| c.api_key = ENV["ERRSIGHT_KEY"] }
Py
Python
pip install errsight · 3.8+
- First-class middleware for Django, Flask, and FastAPI / Starlette (sync and async).
- Background workers covered — Celery + RQ with cross-process scope propagation.
- AWS Lambda decorator with sync flush before freeze.
- ContextVar-isolated scope — concurrent async requests never leak user/tag state.
logging.Handlerdrop-in, structured frames, source context, cause chain.
# pip install errsight import errsight errsight.init( api_key="elp_live_…", environment="production", )
Rs
Rust
errsight = "0.1" · 1.85+
- Captures panics automatically through a panic hook installed at
init. - Forwards log and tracing events through optional feature layers.
- Records typed errors with their full source chain and backtrace.
- anyhow support keeps the error's original backtrace.
- Non-blocking capture: events batch on a background thread and drain on shutdown.
// Cargo.toml errsight = "0.1" // main.rs let _guard = errsight::init( errsight::Config::builder() .api_key(std::env::var("ERRSIGHT_API_KEY").unwrap_or_default()) .environment("production") .build(), );
JS
React / JavaScript
@errsight/js · zero deps
- Captures window.onerror and unhandledrejection.
- Drop-in <ErrorBoundary> for React trees.
- Manual logging:
info,warn,error,captureError(). - setUser() attaches ID & email to every future event.
- Zero dependencies, ESM-first.
// npm install @errsight/js import { init } from "@errsight/js"; init({ apiKey: "elp_live_…", env: "production", });
·/·
REST API
/api/v1 · any language, any platform
- One endpoint: POST /api/v1/events.
- Send single events or batches up to 100.
- Authenticated via X-API-Key header.
- CORS enabled for browser clients and edge workers.
- Idempotency keys to protect against replay storms.
curl -X POST /api/v1/events \ -H "X-API-Key: elp_…" \ -H "Content-Type: application/json" \ -d '{ "level": "error", "message": "Payment failed" }'
02 · Coming soon
Coming soon.
04 · in development
TS
Coming soon
Node / TypeScript
@errsight/node · Express · Fastify
Go
Coming soon
Go
errsight-go · 1.21+ · context-aware
PHP
Coming soon
PHP / Laravel
errsight-php · Composer
Ex
Coming soon
Elixir / Phoenix
errsight_ex (hex) · LiveView aware
03 · Capability matrix
What each SDK does.
Full parity is the goal. Coming-soon SDKs ship with the core set first and add the rest over their first two minor versions.
| Feature | Ruby | Python | JS | REST | Go | Rust | Node |
|---|---|---|---|---|---|---|---|
| Auto exception capture | ● | ● | ● | — | ◐ | ● | ◐ |
| Log forwarding | ● | ● | ● | ● | ◐ | ● | ◐ |
| User context auto-attach | ● | ● | ● | — | — | — | ◐ |
| Source map resolution | — | — | ● | — | — | — | ◐ |
| Async batching | ● | ● | ● | ● | ◐ | ● | ◐ |
| Parameter filtering | ● | ● | ● | client-side | ◐ | — | ◐ |
| Release tracking | ● | ● | ● | ● | — | ● | — |
● Shipped
◐ Planned for GA
— Not applicable