ftrack was a very early adopter of Python 3, and our ftrack-python-api for the new version has been available on the forum since 2018. Why did we implement Python 3 so soon, and what have we been doing to ensure that this implementation produces the best results for everyone that uses our software? Our resident Pipeline Solutions Architect, Lorenzo Angeli, reveals all below.

2020 kicks off with a significant change: on January 1, maintenance of Python 2.7 will cease. The focus will instead shift to Python 3, a new version of the programming language that does away with deprecated features and makes way for new, simplified approaches to coding.

At ftrack, we’ve created a highly customizable tool that developers can change and augment to their heart’s content using the ftrack Python API (ftrack-python-api). We’re dedicated to giving our users the best possible experience in this regard – one in line with the latest industry standards and with support for the latest stable versions of libraries and tools with which to work. That’s why we started planning for Python 3 (and what it meant for ftrack) some time ago.

There are many reasons for implementing Python 3 into ftrack. But some of the core motivations for our adoption are:

However, despite these benefits, we are very aware that the disruption caused by Python 3 could pose considerable risks – particularly so for small-medium studios that don’t have the resources to make changes and adapt as necessary.

We’re working hard to make sure that ftrack’s implementation of Python 3 doesn’t leave anyone behind. Here’s a look at what we’re working on and why.

Why now?

ftrack is a very early adopter of Python 3. Indeed, the ftrack-python-api for Python 3 has been publicly available on our forum since 2018.

We were, in fact, one of the first software companies in the creative industry to embrace it officially. Why have we moved so fast? Because we can.

Although studios must adapt their pipelines and applications to match the latest trends in the industry, this is a slow process by necessity. It will likely take some time for large studios with immense infrastructure to fully adopt Python 3.

We moved fast so that we’re ready when they’re ready. By prepping ftrack and Python 3 ahead of time, we have had the opportunity to test our code – very thoroughly – in advance. Studios can be confident that we have addressed any issues and, when they’re ready, they can jump in with the ftrack API to create exceptional work using Python 3.

Our commitment is to provide our end users with technologies that simplify their work, allowing them to focus on the full scope of their tools, rather than any hindrances or technological caveats. We’ve worked on Python 3 for over a year, so when the time to use it comes, it’s battle-tested and more than ready for deployment.

Our Python 3 backward compatibility

Given what we’ve discussed above, even when Python 3 becomes the norm, we will still see some applications and studios stay behind while others make the leap of faith. We simply don’t yet know the timeframe for more large-scale adoption of Python 3 by creative studios and DCC applications. That gap could cause confusion, especially for smaller companies without the resources to adapt and react.

In response to this, and to minimize disruption for anyone that uses our tools, we’ve ensured full backward compatibility in our Python API.

ftrack-python-api is automatically tested against Python 2.7, 3.6, and 3.7 against our latest server versions to ensure reliable code. We will soon add 3.8 to this testing process to ensure we are ready ahead of our customers.

The VFX Reference Platform

Consistency is crucial in the continued creation of high-end entertainment. That’s why we’ve worked so hard to adhere to the VFX Reference Platform CY2020.

Our Python 3 adoption is a large part of this initiative. The more uniformity we can support in VFX, the easier it will be for studios to create work, and the more creative they can become.

However, we should note that ftrack is not only used for VFX. You can rest assured that ftrack-python-api is fully forward-looking, and we will accommodate the requirements of all creative industries as we grow and support our tools.

The ftrack Python API

The ftrack-python-api enables users to modify and customize ftrack to match their specific needs. If you have particular requirements as a studio or an individual user, ftrack’s fully Pythonic and object-oriented Python API enables you to easily customize and extend ftrack, while retaining all the same features as those available from the server, such as user permissions and custom entities. With ftrack-python-api, you can make ftrack work the way you need.

Access the ftrack-python-api on Bitbucket. The Python 3 version of the API is fully backward compatible with Python 2.7.

Closer collaboration with ftrack!

Try ftrack today and see first-hand how it can speed up your post-production workflows.

More from the blog

Meet Rory McGregor, General Manager of ftrack Australia

| Company, Q&A | No Comments

Say hello to Rory, who’s heading up ftrack’s operations in Australia!

ftrack Review updates – January 2020

| Product, Release, Review | No Comments

We’ve updated ftrack Review! Learn about the new features here.

8 ways to increase your efficiency with Adobe’s After Effects

| Tips & tricks | No Comments

Create work faster and spend less time fiddling with your settings!

ftrack’s 2019 year in review

| Company | No Comments

We take a look at the biggest news and company highlights from ftrack in 2019.

ftrack Studio plugin with Perforce Helix Core now available!

| Integrations, Product, Studio | No Comments

Our new fully integrated workflow with gaming’s standard version control software.

A closer look at improved planning and scheduling in ftrack Studio 4.3

| Product, Release, Studio | No Comments

New tools to help improve productivity and optimtize workflow at your studio.

Six ways media review will make you more productive

| Productivity, Review | No Comments

We’re making a big investment in media review – here’s why!