Skip to content

Commit 202311c

Browse files
[3.11] gh-95085: Promote Emscripten and WASI to PEP 11 tier 3 (GH-95086) (GH-95307)
Co-authored-by: Christian Heimes <[email protected]>
1 parent 131fc72 commit 202311c

File tree

5 files changed

+23
-8
lines changed

5 files changed

+23
-8
lines changed

Doc/whatsnew/3.11.rst

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1556,10 +1556,19 @@ Build Changes
15561556
The :program:`configure` options ``--with-tcltk-includes`` and
15571557
``--with-tcltk-libs`` have been removed.
15581558

1559-
* CPython now has experimental support for cross compiling to WebAssembly
1560-
platform ``wasm32-emscripten``. The effort is inspired by previous work
1561-
like Pyodide.
1562-
(Contributed by Christian Heimes and Ethan Smith in :issue:`40280`.)
1559+
* CPython now has :pep:`11` tier 3 support for cross compiling to WebAssembly
1560+
platform ``wasm32-unknown-emscripten`` (Python in the browser). The effort
1561+
is inspired by previous work like `Pyodide <https://pyodide.org/>`_.
1562+
Emscripten provides a limited subset of POSIX APIs. Python standard
1563+
libraries features and modules related to networking, processes, threading,
1564+
signals, mmap, and users/groups are not available or don't work.
1565+
(Contributed by Christian Heimes and Ethan Smith in :gh:`84461`,
1566+
promoted in :gh:`95085`)
1567+
1568+
* CPython now has :pep:`11` tier 3 support for cross compiling to WebAssembly
1569+
platform ``wasm32-unknown-wasi`` (WebAssembly System Interface). Like on
1570+
Emscripten, only a subset of Python's standard library is available on WASI.
1571+
(Contributed by Christian Heimes in :gh:`90473`, promoted in :gh:`95085`)
15631572

15641573
* CPython will now use 30-bit digits by default for the Python :class:`int`
15651574
implementation. Previously, the default was to use 30-bit digits on platforms
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
Platforms ``wasm32-unknown-emscripten`` and ``wasm32-unknown-wasi`` have
2+
been promoted to :pep:`11` tier 3 platform support.

Tools/wasm/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ functions.
167167
- Heap memory and stack size are limited. Recursion or extensive memory
168168
consumption can crash Python.
169169
- Most stdlib modules with a dependency on external libraries are missing,
170-
e.g. ``ctypes``, ``readline``, ``sqlite3``, ``ssl``, and more.
170+
e.g. ``ctypes``, ``readline``, ``ssl``, and more.
171171
- Shared extension modules are not implemented yet. All extension modules
172172
are statically linked into the main binary. The experimental configure
173173
option ``--enable-wasm-dynamic-linking`` enables dynamic extensions

configure

Lines changed: 5 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

configure.ac

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1126,8 +1126,8 @@ AS_CASE([$host/$ac_cv_cc_name],
11261126
[armv7l-*-linux-gnueabihf/gcc], [PY_SUPPORT_TIER=3], dnl ARMv7 LE with hardware floats, any vendor, glibc, gcc
11271127
[powerpc64le-*-linux-gnu/clang], [PY_SUPPORT_TIER=3], dnl Linux on PPC64 little endian, glibc, clang
11281128
[s390x-*-linux-gnu/gcc], [PY_SUPPORT_TIER=3], dnl Linux on 64bit s390x (big endian), glibc, gcc
1129-
dnl [wasm32-unknown-emscripten/clang], [PY_SUPPORT_TIER=3], dnl WebAssembly Emscripten
1130-
dnl [wasm32-unknown-wasi/clang], [PY_SUPPORT_TIER=3], dnl WebAssembly System Interface
1129+
[wasm32-unknown-emscripten/clang], [PY_SUPPORT_TIER=3], dnl WebAssembly Emscripten
1130+
[wasm32-unknown-wasi/clang], [PY_SUPPORT_TIER=3], dnl WebAssembly System Interface
11311131
[x86_64-*-freebsd*/clang], [PY_SUPPORT_TIER=3], dnl FreeBSD on AMD64
11321132
[PY_SUPPORT_TIER=0]
11331133
)

0 commit comments

Comments
 (0)