Serenity Operating System
1# Python 3.6 Port
2
3This port is highly experimental. Python binary can be started with `python3`, but many
4functionality is expected to not work.
5
6## Why this version is used
7
8Python 2.7 will not be supported in future, see e.g. [pythonclock.org]([https://link](https://pythonclock.org/)).
9Python 3 is a good candidate for porting. Until Python 3.6 it is easily possible to disable
10multi-threading API via `--without-threads` option. This is needed until SerenityOS provides the
11pthread APIs.
12
13## How to improve
14
15Run the Python test suite via `python3 -m test` to see what fails and start working on that.
16If functionality in LibC/LibM/Kernel/... is updated, recompile Python with `./package.sh build`.
17
18## Known limitations
19
20* No locale support, default locale encoding set to utf-8
21
22* Instead of `/dev/urandom`, `/dev/random` is being used
23
24* No multi-threading
25
26* time module not working due to missing time related functions in LibC/Kernel