Build Status Code Coverage Maintainability Reliability

go-bitflow

go-bitflow is a Go (Golang) library for sending, receiving and transforming streams of data. The basic data entity is a bitfolw.Sample, which consists of a time.Time timestamp, a vector of float64 values, and a map[string]string of tags. Samples can be (un)marshalled in CSV and a dense binary format. The marshalled data can be transported over files, standard I/O channels, or TCP. A SamplePipeline can be used to pipe a stream of Samples through a chain of transformation or analysis steps implementing the SampleProcessor interface.

The cmd/bitflow-pipeline sub-package provides an executable with the same name. The pipeline (including data sources, data sinks, pipeline of transformations steps) is defined by a lightweight, domain-specific scripting language (see subpackage script). Some aspects of the pipeline can also be configured through additional command line flags.

Run bitflow-pipeline --help for a list of command line flags.

Go requirement: at least version 1.11