Skip to main content
Slomo is distributed as a pure Python package on PyPI. It has no compiled extensions, no external services to configure, and its only dependencies are typer and rich, which power the CLI and are installed automatically — install it and you’re done.

Requirements

Python 3.12 is a hard requirement. Slomo’s instrumentation layer is built on sys.monitoring, the low-overhead monitoring API introduced in PEP 669 and only available from Python 3.12 onward. Earlier Python versions are not supported.

Install Slomo

Install into your project’s virtual environment (pip / uv add) so the CLI uses the same Python as your application. Use pipx only if you want the slomo CLI globally available as a standalone tool.

Verify the installation

Confirm that Slomo is installed and check its version:
You should see a version string printed to stdout, for example 0.1.1. You can also confirm the CLI is on your PATH:

Optional integrations

Slomo auto-detects the following libraries at runtime. If they are present in your environment, Slomo instruments them automatically — no extra install steps, no configuration, and no additional packages to add to your dependencies.
sqlite3 is always instrumented — it’s part of the Python standard library and requires no extra packages.
If none of these libraries are installed, Slomo records everything else (function calls, exceptions, log records, session metadata) without any warnings or errors.

Scaffold a configuration file with slomo init

Running slomo init in your project directory creates a .slomo/config.toml file pre-populated with every available option and inline documentation comments:
This step is entirely optional. Slomo works out of the box without any configuration. Use slomo init when you want to customize recording behavior — for example, to exclude specific modules, change the storage path, or adjust log-level thresholds — before your first run.

The .slomo/ directory

The first time you call slomo.enable() in your application, Slomo automatically creates a .slomo/ directory in your current working directory. All session recordings are stored there as append-only JSONL files.
Slomo auto-manages a .gitignore inside .slomo/ so recordings are excluded from version control by default. The config.toml file is safe to commit.

Next steps

  • Quickstart — add Slomo to an app and explore your first crash recording
  • Core Concepts — learn how sys.monitoring instrumentation works
  • CLI Reference — full documentation for slomo issues, slomo doctor, slomo replay, and more