go-streams

Go stream processing library

Github stars Tracking Chart

go-streams

Build Status
GoDoc
Go Report Card
codecov

Go stream processing library.
Provides simple and concise DSL to build data pipelines.
pipeline-architecture-example

Wiki
In computing, a pipeline, also known as a data pipeline,[1] 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
  • PassThrough
  • Split
  • FanOut
  • Merge
  • Throttler
  • SlidingWindow
  • TumblingWindow

Supported Sources and Sinks (ext package):

Examples

Could be found in the examples directory.

License

Licensed under the MIT License.

Main metrics

Overview
Name With Ownerreugn/go-streams
Primary LanguageGo
Program languageGo (Language Count: 1)
Platform
License:MIT License
所有者活动
Created At2019-04-30 17:28:15
Pushed At2025-04-25 08:29:42
Last Commit At2025-04-25 11:29:35
Release Count25
Last Release Namev0.12.0 (Posted on )
First Release Namev0.2.0 (Posted on )
用户参与
Stargazers Count2k
Watchers Count29
Fork Count164
Commits Count204
Has Issues Enabled
Issues Count34
Issue Open Count1
Pull Requests Count89
Pull Requests Open Count6
Pull Requests Close Count46
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private