RadarTopicsBuildersWeeklyReads
Open Source Radar
ChunelFeng/

CGraph

GitHubWebsite

CGraph is a cross-platform C++ DAG framework with Python bindings (pycgraph), no third-party dependencies, and active releases since 2021. It provides pipeline-based scheduling for dependent and parallel tasks, with multi-language bindings and local save/load features.

2.3kstars
387forks
14issues
MITlicense
2021since
Star historydaily snapshots by VibeCrowd

Collecting history — the radar snapshots this repo daily. The trend line appears after 3 days of data (1 so far).

Alternatives & relatedmatched by topic overlap
Reviewgenerated from repository data · Aug 5, 2026

What it is

CGraph is a cross-platform directed acyclic graph framework written in pure C++11 without third-party dependencies, with Python bindings (pycgraph). It supports building pipelines of nodes (GNode) with dependencies and groupings (GGroup), enabling parallel execution of independent nodes and controlled sequencing. The project is listed under MIT license and has Python and multi-language bindings via related projects.

How it works

The framework exposes a GPipeline that you create via GPipelineFactory::create(), then register nodes and their dependencies using registerGElement, specifying names and dependency sets. Once registered, pipeline->process() runs the workflow. Python bindings mirror this pattern through pycgraph, with GNode subclassing in Python and registering elements similarly. The README examples show a simple DAG: a -> {b, c} -> d, where b and c run after a, and d runs after both complete.

Getting started

"CGraph 编译说明" and the README provide installation and build guidance. The latest releases indicate improvements to scheduling performance and pycgraph usage, including Linux pip installation for pycgraph. Commands to install or build are shown in the README and release notes, such as:

"pip install pycgraph" (as noted in the latest release notes)

Recent releases

  • v3.2.4 (2026-05-10): Perf improvements to overall scheduling, improved pycgraph usage experience, supports with param for parameter mutual exclusion, can directly inherit groups and override virtual methods, Linux system install via pip install pycgraph. Full Changelog: https://github.com/CGraph/compare/v3.2.3...v3.2.4
  • v3.2.3 (2026-03-24): Adds delete functionality for specific conn_id; bugfixes for wake and false wake; doc noting a 2025 feature summary. Full Changelog: https://github.com/ChunelFeng/CGraph/compare/v3.2.3...v3.2.3
  • v3.2.2 (2025-11-08): Adds local save/load for pipelines. Full Changelog: https://github.com/ChunelFeng/CGraph/compare/v3.2.2...v3.2.2
  • v3.1.2 (2025-09-06): Adds Go version and FetchContent method. Full Changelog: https://github.com/ChunelFeng/CGraph/compare/v3.1.1...v3.1.2
  • v3.1.1 (2025-06-15): Adds C# and Java versions. Full Changelog: https://github.com/ChunelFeng/CGraph/compare/v3.1.1...v3.1.1
  • v3.0.0 (2025-03-16): Python version provided and stage functionality added. Full Changelog: https://github.com/ChunelFeng/CGraph/compare/v2.6.2...v3.0.0

Traction

  • Stars: 2292, Forks: 387, Open issues: 14

Behind the repo

  • Repository linked to multiple language bindings and related projects such as PyCGraph, CGraph-lite, CsCGraph, JaCGraph, GoCGraph, and Pybind11-based bindings. The project is listed under MIT license and has ongoing maintenance with last push on 2026-08-03.

Caveats

  • License: MIT
  • Age: first release in 2021; active maintenance up to 2026 with several major version updates and Python bindings.
  • Open issues: 14
SharePost on XLinkedIn
All trending reposRevenue-verified startups →