Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tweag/funflow
Functional workflows
https://github.com/tweag/funflow
content-addressable-storage reproducible-research workflow
Last synced: 12 days ago
JSON representation
Functional workflows
- Host: GitHub
- URL: https://github.com/tweag/funflow
- Owner: tweag
- License: mit
- Created: 2017-09-28T19:17:56.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2024-01-29T06:37:52.000Z (10 months ago)
- Last Synced: 2024-10-20T21:38:43.200Z (24 days ago)
- Topics: content-addressable-storage, reproducible-research, workflow
- Language: Haskell
- Size: 61.8 MB
- Stars: 362
- Watchers: 49
- Forks: 33
- Open Issues: 36
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Funflow
Compose and run computational workflows.
> Looking for the previous major version of funflow? It can be found
> [here](https://github.com/tweag/funflow/tree/funflow1).## Introduction
`funflow` is a Haskell library to write workflows programmatically, using
[kernmantle](https://github.com/tweag/kernmantle/) under the hood to model
workflows using binary effects.Funflow allows you to compose tasks into *reusable* workflows and helps
promote reproducibility by employing a content-addressed store.https://tweag.github.io/funflow/
## Getting started
### Installation
#### Cookiecutter Template
To get started with a simple project, you can use the cookiecutter template
provided with this repo:```console
cookiecutter [email protected]:tweag/funflow.git --directory cookiecutter-funflow
```#### Stack
While Funflow 2 hasn't been plublished on Hackage yet, you can install it as a git
dependency using the standard Haskell tooling (e.g.
[Stack](https://docs.haskellstack.org/en/stable/yaml_configuration/#packages)).
Note that you will also need to add a couple of extra dependencies to your `stack.yaml`.
See the [example stack.yaml](./cookiecutter-funflow/{{cookiecutter.project_name}}/stack.yaml) for a minimal example.### Tutorials
Check out the tutorials on the funflow website to get started:
https://tweag.github.io/funflow/tutorials/.You can run the tutorial notebooks using the nix shell provided in the
[funflow-tutorial](./funflow-tutorial) directory.## Documentation
The API documentation can be found here: https://tweag.github.io/funflow/api/
## Developement
For those interested in contributing, please see
[DEVELOPMENT.md](./docs/DEVELOPMENT.md).