Metadata-Version: 2.1
Name: sisifo
Version: 0.1.0
Summary: Generic framework for running tasks
Home-page: https://github.com/guiferviz/sisifo
License: MIT
Keywords: tasks,framework,pipeline
Author: guiferviz
Author-email: guiferviz@gmail.com
Requires-Python: >=3.7.1,<4.0.0
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Provides-Extra: yaml
Requires-Dist: pyyaml (>=5.4.1,<6.0.0); extra == "yaml"
Project-URL: Repository, https://github.com/guiferviz/sisifo
Description-Content-Type: text/markdown

![Sisyphus silhouette](./logo/logo.png)


# Sísifo - Task runner

Sísifo is the Spanish form of Sisyphus, in ancient Greek: Σίσυφος. This poor
guy was punished for his self-aggrandizing craftiness and deceitfulness by
being forced to roll an immense boulder up a hill only for it to roll down
every time it neared the top, repeating this action for eternity. More
information in [Wikipedia](https://en.wikipedia.org/wiki/Sisyphus).

This poor library is doomed to an eternity of performing tasks with no other
purpose in its pitiful and miserable life. I hope you didn't make fun of this
insignificant library, our existence is not much more encouraging...


# How does it work?

Essentially, Sísifo is just a library that allows you to run tasks on a data
collection. Therefore, the most important classes of the library are:

* `sisifo.DataCollection`. See a DataCollection like a dictionary. Use a key to
store/retrieve any kind of value from a data collection. The values stored in a
data collection are called **entities**.
* `sisifo.Task`. A task is an action that, usually, modifies the entities in a
data collection.

