Skip to main content

Speed up your coding by running a command on every saved change

Project description

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

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

devwatch-0.0.6.tar.gz (5.0 kB view hashes)

Uploaded Source

Built Distribution

devwatch-0.0.6-py3-none-any.whl (5.8 kB view hashes)

Uploaded Python 3

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