Pyblish 1.1 Released

Ahh, didn’t think to put the files into different folder. For development I can just put unwanted plugins into a temp directory.

1 Like

Updated to 1.0.5, with Pyblish 1.1.1

Here are the changes.

  • Enhancement: Hosts limit, not allow (see #194)
  • Enhancement: CLI outputs less, more concise information
  • Enhancement: Lowering logging level for plug-ins skipped during discovery to DEBUG
  • Enhancement: Underscore-prefixed plug-ins are hidden from discovery (see #196)
  • Bugfix: Discover ignores non-Python files (see #192)

I have a feeling I’ve read somewhere, that you were planning to implement option to query existence of data by using instance.data['someData'] rather than instance.has_data['someData']

was I dreaming, or is that working?

It was no dream! But it’s not implemented yet, and probably won’t be until 1.2 or even 2.0, considering it’s just semantics without any unique value.

I mentioned it here: http://forums.pyblish.com/t/api-changes
Originally from here: https://github.com/pyblish/pyblish/issues/117

1 Like

Updated to 1.0.6, with Pyblish QML 0.2.11

Version 0.2.11

  • Added support for Pyblish RPC 0.1.1
  • Added Instance to log messages.
  • PROBATION SUPPORT for pyblish_qml.settings
  • PROBATION SUPPORT for context.set_data(“label”)

Instance to log messages

untitled

Settings

Usage

THE FOLLOWING FEATURES ARE ON PROBATION AND MAY GET PULLED

Customise Context label and Window title.

import pyblish_qml
pyblish_qml.settings.WindowTitle = "My Title"
pyblish_qml.settings.WindowSize = (430, 600)
pyblish_qml.settings.ContextLabel = "The World"

Each setting is applied when the GUI is shown, which means you can change them any time before then, including between subsequent runs.

Alternatively, set context label during processing.

class CollectContextLabel(pyblish.api.Collector):
  def process(self, context):
    context.set_data("label", "The World")

The GUI will read the current label after having processed all collectors. Any change after Collection will not be visible in the GUI.

Gunna try this update out:)

What is RPC?

Let me know if you run into any issues.

Pyblish RPC is the new Endpoint. Not something you’ll have to think about normally, unless you’re contributing to Pyblish QML or developing an additional front-end.

Tried on a previously published nuke scene, and got no instances and this error;

Smells like a muddy update. Make sure there are no .pyc files lurking about, or wipe the install and start anew.

Tried downloading a fresh pyblish-win, and still getting the same error.

Is it happening on all workstations, in just Nuke?

Could you type up a plug-in or two that captures the error?

Edit: Ok, I got it too. Investigating…

Ok, think I got it, still running tests, but try running update.bat and see if it makes a difference. I’ll get back once I’ve ran it through on my end.

Its working here now:)

1 Like

Ok, working here as well now.

Patched up so it won’t happen again. Thanks for reporting this Toke, it looked like a global problem that anyone would have had.

Finding that when I use a selector like this;

import ftrack

import pyblish.api
import pyblish_qml


@pyblish.api.log
class SelectContextLabel(pyblish.api.Selector):
    """
    """

    order = pyblish.api.Selector.order + 0.2

    def process(self, context):

        # skipping instance if ftrackData isn't present
        if not context.has_data('ftrackData'):
            self.log.info('No ftrackData present. Skipping this instance')
            return

        ftrack_data = context.data('ftrackData')

        # setting context label
        task = ftrack.Task(ftrack_data['Task']['id'])
        path = [task.getName()]
        for p in task.getParents():
            path.append(p.getName())

        path = ' / '.join(list(reversed(path)))
        pyblish_qml.settings.WindowTitle = path

On first launch of the UI I get the default “Pyblish” as the window title, then on the second and onwards I get the window title I set in the selector.

That actually makes sense, because the UI get’s drawn before you’re selectors run, but second time it already exists, so it just get’s changed. Eventually it would make more sense to have it display in it’s own space. And info bar in the GUI above the instances and plugins.

Yeah, that’s expected, as you’re opening the GUI before changing the title.

The title is only sent across when you open it. Chicken and egg.

So I guess for the window title to be set on the first launch, I’m looking at a modified menu.py?

Sorry, missed this.

Yeah, either at start-up, on a scene-open callback or a dedicated “set context” tool of sorts. Any time prior to publishing.

Updated Pyblish for Windows to 1.0.7, mainly a maintenance update, with one significant change, which is the ability to decrement the order on plug-ins, to have your custom plug-ins process before others.

See #199 for more.

Full changelog

  • Includes Pyblish for Maya 1.0.15
    • Fix for menu item appearing in the wrong spot (#43)
  • Includes Pyblish 1.1.12
    • Logic: Excluding SimplePlugin and Selectors from Default test (See #198)
    • BACKWARDS INCOMPATIBLE order now supports being decremented (see #199)