We are pleased to announce that we have released ftrack API 2.0! This major new version of the ftrack API follows a year of rigorous internal testing and feedback from our diligent beta users.
ftrack API 2.0 enables you to phase out the deprecated Python 2.X and focus your pipeline around Python 3. Python 3 is maturing into the VFX community standard, starting with 2020 specifications, which the industry is likely to put in place later this year for live production.
You can access ftrack API 2.0 via the button below. However, please make sure that you also take a closer look at the information later in this blog post!
What is the benefit?
ftrack API 2.0 (and all subsequent 2.0 releases) will enable studios and their users to run both python 2.7+ and python 3.6+ in parallel. This dual approach presents an easy way for your studio to update pipelines and base codes without slowing down our completely halting production.
Is ftrack API 2.0 as reliable as previous versions?
The short answer: yes!
To go into more detail, ftrack’s APIs are continually and automatically tested through our bitbucket pipelines on each commit, ensuring the highest stability possible.
All tests are sandboxed for each interpreter (Python version) to ensure reliable testing results and use a dedicated ftrack test version to run.
Our commits are reviewed by 1+ developers at minimum to ensure all code aligns with ftrack’s quality standards.
We coded ftrack API 2.0 with Python 3.7 (the VFX Platform standard) in mind. However, to ensure no surprises lurk ahead, we regularly test the code against 2.7+, 3.6+, 3.7+, and (to play things safe) 3.8+.
How do I access ftrack API 2.0?
As with all the previous releases, this new API version is available on the PyPi registry: Access the ftrack PyPi registry
To start exploring ftrack’s Python API, open a terminal and type the following.
$ python -m pip install ftrack-python-api # for python2
$python3 -m pip install ftrack-python-api # for python3
Please note: we highly recommend installing the API in a virtual environment while testing.
Is there anything else I should know?
As with any other major software release, ftrack API 2.0 offers a lot of benefits, but its implementation can also break older code. You can see a list of all major changes via the changelog, available here.
There are few other key changes we would like to make you aware of before rolling this version out to full production:
1) ftrack API 2.0 does not automatically connect to the remote event hub
To maintain the same behaviors of the old (1.8.x) API, make sure that your session is constructed with the following session argument:
ftrack_session = ftrack_api.Session()
ftrack_session = ftrack_api.Session(auto_connect_event_hub=True)
Without this connection to the remote event system, you won’t be able to listen to events such as track.location.component-added or ftrack.location.component-removed.
2) ftrack Connect and our DCC integrations do not use ftrack API 2.0 (yet)
Currently, ftrack Connect and our various app integrations are locked to a maximum version of 1.9.X of the API, hence they won’t download or use the new 2.0 by default.
This is for two main reasons:
- the integrations have not yet been ported yet to Python 3
- the integrations have not been updated yet to ensure the auto_connect_event_hub is set to True
What’s next with ftrack API 2.0?
At ftrack, we strive to ensure our end users can access the latest and greatest tools available. That means looking into an updated set of integrations that support the new API as a priority.
Over the coming weeks and months, we’ll work on this, as well as addressing other changes to port everything ver to PySide2.
We’ll keep you updated as we put these changes into effect. In the meantime, if you have any questions whatsoever about the above, please don’t hesitate to let us know.