Python Lifecycle Policy
Summary
-
Maptek recommended Python version is now 3.11.
-
Python 3.7 and 3.8 will no longer be supported by the Maptek Python SDK from the first release in 2024.
Background
The Python Software Foundation (a non-profit corporation that holds the intellectual property rights for the Python language) releases a new version of Python every year, and typically supports that version for 18 months with bug fixes, followed by three and half years with security fixes (see Annual Release Cycle for Python at python.org). Python 3.11 was released in October 2022.
Maptek recommended Python version
Maptek is introducing a recommended Python version, which all subsequent SDK releases will support for five years. In the last year of support, a new recommended version will be introduced to allow sufficient time to upgrade. The previous recommended Python version was Python 3.7. In 2023, Python 3.11 is the new recommended Python version.
What does this mean today?
If you are about to start extending your Maptek software with Python, it is recommended that you use Python 3.11. If you are an existing user, you can continue to use your scripts with Python 3.7, but we encourage you to complete your upgrade by the end of 2023.
Why is Maptek doing this?
The Python Software Foundation releases a new version of Python every year. Maptek believes it could be overwhelming for many of our customers to have such a moving target; this is why our recommendation is to only change versions every four years. Maptek wants to ensure our customers benefit from newer developments in Python and the Python ecosystem. Likewise, we don’t want to see our customers maintaining an environment to run scripts that require an older version of Python. The more time passes, the harder it becomes to upgrade.
Our recommended Python version is related to the Python for Workbench distribution. Maptek provides this distribution to make it easy for our customers to do the following:
-
Install Python from the Download Manager in Maptek Workbench
-
Reduce the number of versions in use within their organisation
What about other Python versions?
The Python Software Foundation releases a new version of Python every year. Maptek is committed to supporting customers who upgrade regularly. As such, the Maptek Python SDK will be supported and tested against versions of Python available at the time of release of the SDK.
The SDK has supported Python 3.8 since SDK version 1.2 in July 2021, while maintaining Python 3.7 as our recommended version. Supporting Python versions 3.9 and 3.10 was not possible until recently, due to issues beyond our control.
Timeline
The timeline below shows the support for Python versions over time.
-
New versions of mapteksdk after the first release of 2024 are not included in this timeline.
-
The timeline does not show the support coverage of the Maptek Python SDK with specific versions.
-
The timeline does not show versions of Python that were not released prior to the publication of this document.
Maptek Python SDK and Python versions
Old versions of Python
The version defined by the Maptek recommended Python version will be supported by the Maptek Python SDK for the duration that it is recommended, including one year as a grace period to ease migration.
Other versions may be dropped once they are no longer supported by the Python Software Foundation or earlier depending on whether maintaining support for the version is making maintenance and improvements burdensome for Maptek.
Whenever an older version’s support is dropped, Maptek will provide advance notice of this intention.
New versions of Python
Maptek aims to support the latest released version of Python with each SDK release, subject to timing of the release.
Sometimes other factors make it difficult to support the new version, which can cause a delay. For example, support for Python 3.9 and 3.10 was delayed, as support for those versions in a third party library was delayed.
When using a newer version than the Maptek Recommended Python Version, Maptek suggests that you regularly update Python when you update the SDK.