Extends pythonic task management & command execution with file dependencies.
Project description
Extends pythonic task management & command execution with file dependencies.
Documentation
pyinvokedepends is an extension of pyinvoke to allow more "makefile" like task definitions.
It introduces an additional decorator @depends which can be used in addtion to pyinvoke's decorator @task. Adding this decorator to a task will make sure that the task is only executed when any of to files is newer than one of the created files.
For a simple example, consider the following tasks.py. In contrast to traditional make, this will always run gcc hello.c
from invoke import task
@task
def compile(c):
c.run("gcc hello.c", echo=True)
With pyinvokedepends we can add dependencies:
from invoke import task
from pyinvokedepends import depends
@depends(on=["./hello.c"], creates=["./a.out"])
@task
def test(c):
def compile(c):
c.run("gcc hello.c", echo=True)
The task will only execute if the file ./hello.c is newer than the file ./a.out. Otherwise, the execution will be skipped.
The values of the parameters on and creates are lists of globs. At lease one the files matching (one of) the on globs must exist. The task is executed
- if no file exists which matches (any of) the
createsglobs, or - one of the files matching the
onglobs is newer than at least one file of thecreatesglobs.
It does not automatically add pre or post steps to the task based on the dependencies.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pyinvokedepends-1.0.0.tar.gz.
File metadata
- Download URL: pyinvokedepends-1.0.0.tar.gz
- Upload date:
- Size: 3.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.8.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b6965d82602aa33c7e78071e0aa6b11418ffc19e1c54ae1b70187b8e062043f9
|
|
| MD5 |
2ff4dc033ccc44b692ba43e8692f8569
|
|
| BLAKE2b-256 |
be7e519b89adacc82f67adac0c8906cb6233fda9f840bd1f99abd194b276d906
|
File details
Details for the file pyinvokedepends-1.0.0-py3-none-any.whl.
File metadata
- Download URL: pyinvokedepends-1.0.0-py3-none-any.whl
- Upload date:
- Size: 5.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.8.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1e9533eb9e42ca312d76383cc64988169220411bf2e9f8fd0405b9ebbb544823
|
|
| MD5 |
4665786c089f1806889269be68570a27
|
|
| BLAKE2b-256 |
31d441c0b53e8ebbe8334da542c9f2c6ebf7e0aea8723a3240b4870f8aec67d0
|