Python 3 support for Toolkit

[This post no longer reflects the current progress of our port to Python 3. Jump to this post to see the complete list of components that are currently compatible with Python 3.]

Hi everyone,

If you’ve subscribed to our Toolkit Components Releases (and if you haven’t, you totally should!), you’ve probably noticed that we’ve released a series of updates this morning to multiple packages to make them compatible with Python 3.

Note: to subscribe, search for the release-notes tag, and then select your notification preference:

You should now be able to use the Toolkit Core and our frameworks in a DCC that runs Python 3. Over the next few months, the industry will come out with public previews of Python 3 support for certain products and you’ll be able to test Toolkit applications with them. We’re not done yet, as our heavier applications like the loader, publisher, panel and workfiles are not ported yet, but they will be in due time.

This is a great first step, as it provides all the necessary building blocks to write Toolkit applications or an engine running on top of Python 3. If anyone is planning on writing a Blender integration, let us know in the comments. :smile:

There will be many more updates to our apps like these coming in the next few weeks. Stay tuned!

Cheers,

JF

8 Likes

On the Blender front, now that we support Python 3, I would love to see support for Blender happen. We have it on our backlog, but it is currently a ways down. With the surge in community developed engines that has been happening this year (thank you to our awesome devs!), I’d love to talk with anybody from the Blender community who is interested in developing the integration. We’re happy to provide Toolkit guidance to support the effort (if needed).

6 Likes

This is super cool, thanks for the effort porting the api, frameworks and tk-core to Python3.
Knowing that tk-apps are next in line is very encouraging, I have some tk-engine experiments for a few DCC apps that are only python3 friendly that will become a lot easier to handle!

3 Likes

Is there a chart anywhere that lists which engines and apps are and are not python 3 ready yet?

It’s kind of a hassle to have to go through the release notes or github to find whats ready.

1 Like

Here’s the up to date list of DCCs supported with Python 3 and how we plan on growing that list.

Our process

When we port an engine to Python 3, we make sure that the ported applications we support for that engine will run in that engine.

Likewise, when we port an application to Python 3, we make sure that the ported engines that support that application will work be able to use it.

In practice, this means that if you see a given app and engine in this list we fully support that pairing in Python 3 if they were also supported together in Python 2.7.

Supported Engines

  • tk-3dsmax
  • tk-aftereeffects
  • tk-alias
  • tk-desktop
  • tk-desktop2
  • tk-houdini
  • tk-maya
  • tk-photoshopcc
  • tk-shotgun
  • tk-shell
  • tk-vred

Supported Applications

  • tk-houdini-mantranode
  • tk-houdini-alembicnode
  • tk-multi-about
  • tk-multi-breakdown
  • tk-multi-demo
  • tk-multi-devutils
  • tk-multi-loader2
  • tk-multi-launchapp
  • tk-multi-pythonconsole
  • tk-multi-publish2
  • tk-multi-reviewsubmission
  • tk-multi-screeningroom
  • tk-multi-setframerange
  • tk-multi-shotgunpanel
  • tk-multi-snapshot
  • tk-multi-workfiles2
  • tk-shotgun-folders
  • tk-shotgun-launchpublish
  • tk-shotgun-launchfolder

Supported Frameworks

  • tk-framework-adobe
  • tk-framework-adminui
  • tk-framework-aliastranslations
  • tk-framework-desktopclient
  • tk-framework-desktopserver
  • tk-framework-qtwidgets
  • tk-framework-shotgunutils
  • tk-framework-widget

Can I see on GitHub if an app has been ported?

Yes! Look for this Python 2.6 2.7 3.7 in the README.md of a repository.

I’m using the out of the box Shotgun Integrations and I don’t see these engines

While we release components as soon as they are ready to the public, we release a new configuration that packages all our updates only once every three weeks or so. You can subscribe to this post to know when our next configuration is released.

When is the rest coming online?

We do not have anything to announce at this time, but if you take a look at our organizations’ pull requests you may get an idea of what will be coming next.

4 Likes

Hi everyone,
We have just released Python 3 support for the following components:

  • tk-framework-adobe
  • tk-aftereeffects
  • tk-photoshopcc
  • tk-maya
  • tk-multi-breakdown
  • tk-multi-publish2
  • tk-multi-setframerange

We’ve updated the above post with this new list of components.

4 Likes

Hi JF,

How do things look with the Blender toolkit?

Thanks

1 Like

Hi!

Unfortunately we haven’t heard anything yet from anyone. If someone is working on it, they are quiet about it. I’ve done a search on Github and there’s no repo named tk-blender.

Any takers? :smile:

2 Likes

Ton Roosendaal was the main promoter for it, Shotgun has been in Blender’s discussions since 2015.
I can only think of Tangent Animation or Ubisoft requiring it right now…but although Blender’s userbase is gigantic, you rarely see it in teams larger than 5.

But I’m sure that the pipeline tools could become fantastic and very versatile in Blender…it is literally the most accessible creative software out there.

3 Likes

Hi everyone,
We’ve released Python 3 support for the following components this week:

  • tk-houdini
  • tk-houdini-mantranode
  • tk-houdini-alembicnode
  • tk-vred

We’ve updated the above post with this new list of components.

3 Likes

Hi everyone,

I’d like to apologize for not updating this thread these last few months. This completely fell off my radar. Don’t worry, we have been pumping out Python 3 support for other applications and engines in the meantime.

Here’s the list of components we’ve ported to Python 3 in the last few months.

Engines

  • tk-alias
  • tk-desktop
  • tk-desktop2
  • tk-shotgun

Frameworks

  • tk-framework-adminui
  • tk-framework-aliastranslations
  • tk-framework-desktopclient
  • tk-framework-desktopserver

Applications

  • tk-multi-devutils
  • tk-multi-reviewsubmission
  • tk-shotgun-folders
  • tk-shotgun-launchfolder
  • tk-shotgun-launchpublish

At this point it means that almost the entire Toolkit ecosystem is now Python 3 compatible. On the content creation software side, the exceptions are Nuke, Flame and Motion Builder, for which no public beta have been released yet. The other missing parts are Shotgun Desktop, Shotgun Create and RV, which do not ship with a Python 3 interpreter at the moment.

We’ve updated the complete list of bundles above with this new list of components.

2 Likes

Python 3 Beta for the Shotgun Desktop is open!

3 Likes

Hi everyone,
The beta is closed now. See the official release announcement!

1 Like