Skip to main content

Plumber Agent

Local DCC agent for Plumber Workflow Editor.

Keeps Maya, Blender, Houdini, and Nuke running as persistent background servers so Plumber workflows send operations in ~100ms instead of cold-starting the DCC every time (25–200x faster).


Requirements

  • Python 3.8, 3.9, 3.10, 3.11, or 3.12
  • pip
  • At least one DCC application:
    • Maya 2022–2026 (requires mayapy on PATH, or auto-discovered)
    • Blender 4.0–5.0+ (auto-discovered from standard install locations)
    • Houdini 20.0+ (requires hython on PATH, or auto-discovered)
    • Nuke 13–15 (requires nuke on PATH, or auto-discovered)

Install

pip install plumber-agent

Upgrade:

pip install --upgrade plumber-agent

Run

Start the agent in the foreground (useful for first-time setup and debugging):

plumber-agent

The agent starts on http://127.0.0.1:8001, connects to the Plumber cloud backend, and auto-discovers your installed DCC applications. A status line is printed for each DCC found:

[OK] Maya 2026 detected at /usr/autodesk/maya2026/bin/mayapy
[OK] Blender 4.4 detected at /Applications/Blender.app/Contents/MacOS/Blender
[--] Houdini not found

Run the agent as a background Windows Service that starts automatically with Windows:

# Run as Administrator
plumber-agent install-service
plumber-agent start
plumber-agent status

Service management:

plumber-agent stop
plumber-agent restart
plumber-agent logs          # tail the log file
plumber-agent uninstall-service

macOS / Linux background process

plumber-agent &             # run in background
plumber-agent logs          # check logs

Custom Nodes

Place Python files in ~/plumber/custom_nodes/ and they appear automatically in the editor's node menu. No restart required — the agent hot-reloads when files change.

~/plumber/
  custom_nodes/
    my_studio_node.py    ← your nodes go here
    vfx_pipeline.py

See the SDK documentation for the full API reference.

Minimal example (~/plumber/custom_nodes/hello.py):

from plumber_sdk import Node, Property, Output, ExecutionContext

class HelloNode(Node):
    _description = "Greet the world"
    _category = "Examples"

    name: str = Property(default="World", label="Name")
    greeting: str = Output(type=str, label="Greeting")

    def execute(self, context: ExecutionContext) -> dict:
        return {"greeting": f"Hello, {self.name}!"}

Diagnostics

plumber-agent version       # print installed version
plumber-agent discover      # list detected DCC applications
plumber-agent status        # show running service status and active sessions
plumber-agent logs          # stream the log file

Log file location:

  • Windows: %LOCALAPPDATA%\plumber-agent\plumber_agent.log
  • macOS / Linux: ~/.plumber-agent/plumber_agent.log

Workspace Variables

Workflows can reference portable paths using $VAR placeholders:

plumber-agent set-var PROJECTS /mnt/studio/projects
plumber-agent set-var RENDERS  /mnt/studio/renders
plumber-agent list-vars

In a workflow, use $PROJECTS/my_shot/scene.ma and the agent expands it to the full path on each machine. This lets one workflow JSON run correctly across different artists' workstations.


Troubleshooting

Agent not connecting to the editor

  • Confirm plumber-agent status shows running.
  • Check firewall rules — the agent needs outbound HTTPS to plumber-production-446f.up.railway.app (port 443) and WebSocket on the same host.

DCC not discovered

  • Maya: ensure mayapy is on your PATH, or set MAYA_LOCATION.
  • Blender: install to the default location for your OS; the agent scans standard paths.
  • Houdini: ensure hython is on your PATH (sourcing houdini_setup does this).
  • Nuke: ensure nuke is on your PATH.
  • Run plumber-agent discover to see exactly which paths were scanned.

Custom node not appearing

  • Confirm the file is in ~/plumber/custom_nodes/ with a .py extension.
  • Run plumber-agent logs and look for import errors — a syntax error in your file prevents all nodes in that file from loading.
  • Make sure the class inherits from Node or one of the DCC base classes.

DCC operation is slow or times out

  • The first operation in a workflow warms up the persistent server (~1–10 s depending on DCC). Subsequent operations in the same session should be ~100 ms.
  • Increase timeout in _run_raw_script() for heavy renders or exports.

Release files for plumber-agent 1.2.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 plumber-agent 1.2.0
File Size Uploaded
plumber_agent-1.2.0.tar.gz 156.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for plumber-agent 1.2.0
File Interpreter ABI Platform
plumber_agent-1.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 330.4 kB

Release files / plumber_agent-1.2.0.tar.gz

Download URL plumber_agent-1.2.0.tar.gz
Size 156.9 kB
Tags Source
SHA-256 checksum
How to use checksums
89234e739a5af20e7489031e292428d7cce4412188b1322e3ab1e381d5fdad69
BLAKE2b-256 checksum
How to use checksums
0338773da8609f38d3b4a7151ea4eccf3e3969b15945d9fb4ccfb4218f6e5322
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.1

Release files / plumber_agent-1.2.0-py3-none-any.whl

Download URL plumber_agent-1.2.0-py3-none-any.whl
Size 173.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a6ba6097202d3a46f157c00a71694bc4c436ed4717e3725c22dff0482e101556
BLAKE2b-256 checksum
How to use checksums
6c2b730cb185747d3bd21f9fb6b7c163e1609f65a2e1f5971b93c116eb12030e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.1

Release history Release notifications | RSS feed

This release

1.2.0 This release

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.20

2 release files

1.0.19

2 release files

1.0.18

2 release files

1.0.17

2 release files

1.0.16

2 release files

1.0.15

2 release files

1.0.14

2 release files

1.0.13

2 release files

1.0.12

2 release files

1.0.11

2 release files

1.0.10

2 release files

1.0.9

2 release files

1.0.7

2 release files

1.0.6

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

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