Features/Python3

From Sugar Labs
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Summary

Migration from Python 2 to Python 3, while continuing to support Python 2 where possible.

Owner

  • Name:
  • Email:

Current status

  • Targeted release: 0.115
  • Last updated: 2019-08-29
  • Percentage of completion: 10%

Detailed Description

Port to Python 3 via the Six environment.

Security updates and upstream support for Python 2 are due to be withdrawn, and this will prevent running Sugar on Linux.

Downstream distributions are removing Python 2 packages.

Benefit to Sugar

Benefit to the platform is continued availability. Activities will have access to Python 3 language features. Systems with Python 2 available will continue to run Python 2 activities.

Scope

Components to be changed include datastore (carquinyol), toolkit (sugar3), gwebsockets, artwork, shell (jarabe), and Sucrose activities.

Specific changes are tracked at https://github.com/orgs/sugarlabs/projects/1

UI Design

No UI impact.

How To Test

https://github.com/sugarlabs/sugar/blob/master/docs/development-environment.md#native-sugar

User Experience

Systems without Python 2 available will have a severe reduction in available activities.

Dependencies

None.

Contingency Plan

None. Sugar will be in jeopardy.

Documentation

https://github.com/sugarlabs/sugar-docs/blob/master/src/python-porting-guide.md

Release Notes

Sugar is ported to Python 3.

Comments and Discussion