Write and serve custom Trigix workflow nodes over HTTP.
Project description
Trigix Node SDK (Python)
Write a custom Trigix workflow node as a Python function and serve it over HTTP. No changes to the Trigix executor are required — the executor calls your node like any other.
Quick start
pip install trigix-node-sdk
# or from this repo: pip install -e sdk/python
uvicorn examples.greeter:app --port 9000
from trigix_node_sdk import node, create_app
@node(slug="greet", label="Greeter",
config_schema={"type": "object",
"properties": {"name": {"type": "string"}}})
def greet(config, input, node_outputs):
name = config.get("name") or input.get("name", "world")
return {"greeting": f"Hello, {name}!"}
app = create_app()
Then in Trigix → Custom Nodes, register:
- slug:
greet - endpoint:
http://your-host:9000/nodes/greet - config schema: copy from
GET /manifest
Add a Custom node to a workflow, pick greet, and it runs your code.
The contract
The executor POSTs to /nodes/<slug>:
{ "node_id": "n1", "config": { "name": "Ada" },
"input_json": "{\"...\":\"...\"}", "node_outputs": { "prev": "{...}" } }
Your handler def handler(config, input, node_outputs) -> dict receives the
parsed input and returns a JSON-serializable dict. The server wraps it as:
{ "output_json": "{\"greeting\":\"Hello, Ada!\"}" }
Downstream nodes reference your output via {{node_id.field}}.
Discovery
GET /manifest lists every registered node (slug, label, description,
config schema, endpoint) so it can be registered in Trigix in one step.
Security
Custom nodes run in your own process, isolated from the Trigix core. Run the node service on a trusted network; the executor reaches it by URL. (WASM-based in-process isolation for untrusted nodes is a planned future option.)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file trigix_node_sdk-0.1.0.tar.gz.
File metadata
- Download URL: trigix_node_sdk-0.1.0.tar.gz
- Upload date:
- Size: 5.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
52904357b09baf0da9af976693831e713ce50a46a4dd775b9c094bfdbe1dc452
|
|
| MD5 |
6a1f25b447f827dcfb70cecdee467a93
|
|
| BLAKE2b-256 |
3d1213c84bff5179456082f151a830027115573f3472499afe07931f041b57c0
|
File details
Details for the file trigix_node_sdk-0.1.0-py3-none-any.whl.
File metadata
- Download URL: trigix_node_sdk-0.1.0-py3-none-any.whl
- Upload date:
- Size: 5.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
daabd23b09f66442f9ee73df6e21bea970e6a17f39c1c2439acf87a3b8a29d92
|
|
| MD5 |
88f099da2b3fce892c24c86fc94ca929
|
|
| BLAKE2b-256 |
8f7b51b5266ec90650b7b957cf053041e23e06b5540bc2d53154d43cc8a554d7
|