Repolode
ChunelFeng

ChunelFeng/CGraph

CGraph — не требующий сторонних зависимостей C++11-фреймворк для построения и выполнения параллельных графов задач с Python-привязкой pycgraph.

Звёзды
2,316
Форки
392
Открытые issues
13
Последний коммит
4 дня назад

Что это?

CGraph — кроссплатформенный фреймворк на C++ для описания и выполнения ориентированных ациклических графов задач. Вы наследуете класс узла, реализуете его метод run() и задаёте зависимости между узлами. Планировщик запускает зависимые узлы по порядку, а независимые — параллельно; также поддерживаются пауза, возобновление и тайм-ауты.

Помимо обычных зависимостей, во фреймворке есть группы для условных ветвлений, циклов и параллельного выполнения, а также передача параметров, события, сообщения и аспекты для сквозной логики. Проект использует стандартную библиотеку C++11, собирается на macOS, Linux, Windows и Android, а также доступен как пакет Python pycgraph.

Проект предназначен для разработчиков, которым нужно оркестрировать многоэтапные конвейеры обработки в нативном коде — например, алгоритмические процессы или предварительную и последующую обработку при инференсе — без добавления внешних зависимостей.

Ключевые возможности

  • 01Запускает зависимые узлы по порядку, а независимые — параллельно
  • 02Поддерживает условные ветвления, циклы и групповое выполнение
  • 03Позволяет приостанавливать и возобновлять выполнение, а также задавать тайм-аут для каждого узла
  • 04Передаёт параметры, сообщения и события между узлами
  • 05Не имеет сторонних зависимостей, использует C++11 и предоставляет Python-привязки

Сценарии использования

  • Оркестрация многоэтапных алгоритмических конвейеров и конвейеров обработки данных в приложениях на C++
  • Представление этапов предварительной и последующей обработки при инференсе ИИ в виде графа зависимостей
  • Встраивание планировщика графов задач во встраиваемые проекты или проекты для Android без внешних библиотек

Быстрый старт

  1. 1

    Установите Python binding из PyPI

    pip install pycgraph
  2. 2

    Сохраните пример на Python из README в виде скрипта и запустите его с помощью Python

Что важно знать

  • В README не показана установка версии на C++ через менеджер пакетов; её нужно собрать из исходного кода, следуя отдельному руководству COMPILE.md.
  • Основной README написан на китайском языке, а ссылка на отдельный README на английском ведёт прямо из него.

В подборках

Темы

Частые вопросы

Что такое CGraph?
CGraph — не требующий сторонних зависимостей C++11-фреймворк для построения и выполнения параллельных графов задач с Python-привязкой pycgraph. CGraph — кроссплатформенный фреймворк на C++ для описания и выполнения ориентированных ациклических графов задач. Вы наследуете класс узла, реализуете его метод run() и задаёте зависимости между узлами. Планировщик запускает зависимые узлы по порядку, а независимые — параллельно; также поддерживаются пауза, возобновление и тайм-ауты.
CGraph можно использовать бесплатно? Какая у него лицензия?
CGraph распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
CGraph всё ещё поддерживается?
Активно поддерживается. Последний коммит в CGraph — 3 нояб. 2026 г..
Для чего можно использовать CGraph?
Оркестрация многоэтапных алгоритмических конвейеров и конвейеров обработки данных в приложениях на C++ Представление этапов предварительной и последующей обработки при инференсе ИИ в виде графа зависимостей Встраивание планировщика графов задач во встраиваемые проекты или проекты для Android без внешних библиотек
Как установить CGraph?
Установите Python binding из PyPI: pip install pycgraph Сохраните пример на Python из README в виде скрипта и запустите его с помощью Python
Где скачать CGraph?
Исходный код и инструкции по установке — на GitHub: https://github.com/ChunelFeng/CGraph

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Распределённый фреймворк на Java для планирования задач: cron, по фиксированному интервалу, с задержкой и в стиле MapReduce на серверных и рабочих узлах.

7,8 тыс.+5 за неделю1,4 тыс.JavaApache-2.0Обновлён в прошлом месяце

Open-source-платформа на TypeScript для создания и развёртывания долгоживущих AI-агентов и фоновых процессов с повторами, очередями и мониторингом.

16,7 тыс.+56 за неделю1,5 тыс.TypeScriptApache-2.0Активно поддерживаетсяОбновлён 4 дня назад