[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.
There will be many more updates to our apps like these coming in the next few weeks. Stay tuned!
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).
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!
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 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.
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.
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.
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.