Skip to main content

A zero-configuration execution recorder for Python

Project description

Blackbox-Recorder

A zero‑configuration execution recorder for Python.

Know what your code actually did, even when it fails silently.

PyPI version Python 3.9+ Zero Dependencies License: MIT


Problem

Python code can fail silently:

  • exceptions are swallowed (try/except: pass)
  • functions return None unexpectedly
  • control flow diverges from what you expected

Logs and debuggers only help if you already know where to look.

Blackbox-Recorder answers a different question:

After my program ran, what actually happened?

Not guesses. Not logs you forgot to add. Actual execution evidence.


Quick Start

Install

pip install blackbox-recorder

Use (3 lines)

import blackbox_recorder

blackbox_recorder.start()
# ... your code runs here ...
blackbox_recorder.stop()
blackbox_recorder.report()

Output

Execution Summary
----------------------------------------------------------------------
process_data         | called 3x | avg 12.3ms | 1 exception(s)
validate_input       | called 6x | avg 0.1ms  | ok
transform_payload    | called 5x | avg 0.4ms  | returned None 1x

Exceptions
----------------------------------------------------------------------
process_data → ValueError('invalid format')

No configuration. No code changes. Just evidence.


What It Is (and Is Not)

It IS It is NOT
A passive execution recorder A debugger
Zero‑configuration A profiler
Post‑mortem friendly An observability platform
Lightweight and local An AI tool
Zero dependencies (stdlib only) Distributed tracing system

Think flight recorder, not live cockpit controls.

Note: Only uses Python standard library. No external packages required.


Features

v0.1: Core

  • Records function calls, timing, exceptions, returns
  • Captures swallowed exceptions
  • Human‑readable summary report
  • Save reports to file (with append mode)

v0.2: Insight

  • Chronological execution timeline
  • Shallow argument capture
  • Shallow return value capture
  • JSON export

v0.3: Control

  • CLI: blackbox-recorder run script.py
  • Module include/exclude filters
  • configure() API

v0.4: Scale

  • Async/await support
  • Sampling mode (trace a fraction of calls)
  • Automatic disk persistence

All versions are backward‑compatible.


API Reference

For complete and detailed API documentation (including all function signatures, parameters, examples, classes, CLI options, use cases, and troubleshooting), see:

📖 Full API Documentation

Quick links:


Intended Users

  • Backend developers
  • Script authors
  • Data engineers
  • Anyone debugging code without perfect logs

Not designed for high‑traffic production systems (yet).


Non‑Goals

  • Replacing debuggers
  • Replacing logging
  • Real‑time visualization
  • Distributed tracing

Project Info


blackbox-recorder records what your Python code actually did, especially when it failed quietly, without requiring you to prepare for failure in advance.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

blackbox_recorder-0.4.3.tar.gz (15.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

blackbox_recorder-0.4.3-py3-none-any.whl (13.3 kB view details)

Uploaded Python 3

File details

Details for the file blackbox_recorder-0.4.3.tar.gz.

File metadata

  • Download URL: blackbox_recorder-0.4.3.tar.gz
  • Upload date:
  • Size: 15.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for blackbox_recorder-0.4.3.tar.gz
Algorithm Hash digest
SHA256 7a49c8533bc82a92674b1689abaaae3be79e5b5c1aa7188f41e0a870ed65573d
MD5 4f8bf37cf9a54a7dd51682f98a1dc8fc
BLAKE2b-256 283e3e817ce6673b216fd1766047eaa2d27191ca346ece24c4ca2343252bdb46

See more details on using hashes here.

File details

Details for the file blackbox_recorder-0.4.3-py3-none-any.whl.

File metadata

File hashes

Hashes for blackbox_recorder-0.4.3-py3-none-any.whl
Algorithm Hash digest
SHA256 dc9cc428444c8becd945cf70ca4eb2f5fc2f64c1f91701330bc7bb31f38bacb6
MD5 e5f9170fe97d5c7e8147197fd97bf772
BLAKE2b-256 84c97e1f9e620758c9183eb565b00adcff9b926ac56c90fcb963be7c193c7a40

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page