Metadata-Version: 2.3
Name: heisenrun
Version: 0.0.3
Summary: A small CLI tool for reproducing heisenbugs
Keywords: automation,task runner,cli,python
Author: Furetur
Author-email: Furetur <furetur@gmail.com>
License: MIT
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Dist: rich>=14.3.3
Requires-Dist: shellous>=0.39.0
Requires-Dist: typer>=0.24.1
Requires-Python: >=3.10
Project-URL: Homepage, https://github.com/furetur/heisenrun
Project-URL: Repository, https://github.com/furetur/heisenrun
Project-URL: Issues, https://github.com/furetur/heisenrun/issues
Description-Content-Type: text/markdown

# 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](https://docs.astral.sh/uv/):

```sh
uv tool run heisenrun --help
```

Example:
```sh
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](https://pipx.pypa.io/stable/) also installs CLI tools in isolated environments:

```sh
pipx install heisenrun
```

Then run:

```sh
heisenrun --help
```
