
As Splunk Cloud and Splunk Enterprise continue to accelerate feature rollout with new technologies, the time has come to say goodbye to old technologies. Python 2 will be removed from all new Splunk Enterprise releases beginning on September 1st, 2021 and Splunk Cloud releases beginning November 1st, 2021, which impacts all applications that run on those platforms — such as Splunk IT Service Intelligence, Splunk Enterprise Security, Machine Learning Toolkit, Splunkbase applications, and private applications. This means that all apps that are only compatible with Python 2 will not work on Splunk Cloud and Enterprise versions released after this date. As a reminder, the Python Software Foundation declared Python 2 End-of-Life as of January 1, 2020.
If any of your applications are still using Python 2 that you want to continue using in Splunk — especially any private apps — you must transition these to be compatible with Python 3 immediately. This can be done by using dual-compatible Python libraries, such as Six, to maintain backward and forward compatibility. This entails migrating all apps to use Python 3 and setting the default Python runtime per-script, and upgrading all Splunkbase apps to 8.x-compatible versions. Splunkbase applications that are not compatible with 8.x (and hence, Python 3) in Splunk Cloud will have to be removed.
Once Python 2 is removed, all Python scripts will be forced to run against the Python 3 runtime. For all private applications, you are encouraged to explicitly set the Python runtime against Python 3 once making your app dual-compatible, to start using Python 3 immediately and allow for clear tracking of actual Python 3 readiness.
What Does This Mean for Splunk Cloud Admins?
If your Splunk Cloud environment is still using Python 2 by November 1st, 2021, it may stop receiving new releases. As a reminder, all Splunk Cloud and Splunk Enterprise versions since 8.0.0 ship with both Python 2 and Python 3 interpreters. You will receive a series of Service Bulletins from Splunk Cloud reminding you of the removal date, any Python 2 usage that Splunk detected, and instructions on how to confirm full Python 3 app readiness for confidence in migrations.
Note: If you are using any Splunkbase applications that are stated as compatible with at least one 8.x version, the developer has certified that it is Python 3 compatible.
To help you on this journey, the following resources are available:
- Our thorough documentation and guidance on how to make an app Python 3 compatible can help you write dual-compatible Python applications.
- Explore how to set runtime to Python 3 in private apps.
- The new Python Upgrade Readiness App — enhanced and re-released — can help you test for Python 3 incompatibility, but is not yet Cloud compatible (we’re working on it!). Install this app in an on-premises development environment alongside the apps in question to test out usage. You will be notified when more Cloud-specific tooling is available.
- Note: The previous Platform Upgrade Readiness App will not receive new updates, and will reach End-of-Support once a Cloud-compatible version of the new app is released. If you are a user of the Platform Upgrade Readiness App for any of your managed environments, please migrate to the new app instead.
- Note: The previous Platform Upgrade Readiness App will not receive new updates, and will reach End-of-Support once a Cloud-compatible version of the new app is released. If you are a user of the Platform Upgrade Readiness App for any of your managed environments, please migrate to the new app instead.
What Does This Mean for Customer-Managed Splunk Enterprise Admins?
Python 2 will be removed from all new Splunk Enterprise releases beginning on September 1st, 2021. To help you on your journey, the following resources are available:
Note: If you are using any Splunkbase applications that are stated as compatible with at least one 8.x version, the developer has certified that it is Python 3 compatible.
- The new Python Upgrade Readiness App — enhanced and re-released - can help you test for Python 3 incompatibility. Install this app in an on-premises environment alongside the apps in question.
- Note: The previous Platform Upgrade Readiness App will not receive new updates, and will reach End-of-Support soon. If you are a user of the Platform Upgrade Readiness App, please migrate to the new app instead.
- Our thorough documentation and guidance on how to make an app Python 3 compatible can help you write dual-compatible Python applications.
- Explore how to set runtime to Python 3 in private apps.
What Does This Mean for Developers & Partners?
The time has finally come, Python 2 is going away! If you haven’t already, now is the time to make all of your applications compatible with Python 3. As a reminder, all developers publishing apps to Splunkbase must make their apps Python 3 compatible (ideally via dual-compatible libraries) to publish on Splunkbase.
Note: Any applications that are only compatible via 7.x (and thus, Python 2) will be blocked from installation on new Splunk Cloud releases.
As a reminder, the following resources are available as you migrate your app compatibility:
- Our thorough documentation and guidance on how to make an app Python 3 compatible can help you write dual-compatible Python applications.
- Explore how to set runtime to Python 3 in private apps.
Admins, developers, and partners: thank you for your work, and we look forward to a Python 2-free future!
- Splunk Product Management & Product Marketing