Integrated
Integrated
Leverages ZIO to handle interruption and offload blocking operations
Streaming
Streaming
Supports streaming via ZIO Streams
Convenient
Convenient
Built-in support for piping and other common process operations
Welcome to ZIO Process
Purely functional command and process library based on ZIO.
ZIO Process provides a principled way to call out to external programs from within a ZIO application while leveraging ZIO's capabilities like interruption and offloading blocking operations to a separate thread pool. You don't need to worry about avoiding these common pitfalls as you would if you were to use Java's ProcessBuilder
or the scala.sys.process
API since it already taken care of for you.
ZIO Process is backed by ZIO Streams, enabling you to work with processes that output gigabytes of data without worrying about exceeding memory constraints.