Introduction ============ 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.