Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Usage

rerun [--help|-h] [--verbose|-v] [--ignore|-i=<file>] [--version] <command>

Where:

<command>           Command to execute
--help|-h           Show this help message and exit.
--ignore|-i=<file>  File or directory to ignore. Any directories of the
                    given name (and their subdirs) are excluded from the
                    search for changed files. Any modification to files of
                    the given name are ignored. The given value is
                    compared to basenames, so for example, "--ignore=def"
                    will skip the contents of directory "./abc/def/" and
                    will ignore file "./ghi/def". Can be specified multiple
                    times.
--verbose|-v        Display the names of changed files before the command
                    output.
--version           Show version number and exit.

Description

Rerun detects changes to files by polling file modification times once per second. It looks in the current directory and all its subdirectories. On detecting any changes, it clears the terminal and reruns the given command.

It always ignores directories called .svn, .git, .hg, .bzr, build and dist.

It always ignores files ending with .pyc or .pyo.

e.g:

rerun python -m unittest mypackage.mymodule

will rerun your tests every time you save your source code, but it won’t rerun the tests a second time when .pyo files get updated as a result of executing the tests. Handy for seeing the new test results in another console window after you hit ‘save’ in your editor, without having to change window focus.

Dependencies

Tested on MacOSX, Ubuntu, WindowsXP, Windows 7.

Runs under Python2.7 or 3.2.

May run under Python 2.6 or older with PyPI package ‘argparse’ installed.

No other dependencies.

Install

pip install rerun

Known Problems

Polling for modification times perhaps isn’t ideal. Registering of OS-specific notifications of file system events might be better. In practice though, I haven’t noticed it burden my machine in directories containing hundreds of files.

It might be handy if ‘–ignore’ accepted globs, e.g. “*.tmp”

See issues at https://bitbucket.org/tartley/rerun/issues?status=new&status=open

Alternatives

PyPI package ‘watchdog’ is a cross-platform library for handling file-system events, which includes script ‘watchmedo’, which looks like a more serious and heavy-duty version of ‘Rerun’.

Thanks

The idea came from the Bash command ‘watch’, and inspiration for this implementation came from an old blog post by Jeff Winkler, whos website http://jeffwinkler.net seems to have now died.

Contact

Documentation & download:

http://pypi.python.org/pypi/rerun/

Souce code and issues:

https://bitbucket.org/tartley/rerun

Contact the author:

Jonathan Hartley, email: tartley at domain tartley.com, Twitter: @tartley.

Metadata

Release files for rerun 1.0.13beta

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distributions (sdists)

Source distribution for rerun 1.0.13beta
File Size Uploaded Provenance Actions
rerun-1.0.13beta.zip 11.7 kB Without provenance Details for rerun-1.0.13beta.zip
rerun-1.0.13beta.tar.gz 6.4 kB Without provenance Details for rerun-1.0.13beta.tar.gz

Release files / rerun-1.0.13beta.zip

Download URL rerun-1.0.13beta.zip
Size 11.7 kB
Tags Source
SHA-256 checksum
How to use checksums
6fbf9699fe2abb4d59b65fb9b008aa918c77d722d7280f125689fdd2a66d82bd
BLAKE2b-256 checksum
How to use checksums
dad51aa146104f3490b8f1bf9fc5b2c6773af45c35c6262a3e381cab5f0647b4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / rerun-1.0.13beta.tar.gz

Download URL rerun-1.0.13beta.tar.gz
Size 6.4 kB
Tags Source
SHA-256 checksum
How to use checksums
5c5994533b867841ecf0bb3614b2518ef6ca97b319115961c6a62d6f79e97076
BLAKE2b-256 checksum
How to use checksums
c8b41fe63e50787a4d996a61d3d4c96474a2b17ee73fdf941e5f7abe270b700b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Security for rerun 1.0.13beta

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

1.0.18

This release

1.0.11beta

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page