Skip to main content

Execute litegraph.js graphs server-side

Reason this release was yanked:

Broken release

Project description

GraphExec

GraphExec is a tool for executing litegraph.js graphs on a server, with node operations implemented as Python functions.

Slot types can be any Python types, including NumPy arrays and custom, opaque classes.

It runs as a REST back-end for litegraph.js with some aftermarket modifications, or as a command-line tool. Generating JavaScript code for client-side stub nodes (with slots, properties and widgets, but no business logic) is also possible, based on decorators added to the node implementation.

For each node, server-side code can return image results (including Matplotlib figures).

The project is in an alpha development stage; for example, litegraph.js built-in nodes are not implemented, and there is no support for the REST back-end in the upstream library.

screenshot


Usage

With my_node_types.py:

from graphexec import node_type

from .my_implementation import _perlin_noise

@node_type.define("my_package/perlin_noise", "Perlin noise")
@node_type.input("width", "number")
@node_type.input("height", "number")
@node_type.output("map", "numpy.ndarray")
def perlin_noise(width, height):
    return dict(map=_perlin_noise(int(width), int(height)))

NODE_TYPES = [
    perlin_noise,
]
graphexec-generate-js-module -o ../litegraph/src/nodes/my-package-generated.js my_node_types
env PYTHONPATH=. graphexec-server --wwwroot ../litegraph -m my_node_types

Format check

black --diff **.py

Type check

mypy graphexec

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

graphexec-0.0.1.tar.gz (7.0 kB view details)

Uploaded Source

Built Distribution

graphexec-0.0.1-py3-none-any.whl (8.9 kB view details)

Uploaded Python 3

File details

Details for the file graphexec-0.0.1.tar.gz.

File metadata

  • Download URL: graphexec-0.0.1.tar.gz
  • Upload date:
  • Size: 7.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.26.0 requests-toolbelt/0.9.1 urllib3/1.26.7 tqdm/4.62.3 importlib-metadata/4.11.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.10.0

File hashes

Hashes for graphexec-0.0.1.tar.gz
Algorithm Hash digest
SHA256 b87136af305d1e61147e6916162cccef2e5868928b41a08be854e9db20e242da
MD5 8e705bad516f7f822abd5a0b88b08f95
BLAKE2b-256 1140c9c5f70fc80dacd8b86f380018a69baf07081bbda496aff05eda2a2ad3da

See more details on using hashes here.

File details

Details for the file graphexec-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: graphexec-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 8.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.26.0 requests-toolbelt/0.9.1 urllib3/1.26.7 tqdm/4.62.3 importlib-metadata/4.11.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.10.0

File hashes

Hashes for graphexec-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 14251bacf1953b3a9bed2fc76c5f1244a239671a3ac863a687a6031b704328d5
MD5 08763883972c971945dc8a4ee6cb55ad
BLAKE2b-256 515d2887cca12c902ebb07140c390b75fe6a2f2aa615e0a9e379d38313341853

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page