Renovation taking place today

Hi all,

I’m about to perform some major refactoring to the GitHub layout of this project, based on feedback from @jedfrechette in one of the issues in pyblish-win, read more here

I expect to have a working version ready by the end of today, so this shouldn’t have much of an effect on anyone; but there will be problems.

What will happen?

Repositories will have their name changed.

  1. pyblish/pyblish --> pyblish/pyblish-base
  2. pyblish/pyblish-x --> pyblish/pyblish

The goal is to make pyblish/pyblish the official sum of all supported sub-projects, such as the integrations into hosts, the GUI and such; just as pyblish-x is today.

Why?

Due to how versioning works today.

The base Pyblish library has a version which other projects must adhere to, but distributions at the same time have their own independent version, due to how their layout and feature set can update without necessarily changing things up-stream; such as a bugfix to the Windows distribution of PyQt5.

The primary difference once renovation is complete, is that pyblish/pyblish will have a version number, and aggregrations such as pyblish-win will inherit this number plus a “build” number.

For example

  • pyblish 1.3.0
    • pyblish-win 1.3.0-build1

How

This is the tricky part.

I’ll just rename the GitHub repos, which is simple enough, but what will happen is that external services such as Travis-CI will break, external links to Pyblish, such as those on Tech-Artists.org or CGTalk or Wiki’s might refer to things wrongly but perhaps most importantly, the installation procedure of for example pyblish-win will likely break until it has been updated.

pyblish-win will also eventually see it’s name changed to better reflect it’s purpose as a distribution, as opposed to an extension or integration which its name currently suggests.

What will remain unchanged however is the binary installer for Windows, so if you have just arrived to the Pyblish scene and are looking to get started, you can find the installer here.

Let the battle begin!



FAQ

Will the import path change?

No, you will still import like this:

import pyblish.api

The name pyblish-base is only visible and relevant on GitHub.

Can I still install via pip?

Yes, installation remains unchanged.

$ pip install pyblish



Tested

Here are some of the tests I’ve run with this new configuration in place.

pip install pyblish          -- OK
pyblish-win/install.bat      -- OK
pyblish-win-setup.exe`       -- OK
travis                       -- OK
coveralls.io                 -- OK
appveyor                     -- OK
wiki                         -- OK
developer guide              -- OK
pyblish by example           -- OK

To the reader; if you spot any references to pyblish-x, please let me know as soon as possible as that is henceforth a bug in the documentation.

1 Like

This is now finished.

During the merge, recent additions to QML was added to pyblish-win. These are functional, but not entirely stable. See this issue for more information.

I will shortly begin integrating the new explicit plug-ins and thereafter trigger an official update to Pyblish; from 1.2 to 1.3 that should hopefully squash current issues and bring back feature parity with the current release, in addition to the future workflows enabled by the explicit plug-ins.

Stay tuned.

A note to anyone who has forked pyblish or pyblish-x

Make sure to update your forks and local repositories. Simplest thing to do is to nuke your forks and re-fork/re-clone, but if you have ongoing work, you should (1) rename your fork and (2) point your local repos to your newly renamed fork. Make sure you point it like this…

  • pyblish --> pyblish-base
  • pyblish-x --> pyblish.

Great to hear this succeeded. That display bug you mentioned, wasn’t that already there? Also, despite the bug would you still recommend to update?

And I’m assuming that bug is also gone with the Explicit plug-ins update? That would also require some refactoring of plug-ins right? If that’s something you can get out Today I’d be happy to move over to that particular update and refactor things.

It won’t be today, but it will be this week.

The explicit update is fully backwards compatible, so you aren’t forced to make any changes; but it’s recommended you do. I’ll be putting up some more info an gotchas during the week, but overall there’s no rush. The current method isn’t going away until 2.0.

Not that I’m aware of, but I can double check.

If you want to give the explicit plug-ins a go, you can pull pyblish-base and pyblish-qml from the mottosso account, I pushed the latest just now.

1 Like