process-streaming: Streaming interface to system processes.

[ bsd3, library, system ] [ Propose Tags ]

Concurrent, streaming access to the input and outputs of system processes.


[Skip to Readme]
Versions [faq] 0.0.1, 0.0.1.1, 0.3.0.0, 0.5.0.0, 0.5.0.1, 0.5.0.2, 0.6.0.0, 0.6.1.0, 0.6.2.0, 0.6.2.1, 0.6.2.2, 0.6.5.0, 0.6.6.0, 0.6.7.0, 0.6.8.0, 0.6.9.0, 0.7.0.0, 0.7.0.1, 0.7.0.2, 0.7.1.0, 0.7.2.0, 0.7.2.1, 0.7.2.2, 0.9.0.0, 0.9.0.1, 0.9.1.0, 0.9.1.1, 0.9.1.2, 0.9.2, 0.9.2.1, 0.9.3.0
Change log CHANGELOG
Dependencies base (>=4.4 && <5), bifunctors (>=4.1), bytestring, conceit (>=0.3.2.0), free (>=4.2), kan-extensions (>4.2), pipes (>=4.1.3), pipes-bytestring (>=2.1.0), pipes-concurrency (>=2.0.2), pipes-parse (>=3.0.1), pipes-safe (>=2.2.0), pipes-text (>=0.0.0.10), pipes-transduce (>=0.4.1), process (>=1.2.3.0), profunctors (>=5), text (>=0.11.2), transformers (>=0.2), transformers-compat (>=0.3), void (>=0.6) [details]
License BSD-3-Clause
Author Daniel Diaz Carrete
Maintainer diaz_carrete@yahoo.com
Category System
Source repo head: git clone https://github.com/danidiaz/process-streaming.git
Uploaded by DanielDiazCarrete at Sat Apr 7 01:02:41 UTC 2018
Distributions NixOS:0.9.3.0
Downloads 11478 total (355 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs available [build log]
Last success reported on 2018-04-14 [all 1 reports]

Modules

[Index]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees


Readme for process-streaming-0.9.3.0

[back to package description]

process-streaming

A library for interacting with system processes in a streaming fashion.

The basic goals:

  • Concurrent, streaming access to stdin, stdout and stderr...

  • ...all the while preventing deadlocks caused by mishandling of the streams.

  • Easy integration with consumers from pipes, parsers from pipes-parse and folds from foldl.

  • Facilitate the use of sum types to signal failures, when desired.

  • No fussing around with process handles: wait for the process by waiting for the IO action, terminate the process by killing the thread executing the IO action.

A relevant thread in the Haskell Pipes Google Group.

Possible alternatives in Hackage

  • turtle (pipes-based, shell programming)

http://hackage.haskell.org/package/turtle

  • pipes-cliff (pipes-based)

http://hackage.haskell.org/package/pipes-cliff

  • pipes-shell (pipes-based)

http://hackage.haskell.org/package/pipes-shell

  • shelly (shell programming)

http://hackage.haskell.org/package/shelly

  • shell-conduit (coundit-based, shell programming)

http://hackage.haskell.org/package/shell-conduit

  • Data.Conduit.Process from conduit-extra (conduit-based)

http://hackage.haskell.org/package/conduit-extra

  • System.IO.Streams.Process from io-streams (iostreams-based)

http://hackage.haskell.org/package/io-streams

  • process-extras

http://hackage.haskell.org/package/process-extras