Skip to content

Commit daa64d6

Browse files
authored
gh-95085: Promote Emscripten and WASI to PEP 11 tier 3 (GH-95086)
1 parent 2e35a13 commit daa64d6

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
@@ -1551,10 +1551,19 @@ Build Changes
15511551
The :program:`configure` options ``--with-tcltk-includes`` and
15521552
``--with-tcltk-libs`` have been removed.
15531553

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

15591568
* CPython will now use 30-bit digits by default for the Python :class:`int`
15601569
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
@@ -1141,8 +1141,8 @@ AS_CASE([$host/$ac_cv_cc_name],
11411141
[armv7l-*-linux-gnueabihf/gcc], [PY_SUPPORT_TIER=3], dnl ARMv7 LE with hardware floats, any vendor, glibc, gcc
11421142
[powerpc64le-*-linux-gnu/clang], [PY_SUPPORT_TIER=3], dnl Linux on PPC64 little endian, glibc, clang
11431143
[s390x-*-linux-gnu/gcc], [PY_SUPPORT_TIER=3], dnl Linux on 64bit s390x (big endian), glibc, gcc
1144-
dnl [wasm32-unknown-emscripten/clang], [PY_SUPPORT_TIER=3], dnl WebAssembly Emscripten
1145-
dnl [wasm32-unknown-wasi/clang], [PY_SUPPORT_TIER=3], dnl WebAssembly System Interface
1144+
[wasm32-unknown-emscripten/clang], [PY_SUPPORT_TIER=3], dnl WebAssembly Emscripten
1145+
[wasm32-unknown-wasi/clang], [PY_SUPPORT_TIER=3], dnl WebAssembly System Interface
11461146
[x86_64-*-freebsd*/clang], [PY_SUPPORT_TIER=3], dnl FreeBSD on AMD64
11471147
[PY_SUPPORT_TIER=0]
11481148
)

0 commit comments

Comments
 (0)