BluePrint: Python-3 Support
As of June 2019, Sahana Eden is written for Python-2.7, but some critical tools (e.g. python-pip) will end their support for this Python version soon. All dependencies are already either Py2/3 hybrids (e.g. web2py), or have Python-3 implementations/alternatives. Therefore, Sahana Eden shall implement Python-3.6 from now on.
However, as most active deployments still run on Python-2.7, Sahana Eden must remain backwards-compatible for some time.
- Developers (both Sahana, and dependencies/libraries)
- all Python code in Sahana Eden shall be Python-3.6+
- maintain Python-2.7 backwards-compatibility
- provide framework support for common compatibility patterns
- provide guideline (coding conventions) with common compatibility patterns
- provide routine QA measures to verify compatibility of critical code with both 3.6 and 2.7 (review, CI testing)
- update deployment tools to support Python-3.6+
- Python-3.6+ to be standard deployment option by the end of 2019
- s3compat module to implement alternatives
- refactoring of all Sahana Eden Python code according to:
- Developer Guideline for Python 2/3 compatibility