docs
Dashboard

Getting Started

Go from zero to tracking errors in under a minute.

1. Create an account

Sign up for booboo.dev. You can use email/password or Google sign-in.

2. Create a project

After signing in, click New project on the projects page. Give it a name (e.g. "My API") and you'll be taken to the project settings page where your DSN key is displayed.

The DSN (Data Source Name) is a unique identifier that tells the SDK which project to send errors to. Keep it handy — you'll need it in the next step.

3. Install the SDK

# Python
pip install booboo-sdk

# JavaScript
npm install @booboo.dev/js

4. Initialize

Add these lines to your application's entry point:

# Python
import booboo
booboo.init("your-dsn-key")
// JavaScript
import * as booboo from "@booboo.dev/js";
booboo.init({ dsn: "your-dsn-key" });

For framework-specific setup, see the Python frameworks or JavaScript frameworks guides.

5. Trigger a test error

Verify everything works by triggering an error:

# Python
raise ValueError("Hello from booboo.dev!")
// JavaScript
throw new Error("Hello from booboo.dev!");

Check your dashboard — you should see a new issue appear within seconds.

What happens next

Once the SDK is installed:

Python

  • Unhandled exceptions are captured automatically via sys.excepthook
  • Django errors are captured automatically via signals — no middleware needed
  • Flask and FastAPI errors are captured when you pass the app object to booboo.init()
  • You can also capture exceptions manually with booboo.capture_exception()

JavaScript

  • Unhandled errors are captured automatically via window.onerror
  • Unhandled promise rejections are captured via window.onunhandledrejection
  • React errors are captured with the ErrorBoundary component
  • Vue errors are captured with the BoobooVue plugin
  • Breadcrumbs (console, clicks, navigation, fetch) are collected automatically

Each error event includes the full stack trace with source context, local variables (Python, with sensitive values scrubbed), and request data when available. Library frames are automatically separated from your application code.