Pythonic task automation
Alkymi is a pure Python (3.7+) library for describing and executing tasks and pipelines with built-in caching and
conditional evaluation based on checksums.
Alkymi is easy to install, simple to use, and has very few dependencies outside of Python’s standard library. The code
is cross-platform, and allows you to write your pipelines once and deploy to multiple operating systems (tested on
Linux, Windows and Mac).
Documentation, including a quickstart guide, is provided here.
For examples of how to use alkymi, see the
quickstart guide.
Example code:
import numpy as np
import alkymi as alk
@alk.recipe()
def long_running_task() -> np.ndarray:
# Perform expensive computation here ...
hard_to_compute_result = np.array([42])
# Return value will be automatically cached to disk
return hard_to_compute_result
result = long_running_task.brew() # == np.ndarray([42])
Or one of the examples, e.g. MNIST.
Install via pip:
```shell script
pip install —user alkymi
Or see the [Installation page](https://alkymi.readthedocs.io/en/latest/getting_started/installation.html).
### Testing
After installing, you can run the test suite (use the `lint`, `coverage` and `type_check` recipes to perform those
actions):
```shell script
python3 labfile.py brew test
alkymi is licensed under The MIT License as found in the LICENSE.md file
The following features are being considered for future implementation:
check
command to Lab
)MyClass
self._some_path
that points to a file somewhere outside alkymi’s internal cache)alk.foreach()
currently only supports enumerable inputs of type List
or Dict
transient
will always be dirty, and thus always require reevaluation. This functionality should be