Welcome to the Pyblish by Example tutorial.
- The basics of publishing in the production of film and games
- The fundamentals of Pyblish and it's API
- How to validate content
- How to guarantee valid content on export
- How to properly position and name content according to convention
- How to visualise the results of one or more publishes
- Developer and Artist communication through the UI
Pyblish is an open source, cross-platform framework for test-driven content creation.
Pyblish by Example is a hands-on introduction to Pyblish using short example programs written like a book - to be read from top to bottom.
If you haven't already, go ahead and install Pyblish.
$ pip install pyblish-base
Any problems, have a look at the extended installation guide.
Start by confirming to yourself that you are indeed using version 1.4+ of Pyblish.
>>> import pyblish
>>> pyblish.__version__
'1.4.3'
If not, see the top-left corner of this page for a dropdown of your version.
As you read through this guide it is recommended that you use the scripting API, accessible via pyblish.util
.
from pyblish import util
util.publish()
Should you happen to find errors or would like to contribute material to this guide, you can:
- Click on the
+
button to the right of each paragraph to add a comment - Register on GitBook to edit this book directly.
- Fork the GitHub repository and submit a pull-request with your changes.
Have a look to the left for a table of contents, and below for related topics in the forums.
Note: The below content was written at various versions of Pyblish and may not include current best practices, but all remain forwards compatible with version 1.4.
For example,
.set_data("key", "value")
has been superseded by.data["key"] = "value"
but will still work with newer plug-ins.
Intermediate
- Responsibility of Extractors
- Multiple families workflow
- Per task plug-ins
- Publishing with comments
- Instances and Plain-Old-Data
- Cooperative Collection
- Search and Customisation
- Good to know about Pyblish
hosts
Attribute In-Depth- Registration versus families
- Backwards compatibility
Advanced
Changelog
2015-08-06 16:27
- Added Quickstart2015-08-07 10:12
- Added Architecture2015-08-07 10:14
- Updated Quickstart2015-08-07 19:17
- Added Good to know about Pyblish2015-08-07 20:41
- Updated Architecture2015-08-07 20:48
- Updated This2015-08-09 10:51
- Updated Validating II with flow chart2015-08-09 17:24
- Updated This, with installation instructions2015-08-10 09:00
- Updated This2015-08-11 07:28
- Updated Quickstart2015-08-11 07:30
- Updated Files with comma-separated paths2015-08-11 07:40
- Fixed typo in Report IV2015-08-13 21:08
- Updated Report I-IV2015-08-14 09:26
- Updated Report I-II2015-08-18 07:02
- Added host attribute in-depth2015-08-18 07:22
- Added "You will learn" to This2015-10-19 14:38
- Updated use of "Asset" to "Instance"2015-11-19 09:07
- Updated to pure-dict2015-12-20 21:56
- Updated image of Context + Instance.2016-01-21 17:46
- Transitioned to GitBooks, removed section about custom test and services.2016-06-07 09:48
- Defer use of GUI from guide.2016-07-01 14:54
- Link to installation guide on Forum2016-08-03 10:40
- Add intermediate and advanced links2017-08-12 10:30
- Removed deprecated dependency injection link