Popularity
8.0
Growing
Activity
6.9
-
1,746
26
142

Programming language: Go
License: MIT License
Tags: Stream Processing    
Latest version: v0.5.2

go-streams alternatives and similar packages

Based on the "Stream Processing" category.
Alternatively, view go-streams alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of go-streams or a related project?

Add another 'Stream Processing' Package

README

go-streams

Build PkgGoDev Go Report Card codecov

A lightweight stream processing library for Go.
go-streams provides a simple and concise DSL to build data pipelines. [pipeline-architecture-example](./docs/images/pipeline-architecture-example.png)

Wiki
In computing, a pipeline, also known as a data pipeline, is a set of data processing elements connected in series, where the output of one element is the input of the next one. The elements of a pipeline are often executed in parallel or in time-sliced fashion. Some amount of buffer storage is often inserted between elements.

Overview

Building blocks:

  • Source - A Source is a set of stream processing steps that has one open output.
  • Flow - A Flow is a set of stream processing steps that has one open input and one open output.
  • Sink - A Sink is a set of stream processing steps that has one open input. Can be used as a Subscriber.

Flow capabilities (flow package):

  • Map
  • FlatMap
  • Filter
  • Reduce
  • PassThrough
  • Split
  • FanOut
  • RoundRobin
  • Merge
  • Flatten
  • Throttler
  • SlidingWindow
  • TumblingWindow
  • SessionWindow

Supported Connectors:

Examples

Usage samples are available in the examples directory.

License

Licensed under the MIT License.


*Note that all licence references and agreements mentioned in the go-streams README section above are relevant to that project's source code only.