Python version

This is particular relevant for developers who want to use Python packages that only support more recent versions of Python.

What version of Python is used?

Extender by default installs Python 3.13.5 (in the latest product update, as of November 2025).

Support for Python 3.8.8 is maintained for backward compatibility reasons.

Support for Python 3.4 is deprecated as it was released in 2014 and retired in 2019.

Upgrading Python version

How does it work?

Extender upgrades the Python version of your database when you run Sage 300 data activation, if the database has a different Python version than the Extender licence file.

Example:

If you are upgrading from an older version and still using Python 3.4, Extender will upgrade the database to Python 3.8.8 or 3.13.5, depending on the Extender licence file.

You will see a message "Python has been updated from 3.4 (or 3.8.8) to the latest version 3.13.5 " when activation is successful in Sage 300 Data Activation.

Suggested upgrade steps

If you are using Python 3.4:

  • It is suggested to upgrade first to Python 3.8.8 on a test server and test your customizations. The Python version applies to all databases on the server.

If you are using Python 3.8.8:

  • Upgrade your database on a test server with no Extender licence or with a licence with 3.13.5 and test your customizations with the latest Python version.

  • If you want to upgrade to the latest version, and keep using Python 3.8.8, you need to upgrade first a test database. This will create a licence file with Python 3.13.5. You can go to Extender Options to change the Python version back to 3.8.8.

  • You can then upgrade your other databases once your Extender licence is set to use 3.8.8

What Python version does Extender upgrade to?

If there is no license file: (i.e. for the database that you are logged in the first time you activate Extender)

  • If you have a 3.40 database that you upgrade, then you will be told it is upgraded to 3.13.5.

  • If you have a 3.8 database that you upgrade, then the license file will be set to 3.8.

If there is a license file set to 3.8.8:

  • If you have a 3.40 database that you upgrade, then you will be told it is upgraded to 3.8.8.

  • If you have a 3.8.8 database that you upgrade, then nothing will happen - everything stays as 3.8.8.

If there is a license file set to 3.13.5:

  • If you have a 3.40 database that you upgrade, then you will be told it is upgraded to 3.13.5.

  • If you have a 3.8 database that you upgrade, then you will be told it is upgraded to 3.13.5.

Upgrading from Python 3.4 to Python 3.8.8

Extender doesn't install the following libraries with Python 3.8.8: requests, requests_oauthlib and urllib3.

If you are using those libraries, you need to install them manually or use the @ pip functionality in the script to download the required libraries.

Refer to using @pip functionality in the scripts. Importing Python libraries/packages in a script

Important! Changing the Python version applies to all scripts in all Sage 300 databases setup on the same server. Make sure you have tested all customizations in all databases on a test environment before switching to the new version in your production environment.