A high-level overview of how and where Python may be applied in FME.

Where Python can be used in FME

There are three main places where Python can be used in FME:

  • The PythonCreator transformer lets you write Python code to create new features.

  • The PythonCaller transformer lets you write Python code to manipulate existing features in a pipeline.

  • Each workspace can define Python scripts that run before or after workspace execution. These startup and shutdown scripts can be found in Navigator > Workspace Parameters > Scripting.

Python can also be used to create custom readers, writers, and transformers. Some of the readers, writers, and transformers included with FME rely on Python.

Python versions

FME 2023.0 supports Python 3.7 to Python 3.11.

For Mac and Windows, the FME installation includes the latest supported Python interpreter. On Linux, FME uses the system Python interpreter.

In FME 2023.0, Python 3.11 is the default interpreter. FME’s preferred Python interpreter can be set in Tools > FME Options > Translation. Each workspace also has a setting for its preferred or required Python versions. It can be found in Navigator > Workspace Parameters > Scripting > Python Compatibility. This setting in the workspace takes precedence over FME Options. All Python code executed by the workspace will run with the selected interpreter.

FME supports using the Python interpreter that’s included with ArcGIS Desktop and ArcGIS Pro, which grants access to the arcpy library.