Dgsh – Directed graph shell
Dgsh — это оболочка для создания направленных ациклических графов процессов, расширяющая возможности стандартных Unix-конвейеров. Она позволяет строить сложные нелинейные пайплайны с параллельным выполнением задач, используя существующие утилиты и специально адаптированные инструменты. Это повышает эффективность обработки больших данных и потоков, распределяя нагрузку между несколькими ядрами процессора.
Ключевые особенности включают многоканальные пайпы (multipipes) для связи команд с несколькими входами и выходами, блоки {{ ... }} для асинхронного выполнения процессов и хранение значений (stored values) для обмена данными между произвольными узлами графа. Примеры использования охватывают бенчмарки сжатия, анализ кода, поиск дубликатов и обработку научных данных, демонстрируя гибкость подхода.
Комментарии (52)
- Идея Dgsh оценивается как устаревшая по синтаксису, но перспективная для современных оболочек вроде nushell и elvish.
- Обсуждаются преимущества представления конвейеров данных в виде направленного ациклического графа (DAG) перед линейными пайплайнами.
- Сравнивается удобство Dgsh для создания конвейеров с написанием аналогичных задач на Python, Ruby или в чистом bash.
- Отмечается сложность работы с пайпами и процессами в Python по сравнению с shell-инструментами.
- Упоминаются альтернативные инструменты, такие как Murex, и фреймворки для оркестрации, например Apache Airflow.
Murex – An intuitive and content aware shell for a modern command line
Murex.Rocks
Интуитивная и контекстно-ориентированная оболочка для современной командной строки.
Современная оболочка для всех
Murex предлагает множество уникальных возможностей:
Контекстная осведомленность
Нативная поддержка форматов данных: JSON, YAML, CSV и других. Типы данных могут быть явно приведены или выведены автоматически.
Выражения
Умная обработка переменных и выражений для предотвращения ошибок. Больше не нужно беспокоиться о специальных символах в именах файлов.
Интерактивность
Интуитивная интерактивная оболочка с подсказками из man-страниц и интеграцией с ИИ.
Расширяемость
Встроенный менеджер пакетов для простого обмена конфигурациями и переноса окружения между машинами.
Начало работы
- Тур по языку для старта
- Rosetta Stone как шпаргалка с сравнением Bash
- Интерактивная оболочка для использования в командной строке
Простая установка
Установите murex через ваш пакетный менеджер:
macOS:
brew install murex
# или
port install murex
Arch Linux:
wget -O PKGBUILD 'https://aur.archlinux.org/cgit/aur.git/plain/PKGBUILD?h=murex'
makepkg --syncdeps --install
FreeBSD:
pkg install murex
Другие варианты в документе установки.
Лицензия GPLv2, Copyright © 2017-present Laurence Morgan
Комментарии (46)
- Пользователи столкнулись с техническими проблемами при установке и запуске Murex, включая ошибки с aspell, HTTPS-протоколом и системными вызовами.
- Обсуждаются исторические и культурные отсылки в названии оболочки (Murex — моллюск, источник пурпурного красителя, значимый для финикийцев и иудеев).
- Поднимается вопрос о целесообразности изучения нового синтаксиса, несовместимого с Bash, и необходимости убедительных преимуществ для перехода.
- Murex сравнивается с альтернативными оболочками, в частности с Nushell и PowerShell, отмечается сходство в подходе к работе с структурированными данными.
- Критикуется маркетинг и описание проекта за отсутствие конкретных примеров и явных преимуществ перед существующими решениями.
- Отмечается, что для широкого применения скрипты должны быть совместимы с Bash, что ставит под вопрос нишевый потенциал Murex.
- Некоторые пользователи выражают заинтересованность в тестировании Murex при условии, что он будет стабильным и быстрым.