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

Six ways media review will make you more productive

| Productivity, Review | No Comments
We're making a big investment in media review – something recently highlighted by our acquisition of Cospective. We're working together to create the best review technology available to the creative...

O2 Post – customizing ftrack and building a DaVinci Resolve pipeline

| API, Developer, Product, Q&A, Studio | No Comments

O2 Filmes reveals its custom DaVinci Resolve integration and how it makes decisions with data from ftrack.

Five quick-and-easy ways to remove tracking markers in Nuke

| Integrations, Product, Studio | No Comments

MPC compositor Josh Parks reveals some quick-and-easy approaches to win you back some time.

Breaking down ftrack’s official support of Python 3

| Developer | No Comments

We break down our support of Python 3 and what it means for our users.

ftrack @ b’Ars 2019

| Events | No Comments

Come and say hi this 6-7 December!

Meet Neil Wilson, cineSync Product Manager

| Company, Q&A | No Comments

Learn about Neil and his role in the global ftrack organization.

5 minutes with…Jason Monroe, Deputy Head of 3D at The Mill LA

| Q&A | No Comments

In the first of two interviews with The Mill, we speak with the LA studio’s Deputy Head of 3D, Jason Monroe.

Two-Factor Authentication (2FA) comes to ftrack

| Product, Release, Review, Security, Studio | No Comments

ftrack CTO Magnus Eklöv, takes a closer look at 2FA in ftrack, how to use it, and why we’ve introduced it.