Quick Start¶
Summary¶
- Add
runcommands
dependency - Add
commands.py
to top level project directory - Import built in commands
- Write custom commands
Details¶
First, add runcommands
to the project’s requirements. If you’re using
setuptools, add it to install_requires
in setup.py
. Or you can add
it to your pip requirements file.
Optionally, you can just run pip install runcommands
or use one of the
other Installation methods.
Next, create a Python module named commands.py
in the top level of the
project. In that module, you can import the built-in commands like this:
# commands.py
from runcommands.commands import copy_file, local
And then run them like this:
> run local --help
local [-h] [-b] [--no-background] [-c CD] [-e ENVIRON] [-r]
[--no-replace-env] [-p [PATHS [PATHS ...]]] [-s] [--no-shell]
[-S STDOUT] [--stderr STDERR] [-E] [--no-echo] [-R]
[--no-raise-on-error] [-d] [--no-dry-run]
ARG [ARG ...]
Run a local command via :func:`subprocess.run`
[...]
> run local ls
[...]
Here’s how you define a custom command:
# commands.py
from runcommands import command
from runcommands.commands import copy_file, local
@command
def test(where='.'):
"""Discover and run unit tests."""
local(['python', '-m', 'unittest', 'discover', where])
The new test
command can be run like this:
> run test
....................