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-baseAny 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
hostsAttribute 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
