This pipe Go package, by Gustavo Niemeyer of labix.org, allows you to programmatically set up and run a pipeline of processes in Go, and to get the pipe's standard output and standard error, either combined, or separately.
The page has some examples of creating pipelines using the package.
The approach he uses is more like the original Unix pipes concept:
in that it creates pipelines out of multiple processes, whereas the approach I took with my Python pipe_controller module was different: instead of multiple processes, I used multiple Python functions in a single process:
(See the first few hits from the above search for pipe_controller.)
I recently came across some interesting work by Gustavo and others, involving porting Canonical's Juju devops tool from Python to Go.
Relevant links for the Juju port:
Interestingly, IIRC, based on some stories that I read a while ago, the word juju is related to magic in some West African language ...
And that may be why Juju scripts are called charms:
P.S. I wonder what Devops_Borat would have to say about Juju (and about Python and Go too :)
- Vasudev Ram