Pyblish
Pyblish let’s you create content pipelines, and is aimed at VFX & games.
It’s a plugin based system, that’s dcc independent, so you can use the same pipeline in different apps, such as max, ,maya, Blender, substance, …
It’s great especially for validation, so artists can run the tool and it will tell them what’s wrong with their file.
Pyblish is created around the concept of plugins:
- collector plugins collect instances, which are saved in the context
(e.g. collect meshes)
why use instance collection in validation - validator plugins validate instances
(e.g. the mesh has no n-gons) - extraction plugins export instances
(e.g. export the mesh from dcc to disk) - integration plugins handle various integrations
(e.g. update Jira or the CMS for the mesh)
The plugin workflow is very powerful, allowing for the creation of a more modular pipeline. Whereas the traditional gamedev pipeline is often unique for each studio and hardcoded to the project, making it hard to reuse.
Limitations¶
- Pyblish has it’s root in the VFX industry, so some parts make less sense for gamedev.
- It’s maintained by only 1 person, Marcus. Who’s not actively working on it anymore.
- My studies on the limits of Pyblish: Pyblish issues
my notes¶
- proposed feature:
- Pyblish marketplace
- adaptors
Backlinks¶
- Avalon
- a more feature rich successor to Pyblish
- Pyblish marketplace
- how would you make a marketplace for Pyblish
- Pyblish plugin manager
- Pyblish plugin manager is a python module that let’s you explicitly set Pyblish plugin settings.
- datafix
- A validation Python API, aiming to address the limitations of Pyblish in a gamedev pipeline
- Pyblish default plugins
- Pyblish registers some default plugins to get you started, great for starters but annoying after a while since you have to explicitly deregister them every time.
- Pyblish issue - warning vs error
- Pyblish saves errors and warnings in different locations.
- Plugins either succeed or fail. There is no soft fail.
- Pyblish simple
- A UI for Pyblish, aimed at artists. To address that Pyblish issue - UI is not artist friendly
- my code projects
- various Pyblish repos, WIP - abandoned , PAC will replace them
- Pyblish issue - dependency injection
-
Pyblish dependency injection¶
- This feels unpythonic
The implicit nature of this makes it hard to understand and debug.
-
- Pyblish issue - docs are confusing
- Pyblish pros
- Pyblish to port
- Python outside Python path
- lack of open source in the games industry
- the closest system I’ve seen is Pyblish
- review pac
- The original goal was: create Pyblish but better, since PRs to fix it didn’t work out. I was bothered by all the Pyblish issues so decided to restart from a clean slate.