OSS Power-Ups: CliWrap
This is the eighth episode of our series of OSS Power-Ups, where we put a spotlight on open-source .NET projects.
CLI is quite possibly one of the best things to have happened to the world of computing. Using a ubiquitous interface that lends itself extremely well for automation, we can create executables that allow us to share code across all operating systems and all programming languages – essentially the perfect library format! However, interacting with external command line processes is not a simple task. Moreover, it’s a task that the standard Process class in .NET is particularly poorly equipped for. Not only is the API it provides quite difficult to work with, but it’s also really easy to get yourself into one of the dozen possible deadlocking scenarios.
Enter CliWrap, a library for working with command-line executables in a functional manner. It provides a convenient model for launching external processes, redirecting inputs and outputs, awaiting completion, and handling cancellation. At its core, it’s based on a very robust piping model that lets you create intricate execution setups with minimal effort.
Back to the roots of command-line invocations!
About the presenter:
Alexey is a software developer, primarily experienced in cloud & web technologies. He’s the maintainer of multiple popular open-source projects, including CliWrap, DiscordChatExporter, YoutubeDownloaded, and LightBulb. He’s also a vivid tech blogger, frequent conference speaker, Microsoft MVP, and GitHub Star.