Skip to main content

🧠 Why This Graph Processing Library?

This library provides a type-safe, schema-enforced, and extensible graph processing engine built around declarative node definitions and runtime-validated data structures.

Unlike traditional graph systems that prioritize general-purpose DAG execution (e.g. Dask, Graphtik, Airflow), this system is optimized for modular, strongly typed dataflow composition with built-in validation, introspection, and configuration hygiene.


✅ Key Benefits

1. Schema-Enforced Nodes (via BaseData)

Each node, port, dependency, and graph is defined using BaseData — a typed dictionary-like class that:

  • Enforces required and optional fields
  • Validates type correctness (recursively)
  • Applies transformation, coercion, and field defaults
  • Allows structured, safe nesting (e.g., PortDependency → PortGroup → PortRef)

This enables full introspection, serialization, and editor tooling — without hand-written validation.


2. Readable, Declarative Graph Definitions

Graph definitions are concise and explicit:

ProcessingNode({
    "name": "MovingAverage",
    "type": SomeProcessor,
    "settings": {"window": 5},
    "dependencies": PortDependency({
        "input": PortGroup({
            "point": PortRef({"ref": ["__ref", "PointBuffer", "data"]})
        })
    })
})

This creates a clear mental model:

  • ProcessingNode = processor with inputs
  • PortRef = symbolic dependency resolution
  • Graphs can be composed from plain dicts, JSON, or programmatically

3. No Global Side Effects or Magic

  • No decorators
  • No monkey-patching
  • No global state
  • No string-based function binding

This makes the system easy to trace, debug, and control — even at runtime or in test environments.


4. Runtime Safety Without Compile-Time Rigidness

Graph topology is validated at runtime using explicit dependency resolution (e.g. topological sort).

  • Detects missing inputs
  • Detects cycles
  • Validates node structure

This preserves Python’s flexibility while giving you structural guarantees you'd expect from static languages.


5. Modular, Replaceable Execution Engine

Execution happens through a simple, readable ProcessingNetwork:

  • Processes node-by-node in topological order
  • Resolves input dependencies dynamically
  • Returns a merged output with all node results

You can replace it with:

  • An async version
  • A multiprocessing scheduler
  • An external engine (e.g. Graphtik) if flat execution is preferred

🆚 How It Compares

Feature This Library Graphtik / Dask Airflow / Luigi
Declarative Input Schema ✅ Full (BaseData) ❌ (free-form kwargs) ❌ (task-level only)
Recursive Field Validation ✅ ❌ ❌
Dynamic Input Resolution ✅ PortRef / PortGroup ❌ Flat only ❌ Static
Built-in Topological Sort ✅ ✅ ✅
Extensible Node Format ✅ ✅ ❌
Designed for Runtime Graphs ✅ ❌ Mostly static ❌ Batch Only

💡 Ideal Use Cases

  • Game logic graphs (AI, ability chains, simulations)
  • Modular feature extraction / preprocessing
  • Dynamic pipelines with user-defined graphs
  • Low-overhead knowledge graphs or agent graphs
  • Typed orchestration of modular Python components

🧩 TL;DR

This library is a minimalist, type-safe, and declarative graph execution engine — made for senior engineers who need:

  • Runtime graph safety
  • Structured validation
  • Pluggable execution models
  • Editor- and test-friendly data layouts

It’s not trying to replace general DAG runners — it’s for when you want typed, programmatic, embeddable graph logic inside a real system.

License:

  • Today, free for personal use only
  • Can not be included as part of any paid service
  • Free licence can be revoked
  • Experimental
  • All rights reserved
  • Use at own risk

Metadata

Release files for processing-graph 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for processing-graph 0.1.0
File Size Uploaded
processing_graph-0.1.0.tar.gz 19.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for processing-graph 0.1.0
File Interpreter ABI Platform
processing_graph-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 37.7 kB

Release files / processing_graph-0.1.0.tar.gz

Download URL processing_graph-0.1.0.tar.gz
Size 19.4 kB
Tags Source
SHA-256 checksum
How to use checksums
0f0cdfc884c591ae5e3bc94ee353a732c619b7fd364058d3101e84c3e30284b0
BLAKE2b-256 checksum
How to use checksums
5ece73b4ec5a5a0e16c1f7f3ede58306bbc877f12067b3335dbe8f7fe7d3d440
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 22, 2026.

Transparency log

Release files / processing_graph-0.1.0-py3-none-any.whl

Download URL processing_graph-0.1.0-py3-none-any.whl
Size 18.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4c5ac9c6ac5ea939b789e4cc7e4449b43a423e7e51c2c89d49a9e60214b9636b
BLAKE2b-256 checksum
How to use checksums
c60418355f74a520231c3da8df245b5247bdfdb3e8b612d39c379b6dd8096520
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 22, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page