serenity/Ports/python-3.6
Emanuel Sprung 71823a6c49 Ports: Add initial Python 3.6 port
This port is experimental and not all pythom modules are working.
But this is an initial shot which can be further worked on, as
SerenityOS gets more mature. :^)

The main limitation is that locales, threading and time related
functions are not working.
2019-11-11 22:04:16 +01:00
..
patches Ports: Add initial Python 3.6 port 2019-11-11 22:04:16 +01:00
config.site Ports: Add initial Python 3.6 port 2019-11-11 22:04:16 +01:00
package.sh Ports: Add initial Python 3.6 port 2019-11-11 22:04:16 +01:00
README.md Ports: Add initial Python 3.6 port 2019-11-11 22:04:16 +01:00

Python 3.6 Port

This port is highly experimental. Python binary can be started with python3, but many functionality is expected to not work.

Why this version is used

Python 2.7 will not be supported in future, see e.g. pythonclock.org. Python 3 is a good candidate for porting. Until Python 3.6 it is easily possible to disable multi-threading API via --without-threads option. This is needed until SerenityOS provides the pthread APIs.

How to improve

Run the Python test suite via python3 -m test to see what fails and start working on that. If functionality in LibC/LibM/Kernel/... is updated, recompile Python with ./package.sh build.

Known limitations

  • No locale support, default locale encoding set to utf-8

  • Instead of /dev/urandom, /dev/random is being used

  • No multi-threading

  • time module not working due to missing time related functions in LibC/Kernel