{"id":27065984,"url":"https://github.com/hasielhassan/plumbermanager","last_synced_at":"2025-08-10T16:37:50.377Z","repository":{"id":192015025,"uuid":"179798286","full_name":"hasielhassan/PlumberManager","owner":"hasielhassan","description":"A helper tool to design CG Pipeline interactive diagrams and data flow documentation","archived":false,"fork":false,"pushed_at":"2025-03-24T07:24:14.000Z","size":4184,"stargazers_count":81,"open_issues_count":1,"forks_count":10,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-24T07:31:52.581Z","etag":null,"topics":["animation","cgi","dataflow","diagrams","documentation","flowchart","graph-editor","graph-editor-gui","node-based-ui","node-editor","nodebased","nodes","pipeline","pyside","python","qt","vfx","vfx-graph","vfx-pipeline","workflow"],"latest_commit_sha":null,"homepage":"https://www.hasielhassan.com/PlumberManager","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hasielhassan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-04-06T06:41:29.000Z","updated_at":"2025-03-02T21:17:24.000Z","dependencies_parsed_at":"2023-09-02T03:13:04.499Z","dependency_job_id":"82962f1e-7b34-45d6-b83c-349f0d90fb17","html_url":"https://github.com/hasielhassan/PlumberManager","commit_stats":null,"previous_names":["hasielhassan/plumbermanager"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hasielhassan%2FPlumberManager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hasielhassan%2FPlumberManager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hasielhassan%2FPlumberManager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hasielhassan%2FPlumberManager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hasielhassan","download_url":"https://codeload.github.com/hasielhassan/PlumberManager/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247384904,"owners_count":20930552,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["animation","cgi","dataflow","diagrams","documentation","flowchart","graph-editor","graph-editor-gui","node-based-ui","node-editor","nodebased","nodes","pipeline","pyside","python","qt","vfx","vfx-graph","vfx-pipeline","workflow"],"created_at":"2025-04-05T18:34:39.941Z","updated_at":"2025-04-05T18:34:40.386Z","avatar_url":"https://github.com/hasielhassan.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"resources/icon_256.png\" width=\"128\"/\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003ePlumber Manager\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003cimg alt=\"GitHub top language\" src=\"https://img.shields.io/github/languages/top/hasielhassan/PlumberManager\" /\u003e\n    \u003cimg alt=\"GitHub last commit\" src=\"https://img.shields.io/github/last-commit/hasielhassan/PlumberManager\" /\u003e\n    \u003cimg alt=\"License\" src=\"https://img.shields.io/github/license/hasielhassan/PlumberManager\" /\u003e\n    \u003cimg alt=\"GitHub release (latest by date)\" src=\"https://img.shields.io/github/v/release/hasielhassan/PlumberManager\" /\u003e\n    \u003cimg alt=\"GitHub release downloads\" src=\"https://img.shields.io/github/downloads/hasielhassan/PlumberManager/total\" /\u003e\n    \u003cimg alt=\"Compatible Python Versions\" src=\"https://img.shields.io/badge/Python Versions- 3.9 / 3.11-blue\" /\u003e\n\u003c/p\u003e\n\nA helper tool to design CG Pipeline interactive diagramas and data flow documentation\n\n![Screenshot](screenshot.png)\n\n## Download it from Release!\n\nA packaged binary version is provided as a release thanks to PyInstaller!\n\nAt the moment I'm only making it for Windows, mostly for testing.\n\n[Download it from Release here!](https://github.com/hasielhassan/PlumberManager/releases)\n### Why yet another diagraming tool?\n\nPipeline 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)\n\nWhile 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\"\n\nWhat if there is a tool that offers:\n- An editable Node network similar to those from all the DCC's that we use all  day.\n- Pre-configured with all the known standard formats used in the industry as inputs and outputs.\n- Automatic layout of the network, usefull when things get really big an complex.\n- Interactive navigation and preview of isolated parts of the network.\n- Store documentation of process and its inputs and outputs.\n\nAll that is what Plumber Manager its aming to offer.\n\n## Roadmap\n\n- [X] Allow to update connection names on existing nodes\n- [ ] Allow to update connection data types on existing nodes\n- [X] Display the data type icons on the node slot names\n- [X] Option to preview isolated view of a selected node and just its direct connections\n- [X] Save relative icons paths on graph files\n- [X] Fix properties panel to not display duplicated widgets after selection\n- [ ] Improve connections ordering functionality\n- [X] Allow for process text descriptions\n- [ ] Process description with support for markdown\n- [X] Add export documentation functionality, that expots a pdf document with all processes and its inputs and outputs\n\nAnd if you have an idea for something else, create a feature request in the form of an issue !\n# Development\n## Requirements:\n- Python 3.9+\n- PyQt6 or PySide6\n- [qdarkstyle](https://github.com/ColinDuquesnoy/QDarkStyleSheet)\n- [Qt.py](https://github.com/mottosso/Qt.py)\n- [pygraphviz](https://github.com/pygraphviz/pygraphviz)\n- [reportlab](https://www.reportlab.com)\n\nIt also uses a modified version of Nodz as a git submodule\n- https://github.com/hasielhassan/Nodz\n\n## Setup and run\n\nAfter clonning the repo, initialize the corresponding git submodule for Nodz\n```\ngit submodule init\n```\n\nInstall the dependencies on the `requirements.txt` file\n```\npython -m pip install requirements.txt\n```\n\nTo start PlumberManager just run the `run.py` script\n\n```\npython /PlumberManager/run.py\n```\n\n## Packaging\n\nThis 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\n\nThe binary release its done with PyInstaller and the `.spec` file its included in the repo\n\nTo create a build from source just make sure to have PyInstaller\n\n```\npip install pyinstaller\n```\n\nAnd run the packaging using the included `.spec` file\n\n```\npyinstaller /PlumberManager/.spec\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhasielhassan%2Fplumbermanager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhasielhassan%2Fplumbermanager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhasielhassan%2Fplumbermanager/lists"}