command line app for running configurable shell commands
A shell command to execute standard/repeatable commands in a git repo
Install plz at the system level so that it only has to be installed once.
pip install plz-cmd # sudo may be required on your machine sudo pip install plz-cmd
It can also be installed inside a virtualenv. However, this means you'll have to install plz-cmd for each each virtualenv in use.
virtualenv venv . venv/bin/activate pip install plz-cmd
plz looks for a
.plz.yaml file either in the current directory or in the root
of the git repo you're currently in. This file can (and should) be checked into
For a .plz.yaml file located in the git root directory, commands run will be executed relative to that directory, not the current directory.
Suppose we have the following
- id: run cmd: ./manage.py runserver - id: test cmd: - ./manage.py test - yarn test - id: setup cmd: - poetry install - poetry run ./manage.py migrate - yarn install - id: ls cmd: ls
The following commands would be available:
plz run plz test plz setup
plz supports asterisk expansion. For example, the cmd
ls *.py will work as expected.
plz supports passing custom arguments when running the plz command. For example:
# bind to port 8001 instead of the default 8000 plz run 127.0.0.1:8001
Any passed arguments will be tested to see if they are file paths relative to the current directory when running the command. Using this repo as an example:
bash$ ls .*.yaml .plz.yaml .pre-commit-config.yaml bash$ cd plz bash$ plz ls ../.*.yaml [INFO] Using config: /path/plz/.plz.yaml =============================================================================== Running command: ls =============================================================================== .plz.yaml .pre-commit-config.yaml [INFO] Process complete, return code: 0 bash$ plz ls __*.py [INFO] Using config: /path/plz/.plz.yaml =============================================================================== Running command: ls =============================================================================== plz/__init__.py [INFO] Process complete, return code: 0
Setting up for development is easy when plz is already installed!
git clone https://github.com/m3brown/plz cd plz plz setup plz test
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size||File type||Python version||Upload date||Hashes|
|Filename, size plz_cmd-0.8.1-py3-none-any.whl (6.9 kB)||File type Wheel||Python version py3||Upload date||Hashes View|
|Filename, size plz-cmd-0.8.1.tar.gz (6.0 kB)||File type Source||Python version None||Upload date||Hashes View|