Quick Start¶
Summary¶
- Add
runcommandsdependency - Add
commands.pyto 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
....................