/PlumberManager

A helper tool to design CG Pipeline interactive diagrams and data flow documentation

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

Plumber Manager

GitHub top language GitHub last commit License GitHub release (latest by date) GitHub release downloads

A helper tool to design CG Pipeline interactive diagramas and data flow documentation

Screenshot

Download it from Release!

A packaged binary version is provided as a release thanks to PyInstaller!

At the moment I'm only making it for Windows, mostly for testing.

Download it from Release here!

Why yet another diagraming tool?

Pipeline can be many things ranging from Tasks, DCC's and Tools, but personally I find it that at its core, Pipeline is mostly about the flow of data, and its main building blocks are just a bunch of processes with inputs and outputs (Loaders and Publishers)

While Pipeline diagrams can be made out from any diagraming software, there is none that comes with certain preconfigured concepts from our industry, and I also think that Node networks are the best way to represet that idea of "a bunch of processes with inputs and outputs"

What if there is a tool that offers:

  • An editable Node network similar to those from all the DCC's that we use all day.
  • Pre-configured with all the known standard formats used in the industry as inputs and outputs.
  • Automatic layout of the network, usefull when things get really big an complex.
  • Interactive navigation and preview of isolated parts of the network.
  • Store documentation of process and its inputs and outputs.

All that is what Plumber Manager its aming to offer.

Roadmap

  • Allow to update connection names on existing nodes
  • Allow to update connection data types on existing nodes
  • Display the data type icons on the node slot names
  • Option to preview isolated view of a selected node and just its direct connections
  • Save relative icons paths on graph files
  • Fix properties panel to not display duplicated widgets after selection
  • Improve connections ordering functionality
  • Allow for process text descriptions
  • Process description with support for markdown
  • Add export documentation functionality, that expots a pdf document with all processes and its inputs and outputs

And if you have an idea for something else, create a feature request in the form of an issue !

Development

Requirements:

It also uses a modified version of Nodz as a git submodule

Setup and run

After clonning the repo, initialize the corresponding git submodule for Nodz

git submodule init

Install the dependencies on the requirements.txt file

python -m pip install requirements.txt

To start PlumberManager just run the run.py script

python /PlumberManager/run.py

Packaging

This project its intended to be used directly and it the most simple way, and that its easier if its distributed as a single executable package

The binary release its done with PyInstaller and the .spec file its included in the repo

To create a build from source just make sure to have PyInstaller

pip install pyinstaller

And run the packaging using the included .spec file

pyinstaller /PlumberManager/.spec