Follow us on Google+ Follow us on Facebook Follow us on Twitter

Opened 6 years ago

Closed 8 months ago

#403 closed enhancement (fixed)

Port Python to HelenOS

Reported by: Jiri Svoboda Owned by: Zbigniew Halas
Priority: major Milestone:
Component: helenos/app/other Version: mainline
Keywords: gsoc12, gsoc13 Cc: Vojtech Horky
Blocker for: Depends on:
See also: #311

Description (last modified by Martin Decky)

Port (a subset of) CPython to HelenOS.

Details
Python is a dynamic programming language that support object-oriented, imperative and even functional programming styles. Currently, HelenOS has no Python support but uses Python during build (e.g. for preparing configuration or for assembling disk image).
Integrate a reasonable subset of CPython to HelenOS so that it can be used to run helper scripts used in the build process. The selected subset shall also include support for tools used in development process of HelenOS, above all Bazaar revision system.
In the absence of missing backing libraries on HelenOS side (e.g. for some advance text user interface) to fulfill the goal outlined above (run helper scripts and Bazaar), the focus shall be on porting Python to such extent to allow most common operations.
What Gains and Benefits will this bring?
One of the strategic goals for HelenOS is becoming self-hosting. During previous GSoC, a PCC compiler (Portable C compiler) was ported to HelenOS, thus allowing to compile HelenOS sources inside HelenOS. Porting core parts of Python would bridge over the last step to have the possibility to build HelenOS from inside HelenOS.
Difficulty
Medium
Required skills
A successful applicant will have good skills of programming in the C and Python languages and the ability to survive in a non-standard non-POSIX application environment.
Documentation
Possible mentors
HelenOS Core Team, Vojtech Horky

Change History (11)

comment:1 Changed 6 years ago by Jiri Svoboda

Milestone: 0.5.0

comment:2 Changed 6 years ago by Jakub Jermář

Keywords: needswork added

comment:3 Changed 6 years ago by Vojtech Horky

Cc: Vojtech Horky added
Description: modified (diff)
See also: #311

comment:4 Changed 6 years ago by Jakub Jermář

Component: helenos/unspecifiedhelenos/app/other

comment:5 Changed 6 years ago by Vojtech Horky

Description: modified (diff)
Keywords: needswork removed

comment:7 Changed 5 years ago by Jakub Jermář

Keywords: gsoc13 added

comment:8 Changed 5 years ago by Martin Decky

Owner: set to Zbigniew Halas
Status: newassigned

comment:9 Changed 4 years ago by Martin Decky

Description: modified (diff)

comment:10 Changed 4 years ago by Jakub Jermář

There is now a basic Python port (2.7) in our coastline repository.
https://github.com/vhotspur/coastline
https://github.com/vhotspur/coastline/tree/master/python2

comment:11 Changed 8 months ago by Jakub Jermář

Resolution: fixed
Status: assignedclosed
Note: See TracTickets for help on using tickets.