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 was officially deprecated by the Python Software Foundation. Python packages and tools have ended or are ending support for Python 2, and new Python packages don't support Python 2. This does not impair Splunk's ability to provide support for Splunk Cloud and 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 has migrated Splunk Cloud and Splunk Enterprise, supported Premium Solutions, and supported Splunkbase apps and add-ons to be compatible with Python 3.7.
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.
Splunk has released Splunk Cloud and Splunk Enterprise versions 8.x to support the migration from Python 2 to Python 3. Splunk has migrated impacted features to Python 3.7, and versions 8.x include both the Python 2.7 and Python 3.7 runtimes, to help customers and developers transition Python in apps from Python 2 to Python 3. Splunk will remove the Python 2.7 runtime altogether in a future release.
Administrators of Splunk Cloud and Splunk Enterprise deployments might need to take steps to prepare for Python 3.7 in version 8.x, as there are prerequisites to this upgrade. See details in Changes to Splunk Enterprise.
Splunk provides the Splunk Platform Upgrade Readiness app for admins to scan deployed apps for any components impacted by migration to Python 3. For more information, see the Splunk Platform Upgrade Readiness App.
Splunk app developers
Splunk app and add-on developers must revise apps and add-ons that use Python scripts. Revised Splunkbase apps will need to be resubmitted after validation with version 8.x. For details about specific script changes required to support version 8.x, see Python Development in Splunk Enterprise. Custom apps for Splunk Cloud will follow the same guidelines as custom apps for Splunk Enterprise, with the added requirement of passing Cloud vetting.
Splunk provides the Splunk Platform Upgrade Readiness app for developers to scan deployed apps for any components impacted by migration to Python 3. For more information, see the Splunk Platform Upgrade Readiness App. Developers should also review all issues covered in this manual and test app and add-on revisions with the Splunk Enterprise version 8.x before resubmitting to Splunkbase.
Splunk Cloud customers
Beginning with version 8.0, Splunk Cloud added Python 3 support and updated the out-of-the-box Splunk Cloud capabilities while continuing to provide Python 2 support for existing apps that have not yet been upgraded to Python 3. A future version of Splunk Cloud will remove support for Python 2. Whether you are currently on Splunk Cloud 7.x or 8.x, any apps or add-ons in your Splunk Cloud instances that are not Python 3 compatible must be upgraded or removed. Splunk Cloud customers should take the following steps:
- Update your private apps to be compatible with Splunk Cloud 8.x and Python 3. You should follow the same process as Splunk app developers to update private apps. However, for Splunk Cloud Platform, you'll update and upload the app as necessary for your Splunk Cloud Platform Experience designation, instead of uploading the app to Splunkbase. See Install private apps on Splunk Cloud Platform.
- Update apps you have installed on your Splunk Cloud deployment from Splunkbase to versions that are compatible with both your current version of Splunk Cloud and Splunk Cloud 8.x. Decide whether to update remaining incompatible apps or to find another solution. Use the Splunk Cloud Monitoring Console, to identify which apps on your Splunk Cloud deployment must be updated.
This Python 3 compatibility requirement applies to all public and private apps in your Splunk Cloud environment. Splunk will continue to work closely with third-party Splunkbase developers to provide updated Python 3-compatible versions of their published apps. You must install the new versions of those Splunkbase apps and upgrade all private apps to ensure Python 3 compatibility.
For more information, see Splunk Cloud.
Splunk solutions customers
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.
Changes to 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.0.13, 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.1.9, 7.1.10, 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.2.9, 7.2.10, 7.3.0, 7.3.1, 7.3.2, 7.3.3, 7.3.4, 7.3.5, 7.3.6, 7.3.7, 7.3.8, 7.3.9, 8.0.0, 8.0.1, 8.0.2, 8.0.3, 8.0.4, 8.0.5, 8.0.6, 8.0.7, 8.0.8, 8.0.9, 8.0.10, 8.1.0, 8.1.1, 8.1.2, 8.1.3, 8.1.4, 8.1.5, 8.1.6, 8.2.0, 8.2.1, 8.2.2