# 📜 bluer_flow

📜 `bluer_flow` for workflow management.

```bash
pip install bluer_flow
```

|   |   |   |   |   |
| --- | --- | --- | --- | --- |
| 📜 | [`a-bc-d`](./patterns/a-bc-d.dot) | [`hourglass`](./patterns/hourglass.dot) | [`map-reduce`](./patterns/map-reduce.dot) | [`map-reduce-large`](./patterns/map-reduce-large.dot) |
| [generic](./bluer_flow/workflow/runners/generic.py) | [![image](https://github.com/kamangir/assets/blob/main/bluer_flow-generic-a-bc-d/workflow.gif?raw=true&random=x03mb2knor3kozqd)](https://github.com/kamangir/assets/blob/main/bluer_flow-generic-a-bc-d/workflow.gif?raw=true&random=x03mb2knor3kozqd) [🔗](https://github.com/kamangir/assets/blob/main/bluer_flow-generic-a-bc-d/workflow.gif?raw=true&random=x03mb2knor3kozqd) | [![image](https://github.com/kamangir/assets/blob/main/bluer_flow-generic-hourglass/workflow.gif?raw=true&random=5pqeduhy3u0ykvwf)](https://github.com/kamangir/assets/blob/main/bluer_flow-generic-hourglass/workflow.gif?raw=true&random=5pqeduhy3u0ykvwf) [🔗](https://github.com/kamangir/assets/blob/main/bluer_flow-generic-hourglass/workflow.gif?raw=true&random=5pqeduhy3u0ykvwf) | [![image](https://github.com/kamangir/assets/blob/main/bluer_flow-generic-map-reduce/workflow.gif?raw=true&random=4i30mrty13cn2r8d)](https://github.com/kamangir/assets/blob/main/bluer_flow-generic-map-reduce/workflow.gif?raw=true&random=4i30mrty13cn2r8d) [🔗](https://github.com/kamangir/assets/blob/main/bluer_flow-generic-map-reduce/workflow.gif?raw=true&random=4i30mrty13cn2r8d) | [![image](https://github.com/kamangir/assets/blob/main/bluer_flow-generic-map-reduce-large/workflow.gif?raw=true&random=pg305tvlfxn95vaf)](https://github.com/kamangir/assets/blob/main/bluer_flow-generic-map-reduce-large/workflow.gif?raw=true&random=pg305tvlfxn95vaf) [🔗](https://github.com/kamangir/assets/blob/main/bluer_flow-generic-map-reduce-large/workflow.gif?raw=true&random=pg305tvlfxn95vaf) |
| [local](./bluer_flow/workflow/runners/local.py) | [![image](https://github.com/kamangir/assets/blob/main/bluer_flow-local-a-bc-d/workflow.gif?raw=true&random=3ptwrp1o0cxwzk6l)](https://github.com/kamangir/assets/blob/main/bluer_flow-local-a-bc-d/workflow.gif?raw=true&random=3ptwrp1o0cxwzk6l) [🔗](https://github.com/kamangir/assets/blob/main/bluer_flow-local-a-bc-d/workflow.gif?raw=true&random=3ptwrp1o0cxwzk6l) | [![image](https://github.com/kamangir/assets/blob/main/bluer_flow-local-hourglass/workflow.gif?raw=true&random=mns21ml0s9b8cym0)](https://github.com/kamangir/assets/blob/main/bluer_flow-local-hourglass/workflow.gif?raw=true&random=mns21ml0s9b8cym0) [🔗](https://github.com/kamangir/assets/blob/main/bluer_flow-local-hourglass/workflow.gif?raw=true&random=mns21ml0s9b8cym0) | [![image](https://github.com/kamangir/assets/blob/main/bluer_flow-local-map-reduce/workflow.gif?raw=true&random=ohwx8iv7vg9d86q2)](https://github.com/kamangir/assets/blob/main/bluer_flow-local-map-reduce/workflow.gif?raw=true&random=ohwx8iv7vg9d86q2) [🔗](https://github.com/kamangir/assets/blob/main/bluer_flow-local-map-reduce/workflow.gif?raw=true&random=ohwx8iv7vg9d86q2) | [![image](https://github.com/kamangir/assets/blob/main/bluer_flow-local-map-reduce-large/workflow.gif?raw=true&random=y1p4cuhntvfbqmop)](https://github.com/kamangir/assets/blob/main/bluer_flow-local-map-reduce-large/workflow.gif?raw=true&random=y1p4cuhntvfbqmop) [🔗](https://github.com/kamangir/assets/blob/main/bluer_flow-local-map-reduce-large/workflow.gif?raw=true&random=y1p4cuhntvfbqmop) |
| [localflow](./bluer_flow/workflow/runners/localflow/runner.py) | [![image](https://github.com/kamangir/assets/blob/main/bluer_flow-localflow-a-bc-d/workflow.gif?raw=true&random=kxi95pa0izo1w59z)](https://github.com/kamangir/assets/blob/main/bluer_flow-localflow-a-bc-d/workflow.gif?raw=true&random=kxi95pa0izo1w59z) [🔗](https://github.com/kamangir/assets/blob/main/bluer_flow-localflow-a-bc-d/workflow.gif?raw=true&random=kxi95pa0izo1w59z) | [![image](https://github.com/kamangir/assets/blob/main/bluer_flow-localflow-hourglass/workflow.gif?raw=true&random=8fijz67q1jqcb29x)](https://github.com/kamangir/assets/blob/main/bluer_flow-localflow-hourglass/workflow.gif?raw=true&random=8fijz67q1jqcb29x) [🔗](https://github.com/kamangir/assets/blob/main/bluer_flow-localflow-hourglass/workflow.gif?raw=true&random=8fijz67q1jqcb29x) | [![image](https://github.com/kamangir/assets/blob/main/bluer_flow-localflow-map-reduce/workflow.gif?raw=true&random=zcdf3ktbxg579u7q)](https://github.com/kamangir/assets/blob/main/bluer_flow-localflow-map-reduce/workflow.gif?raw=true&random=zcdf3ktbxg579u7q) [🔗](https://github.com/kamangir/assets/blob/main/bluer_flow-localflow-map-reduce/workflow.gif?raw=true&random=zcdf3ktbxg579u7q) | [![image](https://github.com/kamangir/assets/blob/main/bluer_flow-localflow-map-reduce-large/workflow.gif?raw=true&random=uqs8meydd8ce862y)](https://github.com/kamangir/assets/blob/main/bluer_flow-localflow-map-reduce-large/workflow.gif?raw=true&random=uqs8meydd8ce862y) [🔗](https://github.com/kamangir/assets/blob/main/bluer_flow-localflow-map-reduce-large/workflow.gif?raw=true&random=uqs8meydd8ce862y) |

💡 example use: [literature review using OpenAI API](https://github.com/kamangir/openai-commands/tree/main/openai_commands/literature_review).

# aliases

[localflow](./bluer_flow/docs/aliases/localflow.md), 
[workflow](./bluer_flow/docs/aliases/workflow.md).


---

> 🌀 [`blueflow`](https://github.com/kamangir/notebooks-and-scripts) for the [Global South](https://github.com/kamangir/bluer-south).

---


[![pylint](https://github.com/kamangir/bluer-flow/actions/workflows/pylint.yml/badge.svg)](https://github.com/kamangir/bluer-flow/actions/workflows/pylint.yml) [![pytest](https://github.com/kamangir/bluer-flow/actions/workflows/pytest.yml/badge.svg)](https://github.com/kamangir/bluer-flow/actions/workflows/pytest.yml) [![bashtest](https://github.com/kamangir/bluer-flow/actions/workflows/bashtest.yml/badge.svg)](https://github.com/kamangir/bluer-flow/actions/workflows/bashtest.yml) [![PyPI version](https://img.shields.io/pypi/v/bluer-flow.svg)](https://pypi.org/project/bluer-flow/) [![PyPI - Downloads](https://img.shields.io/pypi/dd/bluer-flow)](https://pypistats.org/packages/bluer-flow)

built by 🌀 [`bluer README`](https://github.com/kamangir/bluer-objects/tree/main/bluer_objects/README), based on 📜 [`bluer_flow-5.57.1`](https://github.com/kamangir/bluer-flow).
