2021-05-02 13:42:28 +00:00
|
|
|
# Pyodide Python compatibility
|
|
|
|
|
|
|
|
## Python Standard library
|
|
|
|
|
|
|
|
Most of the Python standard library is functional, except for the modules
|
|
|
|
listed in the sections below. A large part of the CPython test suite passes except for
|
|
|
|
tests skipped in
|
2022-03-25 06:07:31 +00:00
|
|
|
[`src/tests/python_tests.yaml`](https://github.com/pyodide/pyodide/blob/main/src/tests/python_tests.yaml)
|
2021-05-02 13:42:28 +00:00
|
|
|
or via [patches](https://github.com/pyodide/pyodide/tree/main/cpython/patches).
|
|
|
|
|
|
|
|
### Optional modules
|
|
|
|
|
2022-08-23 02:52:27 +00:00
|
|
|
The following stdlib modules are unvendored by default,
|
|
|
|
in order to reduce initial download size of Python distribution.
|
|
|
|
You can load all unvendored stdlib modules
|
|
|
|
when initializing Pyodide with, `loadPyodide({ fullStdLib : true })`.
|
|
|
|
However this has a significant impact on the download size.
|
|
|
|
Instead, it is better to load individual modules as needed using
|
|
|
|
{any}`pyodide.loadPackage` or {any}`micropip.install`.
|
2021-05-02 13:42:28 +00:00
|
|
|
|
2021-07-26 23:00:27 +00:00
|
|
|
- distutils
|
2022-08-23 02:52:27 +00:00
|
|
|
- ssl
|
|
|
|
- lzma
|
|
|
|
- sqlite3
|
|
|
|
- test: it is an exception to the above, since it is not loaded even if `fullStdLib` is set to true.
|
2021-05-02 13:42:28 +00:00
|
|
|
|
|
|
|
### Removed modules
|
|
|
|
|
|
|
|
The following modules are removed from the standard library to reduce download size and
|
|
|
|
since they currently wouldn't work in the WebAssembly VM,
|
|
|
|
|
2021-07-26 23:00:27 +00:00
|
|
|
- curses
|
|
|
|
- dbm
|
|
|
|
- ensurepip
|
|
|
|
- idlelib
|
|
|
|
- lib2to3
|
|
|
|
- tkinter
|
|
|
|
- turtle.py
|
|
|
|
- turtledemo
|
|
|
|
- venv
|
2021-10-12 18:45:46 +00:00
|
|
|
- pwd
|
2021-05-02 13:42:28 +00:00
|
|
|
|
|
|
|
### Included but not working modules
|
|
|
|
|
|
|
|
The following modules can be imported, but are not functional due to the limitations of the WebAssembly VM:
|
2021-07-26 23:00:27 +00:00
|
|
|
|
|
|
|
- multiprocessing
|
|
|
|
- threading
|
|
|
|
- sockets
|
2021-05-02 13:42:28 +00:00
|
|
|
|
|
|
|
as well as any functionality that requires these.
|