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 details)

Uploaded Source

File details

Details for the file rerun-1.0.10.alpha.zip.

File metadata

  • Download URL: rerun-1.0.10.alpha.zip
  • Upload date:
  • Size: 9.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for rerun-1.0.10.alpha.zip
Algorithm Hash digest
SHA256 9e06537b10a358fab88f077ee9ddc747026e223825672f216fefa029e06266c0
MD5 328185e68e7c08e176f9d8fabf7d72d9
BLAKE2b-256 9ae9a4c001fe34c573f7d3881425c5bc222dfed91f72b721f2320db3f9c23fa7

See more details on using hashes here.

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