Skip to main content

Re-run the given command every time files under the current directory areupdated.

Project description

Usage

rerun [options] <command>

where ‘options’ may include:

--verbose|-v        List changed files before <command> output
--ignore|-i <D>     Directory or filename to ignore. Changes to this file
                    do not trigger another execution of <command>.

e.g:

rerun python -m unittest mypackage.mymodule

will rerun your tests every time you save your source code. Handy for seeing the new test results in a console window after you hit ‘save’ in your editor, without having to change window focus.

It detects changes to files by polling file modification times once per second. On detecting any changes, it clears the terminal and reruns the given command.

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, even in project directories containing hundreds of files.

It ignores directories called .svn, .git, .hg, .bzr, build and dist. It ignores files ending with .pyc or .pyo.

Dependencies

Tested on WindowsXP, Windows 7, MacOSX, and Ubuntu.

Runs under Python2.7 or 3.2.

No other dependencies.

Install

pip install 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

Jonathan Hartley, tartley@tartley.com

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

rerun-1.0.10.alpha.zip (9.2 kB view hashes)

Uploaded Source

Supported by

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