{"id":15667711,"url":"https://github.com/SpatialGraphics/SpatialNode","last_synced_at":"2025-10-14T05:31:36.411Z","repository":{"id":225815078,"uuid":"765450896","full_name":"SpatialGraphics/SpatialNode","owner":"SpatialGraphics","description":"Qt Node Editor. Dataflow programming framework for pyside6","archived":false,"fork":false,"pushed_at":"2024-04-25T02:47:56.000Z","size":1162,"stargazers_count":5,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-13T15:17:38.076Z","etag":null,"topics":["dataflow","graph","node-editor","pyside6","python3","qt6"],"latest_commit_sha":null,"homepage":"https://pypi.org/project/SpatialNode/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SpatialGraphics.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-03-01T00:06:12.000Z","updated_at":"2024-12-30T22:29:17.000Z","dependencies_parsed_at":"2024-09-28T08:00:35.883Z","dependency_job_id":"c62479f7-969b-422d-8bde-1dabe08b84c8","html_url":"https://github.com/SpatialGraphics/SpatialNode","commit_stats":{"total_commits":27,"total_committers":1,"mean_commits":27.0,"dds":0.0,"last_synced_commit":"8b590f852d14b3fb22ad79e606c0245919be1a2e"},"previous_names":["spatialforce/spatialnode","spatialgraphics/spatialnode"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SpatialGraphics%2FSpatialNode","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SpatialGraphics%2FSpatialNode/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SpatialGraphics%2FSpatialNode/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SpatialGraphics%2FSpatialNode/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SpatialGraphics","download_url":"https://codeload.github.com/SpatialGraphics/SpatialNode/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":236451125,"owners_count":19150805,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dataflow","graph","node-editor","pyside6","python3","qt6"],"created_at":"2024-10-03T14:04:59.675Z","updated_at":"2025-10-14T05:31:35.982Z","avatar_url":"https://github.com/SpatialGraphics.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SpatialNode\n\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n[![Publish](https://github.com/SpatialForce/SpatialNode/actions/workflows/python-publish.yml/badge.svg)](https://github.com/SpatialForce/SpatialNode/actions/workflows/python-publish.yml)\n\n## Introduction\n\n**SpatialNode** is conceived as a general-purpose Qt-based library aimed at\ndeveloping Node Editors for various applications. The library could be used for\nsimple graph visualization and editing or extended further for using the\n[Dataflow paradigm](https://en.wikipedia.org/wiki/Dataflow_programming) .\n\nThe library is written using the Model-View approach. The whole graph structure\nis defined by a class derived from ``AbstractGraphModel``. It is possible to\ncreate or add Nodes and Connections. The underlying data structures could be of\nany arbitrary type or representation.\n\nAn instance of ``AbstractGraphModel`` could or could not be attached to\nspecialized ``QGraphicsScene`` and ``QGraphicsView`` objects. I.e. the so-called\n\"headless\" `modus operandi` is possible.\n\n![](./docs/capture.png)\n\n## Data Flow Paradigm\n\nThe extended model class ``DataFlowGraphModel`` allows to register \"processing\nalgorithms\" represented by nodes and is equipped with a set of Qt's signals and\nslots for propagating the data though the nodes.\n\nThe node's algorithm is triggered upon arriving of any new input data. The\ncomputed result is propagated to the output connections. Each new connection\nfetches available data and propagates is further. Each change in the source node\nis immediately propagated through all the connections updating the whole graph.\n\n## Acknowledge\n\nThis project is forked form [nodeeditor](https://github.com/paceholder/nodeeditor) originally but rewrite to pure python\nproject, which can integrate with python package well.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSpatialGraphics%2FSpatialNode","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FSpatialGraphics%2FSpatialNode","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSpatialGraphics%2FSpatialNode/lists"}