All Projects → reugn → tpack

reugn / tpack

Licence: MIT license
Pack a Go workflow/function as a Unix-style pipeline command

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to tpack

etran
Erlang Parse Transforms Including Fold (MapReduce) comprehension, Elixir-like Pipeline, and default function arguments
Stars: ✭ 19 (-65.45%)
Mutual labels:  pipeline, pipe
pv
Unix Pipe Viewer (pv) utility in Node.js
Stars: ✭ 20 (-63.64%)
Mutual labels:  stream, pipe
Fluids
Fluid dynamics component of Chemical Engineering Design Library (ChEDL)
Stars: ✭ 154 (+180%)
Mutual labels:  pipeline, pipe
Hookah
A cross-platform tool for data pipelines.
Stars: ✭ 83 (+50.91%)
Mutual labels:  pipeline, pipe
Labeled Stream Splicer
stream splicer with labels
Stars: ✭ 37 (-32.73%)
Mutual labels:  stream, pipeline
Onhold
🔊 Play sounds while and after shell jobs complete
Stars: ✭ 146 (+165.45%)
Mutual labels:  pipeline, pipe
files-io
Read many files with node
Stars: ✭ 19 (-65.45%)
Mutual labels:  stream, pipe
Rush
A cross-platform command-line tool for executing jobs in parallel
Stars: ✭ 421 (+665.45%)
Mutual labels:  pipeline, command
rocket-pipes
Powerful pipes for TypeScript, that chain Promise and ADT for you 🚌 -> ⛰️ -> 🚠 -> 🏂 -> 🚀
Stars: ✭ 18 (-67.27%)
Mutual labels:  pipeline, pipe
Gollum
An n:m message multiplexer written in Go
Stars: ✭ 883 (+1505.45%)
Mutual labels:  stream, pipeline
Param pipe
parameterized pipe in elixir: |n>
Stars: ✭ 14 (-74.55%)
Mutual labels:  pipeline, pipe
Stream Splicer
streaming pipeline with a mutable configuration
Stars: ✭ 52 (-5.45%)
Mutual labels:  stream, pipeline
Ttyplot
a realtime plotting utility for terminal/console with data input from stdin
Stars: ✭ 532 (+867.27%)
Mutual labels:  pipeline, pipe
lwt-pipe
[beta] A multi-consumer, multi-producers blocking queue and stream for Lwt
Stars: ✭ 30 (-45.45%)
Mutual labels:  stream, pipe
Pipeline
Pipeline is a package to build multi-staged concurrent workflows with a centralized logging output.
Stars: ✭ 433 (+687.27%)
Mutual labels:  pipeline, pipe
Pipeline.rs
☔️ => ⛅️ => ☀️
Stars: ✭ 188 (+241.82%)
Mutual labels:  pipeline, pipe
pipe-trait
Make it possible to chain regular functions
Stars: ✭ 22 (-60%)
Mutual labels:  pipeline, pipe
bash-streams-handbook
💻 Learn Bash streams, pipelines and redirection, from beginner to advanced.
Stars: ✭ 153 (+178.18%)
Mutual labels:  pipeline, pipes
prox
A Scala library for working with system processes
Stars: ✭ 93 (+69.09%)
Mutual labels:  stream, pipe
Rivers
Data Stream Processing API for GO
Stars: ✭ 39 (-29.09%)
Mutual labels:  stream, pipeline

tpack

Test Status PkgGoDev Go Report Card

Pack a Go workflow/function as a Unix-style pipeline command.

tpack

Wiki
In Unix-like computer operating systems, a pipeline is a mechanism for inter-process communication using message passing. A pipeline is a set of processes chained together by their standard streams, so that the output text of each process (stdout) is passed directly as input (stdin) to the next one.

Use tpack to write Go applications that act as pipeline commands. Employ channels, goroutines, regular expressions and more to build powerful concurrent workflows.

Examples

See ETL workflow in the examples folder.

package main

import "github.com/reugn/tpack"

func main() {
	tpack.NewPackerStd(tpack.NewFunctionProcessor(
		doETL,
	)).Execute()
}

Test command

cat input.txt | go run *.go 2>/dev/null | wc -l

License

Licensed under the MIT License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].