Python 3 migration with the Splunk platform
Check this manual often for updated information about the Splunk platform Python 3 migration. The content is subject to change.
On January 1, 2020, Python version 2.x will no longer be supported by the Python Software Foundation. Existing Python packages and tools will end support for Python 2, and new Python packages won't support Python 2. This will not impair Splunk's ability to provide support for Splunk Enterprise, including Python 2.7. However, to continue to leverage community support and maintain compatibility with the many third party projects that use Python, Splunk will migrate Splunk Enterprise, supported Premium Solutions, and supported Splunkbase apps and add-ons to Python 3.7 compatibility.
This manual helps identify prerequisites, required changes and steps for migrating impacted Splunk products and apps to Python 3. As Splunk makes new tools and advice available, this content will be updated. When this content is revised, changes updates will be tracked in Splunk Answers.
Before the Python 2 end of life date, Splunk will release a new version of Splunk Enterprise to support the migration from Python 2 to Python 3. This release is referred to in this manual as the Splunk Enterprise Python 3 release. Splunk is migrating impacted features to Python 3.7, and the Splunk Enterprise Python 3 release will include both the Python 2.7 and Python 3.7 runtimes, to help customers transition from Python 2 to Python 3. Splunk will remove the Python 2.7 runtime altogether in a future release.
Splunk app and add-on developers will have to revise apps and add-ons that use Python scripts. Revised Splunkbase apps will need to be resubmitted after validation with the upcoming Splunk Enterprise Python 3 release. For details about specific changes required to support the Splunk Enterprise Python 3 release, see Python Development in Splunk Enterprise.
For developers, the Splunk AppInspect tool now scans for features that require revision as prerequisite for the Splunk Enterprise Python 3 release. Install the latest AppInspect or use the AppInspect API to check your apps for Python migration-related changes. AppInspect does not necessarily detect all Python migration issues, however, so you should review all issues covered in this manual and test your app and add-on revisions with the the Splunk Enterprise Python 3 release before resubmitting to Splunkbase.
Splunk administrators will have to make changes to Splunk Enterprise deployments to support the Splunk Enterprise Python 3 release. See details in Upcoming changes to Splunk Enterprise and more information will be provided in a future update to this manual.
Splunk solutions customers
Customers of some Splunk solutions will need to update ML models to support Python 3, as specified in Splunk IT Service Intelligence and Splunk Machine Learning Toolkit. More details will be provided in a future update to this manual.
This information is subject to change at any time, at the sole discretion of Splunk Inc. and without notice. This roadmap information shall not be incorporated into any contract or other commitment. Splunk undertakes no obligation to either develop or deliver any product, features, or functionality described here.
Python development with Splunk Enterprise
This documentation applies to the following versions of Splunk® Enterprise: 7.0.0, 7.0.1, 7.0.2, 7.0.3, 7.0.4, 7.0.5, 7.0.6, 7.0.7, 7.0.8, 7.0.9, 7.0.10, 7.0.11, 7.1.0, 7.1.1, 7.1.2, 7.1.3, 7.1.4, 7.1.5, 7.1.6, 7.1.7, 7.1.8, 7.2.0, 7.2.1, 7.2.2, 7.2.3, 7.2.4, 7.2.5, 7.2.6, 7.2.7, 7.2.8, 7.3.0, 7.3.1