Кроссплатформенный драйвер графических планшетов с открытым исходным кодом, работающий в пользовательском режиме на Windows, Linux и macOS и настраиваемый через GUI.
Tyrrrz/CliWrap
Библиотека .NET для запуска процессов командной строки с гибкой настройкой, перенаправлением stdin/stdout/stderr и асинхронной отменой.
- Звёзды
- 5,010
- Форки
- 286
- Открытые issues
- 3
- Последний коммит
- позавчера
Что это?
CliWrap — библиотека .NET, которая предоставляет для System.Diagnostics.Process удобный неизменяемый API с цепочками вызовов и предназначена для запуска инструментов командной строки. Команду создают вызовом Cli.Wrap с путём к исполняемому файлу, затем задают аргументы, рабочую директорию, переменные окружения и другие параметры, после чего вызывают ExecuteAsync или один из методов более высокого уровня.
Стандартные потоки ввода, вывода и ошибок можно подключать к файлам, потокам, массивам байтов, строкам, буферам StringBuilder, делегатам или другим командам; команды также можно объединять операторами конвейера. Вспомогательные методы собирают буферизованный вывод или предоставляют процесс как поток событий с pull- или push-моделью, чтобы обрабатывать вывод в реальном времени.
Библиотека поддерживает отмену с принудительным завершением процесса и корректными сигналами прерывания; по умолчанию при ненулевом коде завершения выбрасывается исключение. Внешних зависимостей нет; поддерживаются .NET Standard 2.0, .NET Core 3.0+ и .NET Framework 4.6.2+.
Ключевые возможности
- 01Гибкая неизменяемая настройка команд с помощью цепочек вызовов: аргументы, рабочая директория и переменные окружения.
- 02Гибкое перенаправление stdin, stdout и stderr в файлы, потоки, строки, делегаты или другие команды.
- 03Буферизованное выполнение и потоки событий с pull- или push-моделью для обработки вывода.
- 04Асинхронный API с поддержкой принудительной и корректной отмены.
- 05По умолчанию ненулевой код завершения приводит к исключению; проверку можно отключить.
- 06Без внешних зависимостей.
Сценарии использования
- Вызов внешних инструментов, например git, ffmpeg или docker, из приложения .NET.
- Передача вывода процесса в реальном времени в логи или интерфейс пользователя.
- Объединение инструментов командной строки в цепочки с перенаправлением ввода и вывода.
- Запуск долгих процессов с тайм-аутами и корректным завершением.
Быстрый старт
- 1
Установите NuGet-пакет CliWrap
dotnet add package CliWrap - 2
Импортируйте пространство имён и вызовите Cli.Wrap(...), указав путь к исполняемому файлу, а затем ExecuteAsync() в коде на C#
Что важно знать
- Перед использованием проекта или его исходного кода README требует согласиться с политическими условиями использования, касающимися России и Украины.
- Поддержка параметров политики ресурсов зависит от платформы.
- Параметры учётных данных, кроме имени пользователя, доступны только в Windows.
В подборках
Темы
Частые вопросы
- Что такое CliWrap?
- Библиотека .NET для запуска процессов командной строки с гибкой настройкой, перенаправлением stdin/stdout/stderr и асинхронной отменой. CliWrap — библиотека .NET, которая предоставляет для System.Diagnostics.Process удобный неизменяемый API с цепочками вызовов и предназначена для запуска инструментов командной строки. Команду создают вызовом Cli.Wrap с путём к исполняемому файлу, затем задают аргументы, рабочую директорию, переменные окружения и другие параметры, после чего вызывают ExecuteAsync или один из методов более высокого уровня.
- CliWrap можно использовать бесплатно? Какая у него лицензия?
- CliWrap распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- CliWrap всё ещё поддерживается?
- Активно поддерживается. Последний коммит в CliWrap — 4 нояб. 2026 г..
- Для чего можно использовать CliWrap?
- Вызов внешних инструментов, например git, ffmpeg или docker, из приложения .NET. Передача вывода процесса в реальном времени в логи или интерфейс пользователя. Объединение инструментов командной строки в цепочки с перенаправлением ввода и вывода. Запуск долгих процессов с тайм-аутами и корректным завершением.
- Как установить CliWrap?
- Установите NuGet-пакет CliWrap: dotnet add package CliWrap Импортируйте пространство имён и вызовите Cli.Wrap(...), указав путь к исполняемому файлу, а затем ExecuteAsync() в коде на C#
- Где скачать CliWrap?
- Исходный код и инструкции по установке — на GitHub: https://github.com/Tyrrrz/CliWrap
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
C#-фреймворк для CLI без зависимостей и аллокаций, совместимый с AOT и генерирующий код парсинга и маршрутизации во время компиляции.
Модульный многопользовательский фреймворк и CMS с открытым исходным кодом на базе ASP.NET Core.
Umbraco — бесплатная CMS с открытым исходным кодом на .NET для создания сайтов и цифровых продуктов.
Бесплатный редактор PDF с открытым исходным кодом для Windows и встроенным движком PDF 2.0: просмотр, аннотации, OCR, объединение, разделение, подпись и многое другое.
Библиотека C# для создания PDF-документов с помощью типизированного fluent-кода, без преобразования HTML в PDF.