Skip to main content

A small CLI tool for reproducing heisenbugs

Project description

Heisenrun

Heisenrun is a small CLI tool for reproducing heisenbugs by running many instances of a command in parallel.

Heisenbugs are bugs that appear only under certain timing or concurrency conditions and disappear when you try to debug them. Heisenrun increases the chance of triggering such bugs by repeatedly executing a command concurrently.

Typical use cases:

  • Reproducing flaky tests
  • Triggering race conditions
  • Stress-testing CLI programs
  • Detecting nondeterministic behavior

Getting Started

Run instantly (recommended)

Using uv:

uv tool run heisenrun --help

Example:

uv tool run heisenrun -n 10 -m 2 -- sleep {#}

This downloads and installs heisenrun into an isolated environment. If you wish more control please consider the next command.

Install tool via UV (also recommended)

You can also

Install with pipx

pipx also installs CLI tools in isolated environments:

pipx install heisenrun

Then run:

heisenrun --help

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

heisenrun-0.0.3.tar.gz (4.3 kB view details)

Uploaded Source

Built Distribution

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

heisenrun-0.0.3-py3-none-any.whl (6.6 kB view details)

Uploaded Python 3

File details

Details for the file heisenrun-0.0.3.tar.gz.

File metadata

  • Download URL: heisenrun-0.0.3.tar.gz
  • Upload date:
  • Size: 4.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for heisenrun-0.0.3.tar.gz
Algorithm Hash digest
SHA256 1c282ce5122ae665ef61b683cb807f9cee03703051a2420d09b35db80a6d0f63
MD5 53c0ceb0b092560025746a0ad86bd49f
BLAKE2b-256 a340fe02fac32d58992d922c891c86d99da6cadd91734934eaa0c921e6219b5a

See more details on using hashes here.

File details

Details for the file heisenrun-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: heisenrun-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 6.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for heisenrun-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 2e3d9d6dfa9a0da0cf41cf7285b7268ce3e782f6be8b1e91105785a7ed06cf1c
MD5 eb47b5160513bff3f713ae5868aea2c1
BLAKE2b-256 d4b0a9aed1d784a3d8335e9a8192002bf622937a5e5dcbef059726c97048b40b

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