[PYTHON] Introduction to Pyblish, a framework for supporting pipeline construction Part 1 Overview

What is pyblish

Official site: http://pyblish.com/ Operation movie: https://www.youtube.com/watch?v=j5uUTW702-U Operation movie: https://www.youtube.com/watch?v=-MKujcU88W8 Description: https://github.com/pyblish/pyblish/wiki/What-is-publishing Development Guide: https://pyblish.gitbooks.io/developer-guide/content/

** Pipeline construction support framework ** for video and game production developed by Abstract Factory. It works as a single unit, DCC or embedded. Unlike Shotgun / FTrack / 5th Kind / Tactic etc. * Difference * It is not aimed at large-scale management. As the name suggests, we focus on minimal quality control for output data, and aim for early detection and resolution of trivial problems. In other words, pyblish is a framework for verifying that there are no inconveniences in each process of data creation before publishing and automatically flowing it to the pipeline. The purpose is to confront and eliminate the problems encountered in daily content development by developers who assemble different parts aiming at one common product.

Since the core is just a framework, it is up to the user to implement the actual behavior required for the pipeline. The embedded versions available at this time are Houdini, Maya, Nuke, hiero and basically for video. However, the concept and function will be useful even in other industries.

Regarding the pipeline construction itself in game and video production, Ryutaro Nagafune's CEDEC2014 slide [^ 1] and Bone Digitally published Book [^ 2] and its [Book Review] by Eiji Kitada (http://eijikitada.blogspot.jp/2014/09/blog-post_26.html) [^ 3], 0303's Article [^ 4 ] Etc.

[^ 1]: [CEDEC2014] Important things to build an asset pipeline-essential pipeline from the perspectives of both the video industry and the game industry / cedec2014-pfg-slideshare-38869451) [^ 2]: Game / Video Production Pipeline Construction Manual [^ 3]: [Book Review] Game / Video Production Pipeline Construction Manual [^ 4]: Pipeline development guidelines [WIP]

First, I will touch on the advantages and disadvantages below.

advantage

Of course, not only pyblish, but also aiming at such quality control, I think that each has a mechanism to apply various validations. What makes pyblish different is

When using it as a team, it is possible to run only the necessary checkers depending on the part in charge and data. There is no need to manually turn off unnecessary checkers.

Although it is a restriction on using pyblish, the production environment and flow can be aligned and managed by the above.

Disadvantage

Constitution

https://github.com/pyblish/pyblish/wiki/How-it-works

The main body of pyblish is composed of various modules, and can be roughly divided into layers for a: core b: OS c: DCC application integration. You can find it by looking at the repository list at https://github.com/pyblish.

The main body of pyblish provides the framework of operation, and the actual operation is implemented as an extension (hereinafter referred to as pyblish extension). The pyblish body activates the functions implemented in the pyblish extension according to the settings. As an example of extension reference implementation,

Exists

There are four types of pyblish plugins that you can do. In processing order,

collection Gather-Gather information about what you are publishing and prepare for further stages. Login to the machine Username, date, what kind of file is open in the scene, what kind of stuff is in the scene, etc.

validation Verification-Verify the collected data. The most important phase. For example, are the nodes following naming conventions, are the units correct, are there empty layers, and so on.

extraction Extraction-Save what you need from the validated data. This phase will not be executed unless validation is passed.

integration Integration-Integrate extracted and stored data for other environments and pipelines. For example, registering in some database, saving to vcs, task tracking system recording, data conversion, etc.

After that, I plan to write an article about the actual introduction and operation. It is undecided when it will be


Recommended Posts

Introduction to Pyblish, a framework for supporting pipeline construction Part 1 Overview
Spigot (Paper) Introduction to how to make a plug-in for 2020 # 01 (Environment construction)
How to make a unit test Part.1 Design pattern for introduction
[Introduction to python] A high-speed introduction to Python for busy C ++ programmers
Introduction to PyQt4 Part 1
A quick introduction to pytest-mock
[Introduction to cx_Oracle] Overview of cx_Oracle
A super introduction to Linux
Introduction to Ansible Part ③'Inventory'
Introduction to Python For, While
Introduction to Ansible Part ④'Variable'
[Introduction to Python] How to use the in operator in a for statement?
Introduction to Ansible Part 2'Basic Grammar'
An introduction to Mercurial for non-engineers
Introduction to Python Hands On Part 1
From Ubuntu 20.04 introduction to environment construction
A light introduction to object detection
An introduction to Python for non-engineers
Introduction to Ansible Part 1'Hello World !!'
[Introduction to Udemy Python3 + Application] 47. Process the dictionary with a for statement
An introduction to self-made Python web applications for a sluggish third-year web engineer