SpatialNode


NameSpatialNode JSON
Version 0.0.1.post1 PyPI version JSON
download
home_page
Summarya node graph framework
upload_time2024-03-05 13:54:09
maintainer
docs_urlNone
author
requires_python>=3.12
licenseThe MIT License Copyright © 2020-2023 Yangfengzzz Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
keywords node editor pyside6
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # SpatialNode

[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)

## Introduction

**SpatialNode** is conceived as a general-purpose Qt-based library aimed at
developing Node Editors for various applications. The library could be used for
simple graph visualization and editing or extended further for using the
[Dataflow paradigm](https://en.wikipedia.org/wiki/Dataflow_programming) .

The library is written using the Model-View approach. The whole graph structure
is defined by a class derived from ``AbstractGraphModel``. It is possible to
create or add Nodes and Connections. The underlying data structures could be of
any arbitrary type or representation.

An instance of ``AbstractGraphModel`` could or could not be attached to
specialized ``QGraphicsScene`` and ``QGraphicsView`` objects. I.e. the so-called
"headless" `modus operandi` is possible.

![](./docs/capture.png)

## Data Flow Paradigm

The extended model class ``DataFlowGraphModel`` allows to register "processing
algorithms" represented by nodes and is equipped with a set of Qt's signals and
slots for propagating the data though the nodes.

The node's algorithm is triggered upon arriving of any new input data. The
computed result is propagated to the output connections. Each new connection
fetches available data and propagates is further. Each change in the source node
is immediately propagated through all the connections updating the whole graph.

## Acknowledge

This project is forked form [nodeeditor](https://github.com/paceholder/nodeeditor) originally but rewrite to pure python
project, which can integrate with python package well.

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "SpatialNode",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.12",
    "maintainer_email": "yangfengzzz <yangfengzzz@hotmail.com>",
    "keywords": "node editor,pyside6",
    "author": "",
    "author_email": "yangfengzzz <yangfengzzz@hotmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/84/70/8d477efabb3ea62d07623f19d1da0eca1ead317c6853610e63c9abac640a/SpatialNode-0.0.1.post1.tar.gz",
    "platform": null,
    "description": "# SpatialNode\n\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\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",
    "bugtrack_url": null,
    "license": "The MIT License  Copyright \u00a9 2020-2023 Yangfengzzz  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:  The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.",
    "summary": "a node graph framework",
    "version": "0.0.1.post1",
    "project_urls": {
        "Bug Reports": "https://github.com/SpatialForce/SpatialNode/issues",
        "Homepage": "https://github.com/SpatialForce/SpatialNode",
        "Source": "https://github.com/SpatialForce/SpatialNode"
    },
    "split_keywords": [
        "node editor",
        "pyside6"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4290b6821c94d48757141d368ae5c8ac0d8caed72433778a5c946049a89ed4d1",
                "md5": "8bbb7f952840afe05eef1c2153ce2734",
                "sha256": "08064e2e0e8a0dbf307fc34009d2f0b29226e8ce670ad028514bcec2fcb625ce"
            },
            "downloads": -1,
            "filename": "SpatialNode-0.0.1.post1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "8bbb7f952840afe05eef1c2153ce2734",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.12",
            "size": 64118,
            "upload_time": "2024-03-05T13:54:07",
            "upload_time_iso_8601": "2024-03-05T13:54:07.557385Z",
            "url": "https://files.pythonhosted.org/packages/42/90/b6821c94d48757141d368ae5c8ac0d8caed72433778a5c946049a89ed4d1/SpatialNode-0.0.1.post1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "84708d477efabb3ea62d07623f19d1da0eca1ead317c6853610e63c9abac640a",
                "md5": "92ef11e466660405fa3dd355b51f1581",
                "sha256": "cff3dd77980d73665bc0739817bef8667e790705117432d14ea67493429af49a"
            },
            "downloads": -1,
            "filename": "SpatialNode-0.0.1.post1.tar.gz",
            "has_sig": false,
            "md5_digest": "92ef11e466660405fa3dd355b51f1581",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.12",
            "size": 39250,
            "upload_time": "2024-03-05T13:54:09",
            "upload_time_iso_8601": "2024-03-05T13:54:09.318834Z",
            "url": "https://files.pythonhosted.org/packages/84/70/8d477efabb3ea62d07623f19d1da0eca1ead317c6853610e63c9abac640a/SpatialNode-0.0.1.post1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-05 13:54:09",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "SpatialForce",
    "github_project": "SpatialNode",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "lcname": "spatialnode"
}
        
Elapsed time: 0.19630s