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) - 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.
Pyblish has it’s root in the VFX industry, so some bits are not 100% straightforward for gamedev.
It’s mainly developed by 1 person, Marcus. (I’ve done some PRs too)
my notes¶
- My studies on the limits of Pyblish: Pyblish issues
- proposed feature: Pyblish marketplace
Backlinks¶
- 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.
- 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
- 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
- my projects
- various Pyblish repos, WIP - abandoned , PAC will replace them