Skip to content
ย 
ย 

Latest commit

ย 

History

49 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

py-mon

A modern, easy-to-use package to automatically restart a Python application when file changes are detected!

Quickstart

I wanted to make this package as easy as possible to use. Here's a quick start, it's all you'll need ๐Ÿ˜ผ

Installation

pip install -U py-mon

Execution

pymon filename.py

That's pretty much it! ๐Ÿ˜Œ

If you have a more sophisticated use-case, here are the available command line options:

  • --watch (-w) to specify paths or patterns to watch. Examples: src/*.py, data/**/*.json. Default: *.py
  • --ignore (-i) to specify patterns of files/paths to ignore. Use once for each pattern.
  • --exec (-x) to execute a shell command instead of running a Python file.
  • --debug (-d) to log detected file changes to the terminal.
  • --clean (-c) to run pymon in clean mode (no logs, no commands).

Examples:

  • pymon test.py -w "*.json" will monitor changes in Python (default) and JSON files in the current directory
  • pymon test.py -w "src/*.py" -w "data/*.json" will monitor Python files in the src directory and JSON files in the data directory
  • pymon test.py -i "*.log" -i "*__pycache__*" will ignore changes in log files and pycache directories
  • pymon "python3 -m http.server" -x will run the server and restart it when files change
  • pymon "npm run dev" -x -w "src/*.js" -w "src/*.jsx" will run a Node.js dev server and monitor JavaScript files

Command Input

When running pymon, you can use these commands:

  • Type rs to manually restart the process
  • Type stop to terminate pymon

Anyway that's basically it! Thanks for everything, I would appreciate it if you could leave a follow or star this repository โฃ๏ธ If you have any feature requests, read below!

Contributing

This package is open source so anyone with adequate Python experience can contribute to this project!

Report Issues

If you find any issues with the package or in the code, please create an issue and report it here!

Fix/Edit Content

If you want to contribute to this package, fork the repository, clone it, make your changes and then proceed to create a pull request here

Inspiration

Back when I was 13, I spent a lot of time developing discord bots and it was a hassle to constantly Ctrl+C and then run the bot again on my terminal. Since I had just gotten started with web development back then, I decided to make something like nodemon but for Python so I randomly created this package one evening! I looked back at it a few weeks ago (I'm now 16) and realized over a thousand people download it every month so I quickly rewrote it (v2) to clean it up and add some new features!

About

๐Ÿ” Automatically restart application when file changes are detected; made for development

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages