Pyblish Starter


#1

Hi all,

As a next step from the Pyblish by Example learning series, I’ve put together an example pipeline called Starter.

The goal of this project is to demonstrate one way of implementing a pipeline using Pyblish, including minimal versions of surrounding pipeline tools - such as browsing for and loading assets.


Here’s a video showing off some of the workflow in brief.


Limitations

Each of the concepts in this pipeline are compatible with pipelines of any complexity. In the interest of simplicity however, some concepts were excluded.

  • Maya Only - The overall pipeline, tools and graphical user interfaces are all platform agnostic, but at this point in time only Maya is provided.
  • Deformation Pipeline Only - That means only modeling, rigging and animation is considered. Additional pipeline steps are easily added, and are encouraged to by you the user, but are out of scope for the master project and documentation.
  • No Asset Composition - Lack of asset composition means no asset can contain another asset, and that includes shots. A shot typically contains one or more assets and depend on the relationship between these assets to be configurable and maintained throughout the lifetime of a project. Starter includes the necessary foundation of this relationship, via containers, but does not implement the necessary tools to manage it.
  • Static Root Directory - By default, only Maya is provided support for, and within Maya the root directory in which assets are published (and staged) defaults to the Maya project directory. This can be configured via api.register_root("/path/here"), but more exploration must be made before we can start to consider how this can apply to asset composition.

Try it out

I would love for you to give it a whirl and let me know what you think, there are a few interesting concepts that I think could benefit anyone interested in pipeline.

All plug-ins and graphical user interfaces are included in the call to pip install.

Some highlights:

  • User handholding when structuring the output via the Creator
  • File-system elimination with the Loader
  • List all assets on disk, including metadata, with api.ls()
  • List loaded assets, including metadata, with maya.ls()
  • Build your own GUI’s with the two former functions (read about schemas)

Install

$ pip install pyblish-starter
  • Install to your current working directory by passing --target .
  • Or install to a directory on your PYTHONPATH with --target /my/pythonpath.

Usage

>>> from pyblish_starter import api, maya
>>> api.install(maya)

A familiar menu appears, and you’ll be at where the video starts.


Feedback

I think this will be a great next step for anyone interested in Pyblish and have gone through the Learn By Example tutorial, but also for pipeline engineers everywhere. Very few pipelines are open source, and an even fewer of them are documented as thoroughly or have a community built around its foundation.

Take advantage of the knowledge held within, enjoy, and let me know what you think!