Skip to main content

DevWatch

Speed up your coding by running your program, test suite, linter, etc on every saved changes.

Build Status

Installation

$ pip install devwatch

System requirements

  • Linux >= 2.6.13
  • Python >= 3.2

Basic usage

  • Execute python main.py when main.py is modified

    $ devwatch -f 'main.py' -c 'python main.py'
    
  • Watch for changes on all .txt files inside dir and its subdirectories and execute cat on the modified file

    $ devwatch -f 'dir/**/*.txt' -c 'cat @'
    
  • Execute main target

    $ devwatch -t main
    
  • Execute the first defined target

    $ devwatch
    

Configuration file

Create .devwatchrc.yml on your project directory or home folder

Example configuration file

   main:
       files: main.py
       command: python main.py    
   tests:
       files: tests/
       command: pytest @
   flake:
       files: main.py
       command: flake8 test.py
  • Define targets (main, tests and flake in this example)

  • For every target define:

    • files: File or directory to watch

    • command: Command to execute when a file change is detected

  • When watching on directories like on target tests, you can use @ to reference the modified file. In this example, when file tests/foo.py is amended pytest tests/foo.py will be execute

  • Warning: if no files exists for the target, the program will exit.

Tested on

  • Ubuntu 20.04, 22.04 x64
  • Debian 11 x64
  • Centos 7 x84

TODO

  • Hot reload configuration file
  • FreeBSD/OpenBSD/NetBSD support
  • MacOS support

Release files for devwatch 0.0.6

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

Source distribution (sdist)

Source distribution for devwatch 0.0.6
File Size Uploaded
devwatch-0.0.6.tar.gz 5.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for devwatch 0.0.6
File Interpreter ABI Platform
devwatch-0.0.6-py3-none-any.whl Python 3 none any Details

Total release size: 10.8 kB

Release files / devwatch-0.0.6.tar.gz

Download URL devwatch-0.0.6.tar.gz
Size 5.0 kB
Tags Source
SHA-256 checksum
How to use checksums
ffde508561fe20b59e9a77cce45a609954e11183b0f372489122897ccfb7c345
BLAKE2b-256 checksum
How to use checksums
639bd2924bbd7431f293ef7774139e43a77232ce1cc2aa3bf82f18c66e4fd9f1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.7.12

Release files / devwatch-0.0.6-py3-none-any.whl

Download URL devwatch-0.0.6-py3-none-any.whl
Size 5.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9707f885944ddab1847835adc4b8ebe00b8cfce8c72feb6e2ee47648deb9fb40
BLAKE2b-256 checksum
How to use checksums
d8756cadbc6005882d7f306c797e59ac4e9261dd2c766cf8f6dfa04a1d2603a1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.7.12

Release history Release notifications | RSS feed

This release

0.0.6 This release

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

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