Skip to content

FlowKit

FlowKit CI Go Reference Go Version License

A lightweight generic workflow and pipeline toolkit for Go.

Features

  • Generic pipelines
  • Producer / Transformer / Consumer model
  • Stream processing
  • Functional operators
  • Iterator support
  • Zero external dependencies
  • Built with Go generics

Installation

go get github.com/bhaskar253/flowkit

Quick Example

package main

import (
    "fmt"

    "github.com/bhaskar253/flowkit"
)

func main() {
    count := 1
    pipeline := flowkit.New(

        func() (int, bool) {
            if count > 5 {
                return 0, false
            }
            value := count
            count++
            return value, true
        },

        func(value int) int {
            return value * value
        },

        func(value int) {
            fmt.Println(value)
        },
    )
    pipeline.Run()
}

Output:

1
4
9
16
25

Development

Format:

go fmt ./...

Test:

go test ./...

Validate:

go vet ./...

License

Apache License 2.0

About

A generic pipeline library using Go generics.

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages