Build tool to selectively run blocks of build commands under specified conditions
Project description
HitchTrigger is a self contained build tool designed to trigger blocks of build commands when a condition is met that necessitates a rebuild.
The conditions can be one or more combined of any of the following:
A file or files (e.g. source files) have changed.
A specified (build) directory did not exist.
A period of time has elapsed.
A ‘watched’ variable has changed its value.
An exception occurred the previous time the commands were run (always by default).
To install from pypi:
$ hitch install hitchtrigger
Use
import hitchtrigger
monitor = hitchtrigger.Monitor(
"/path/to/project.watch"
#override=["virtualenv", ],
)
# Will run in the following cases:
#
## The command block has never been run before.
## An exception was triggered within the context manager on the previous run.
## venv directory is non-existent.
## A period of 7 days has elapsed
## A previous block named 'previousblock' was run.
## Either requirements.txt or dev_requirements.txt have been modified (file modification dates are monitored).
## Var "v=1" is changed (e.g. to "v=2").
## The line 'override=["virtualenv", ]' is uncommented.
with monitor.block(
"virtualenv",
monitor.nonexistent("venv") | monitor.not_run_since(days=7) | monitor.was_run("previousblock")
monitor.modified(["requirements.txt", "dev_requirements.txt"]) | monitor.var(v=1)
).context() as trigger:
if trigger:
print(trigger.why) # Prints out reason for running
Path("venv").rmtree(ignore_errors=True)
virtualenv("venv").run()
pip("install", "-r", "requirements.txt").run()
pip("freeze").stdout(Path("freeze.txt")).run()
pip("install", "dev_requirements.txt").run()
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
hitchtrigger-0.2.tar.gz
(5.7 kB
view details)
File details
Details for the file hitchtrigger-0.2.tar.gz.
File metadata
- Download URL: hitchtrigger-0.2.tar.gz
- Upload date:
- Size: 5.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
413c5da2b11dc7d46df0ae94a3961879aef3a6cb10a6682611cad9868060b9e3
|
|
| MD5 |
618b225901ffb1f531e3e00a94e1e471
|
|
| BLAKE2b-256 |
1fc63338cdd98afa5307a750e95e3e96a6ac0caae7826addd8775afa41e49e1e
|