Skip to content

Commit

Permalink
Update README for 0.2.0
Browse files Browse the repository at this point in the history
  • Loading branch information
samuell committed May 27, 2022
1 parent 396a8b5 commit 41329a2
Showing 1 changed file with 23 additions and 12 deletions.
35 changes: 23 additions & 12 deletions README.md
Expand Up @@ -3,38 +3,49 @@ FlowBase

A Flow-based Programming (FBP) micro-framework for Go (Golang).

The aim of FlowBase, as opposed to being a full-blown framework, is to provide just enough functionality on top of the existing FBP-like primives in Golang (channels with bounded buffers, asynchronous go-routines), to enable developing data processing applications with it. Thus the term "FBP micro-framework".
The aim of FlowBase, as opposed to being a full-blown framework, is to provide
just enough functionality on top of the existing FBP-like primives in Golang
(channels with bounded buffers, asynchronous go-routines), to enable developing
data processing applications with it. Thus the term "FBP micro-framework".

The pattern has previously been described in the following blog posts on [GopherAcademy](https://gopheracademy.com/):

- [Patterns for composable concurrent pipelines in Go](https://blog.gopheracademy.com/composable-pipelines-pattern/)
- [Composable Pipelines Improved](https://blog.gopheracademy.com/advent-2015/composable-pipelines-improvements/)

Status: The current version is an enhanced version of the above pattern, based
on functionality subsequently developed in the [SciPipe library](https://scipipe.org).

Installations
Installation
-----

First, make sure you have initialized a go module in your library, with:

```
go get github.com/flowbase/flowbase/...
go mod init <name-of-package>
```

(The ellipsis, `...`, is important, to get the `flowbase` commandline tool as well)
(Note that this could be e.g `go mod init github.com/yourusername/yourpackage`, or just a local name such as `youpackage`)

Usage
-----
Then, install the latest version of the flowbase library to your module:

Create a new FlowBase component stub:

```bash
flowbase new-component MyComponentName
```
go get github.com/flowbase/flowbase@latest
```

(More helper commands coming later ...)
Usage
-----

For a code example, see the [examples folder](https://github.com/flowbase/flowbase/tree/master/examples) here in the repo.

Code examples
More code examples
-------------

**Note:** The below code currently uses an earlier version of the FlowBase
library.

For a real-world example, see [this code](https://github.com/rdfio/rdf2smw/blob/e7e2b3/main.go#L100-L125)

defining an app to transform from semantic RDF data to wiki pages in MediaWiki
XML format (the network connection code is highlighted, to help you find the
interesting parts quick :) ).
Expand Down

0 comments on commit 41329a2

Please sign in to comment.