Yet 'Nother Taskrunner
Project description
Yenta
Yet ‘Nother Taskrunner
Free software: MIT license
Documentation: https://yenta.readthedocs.io.
Introduction
Yenta is YEt ‘Nother TAskrunner; it executes a pipeline, defined by a series of tasks and dependencies among them.
The goal of Yenta is to provide a reasonable feature set while maintaining simplicity and usability. Yenta tasks are
simply functions decorated with the @task
decorator and complying with a specific format for their arguments.
Yenta is inspired in part by the functional state management pattern used in projects like Redux. Although I would hesitate to call Yenta “functional” in the strict sense, it does use a caching logic according to which identical inputs are assumed to produce identical outputs under default conditions. This means that Yenta will automatically reuse the cached output of a task if nothing about the inputs has changed.
The name “Yenta” is an old Yiddish name; in the American Yiddish theater of the 30s, a character named Yenta was depicted as a busy-body, so the name became a byword for someone who won’t mind their own business.
Features
Graph-based task execution
Lightweight
Idempotent tasks
Simple, intuitive API
Credits
This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.
History
0.1.0 (2020-05-27)
First release on PyPI.
Working pipeline execution with caching and reuse of results
0.2.0 (2020-07-01)
Selector functionality implemented
0.2.1 (2020-07-10)
Write intermediate pipeline results to a temp file and catch the case where a non-serializable object is returned
0.2.2 (2020-07-10)
Append running dir to sys.path
0.2.3 (2020-07-10)
Initialize artifact date_created by default
0.2.4 (2020-07-16)
FileArtifacts can be directories
Artifacts now have a meta field to which arbitrary JSON-serializable information can be attached
If an exception is raised during task execution, the stack trace is printed
pydot is now used for graph generation
Artifact equality is checked by comparing location and hash
0.3.0 (2020-10-31)
Serialization scheme moved from JSON to pickle to improve performance.
“Values” no longer explicitly exist; anything that can be pickled is a valid value.
Multiple pipelines with different names can be used in the same project.
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
Hashes for yenta-0.3.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 31f646da8b4b40566ae8d0d5eed1663406748c8b24e3bad7e548392e52f808bd |
|
MD5 | 26d2c832bbe1ee2dcb2d170f99288ea6 |
|
BLAKE2b-256 | 6be1c43d54ff10bd5fb09faa538df61e4689154d17263e862387a8d903435bb4 |