From 8444d6abe7a1e8edc4ec5eeb7746919055ac6c59 Mon Sep 17 00:00:00 2001 From: Hood Chatham Date: Fri, 2 Oct 2026 08:50:00 -0700 Subject: [PATCH 1/2] PEP 818: Add "Emscripten-forge supports this pep" to motivation I asked the Emscripten-forge people if I could include this language and they agreed to it, so I'm not putting words in other peoples' mouths. --- peps/pep-0818.rst | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/peps/pep-0818.rst b/peps/pep-0818.rst index d8411a04cc3..e8eaac3d8a0 100644 --- a/peps/pep-0818.rst +++ b/peps/pep-0818.rst @@ -64,6 +64,17 @@ interface, it will be possible to support ``urllib`` on Emscripten. Downstream, supporting ``urllib3``, ``aiohttp``, and ``httpx`` requires the foreign function interface. +The fact that the Pyodide foreign function interface is coupled to Pyodide +creates problems for other Emscripten-CPython distributions. For instance, +`Emscripten-forge`_ is a project that provides conda recipes for the Emscripten +platform. They have to reimplement the Pyodide foreign function interface in +order to support downstream packages that use it. Their reimplementation is +slower and has various minor incompatibilities. For this reason, the +Emscripten-force maintainers strongly support adding Pyodide's interface to +CPython. + +.. _Emscripten-force: https://emscripten-forge.org/ + In order to keep the length of this PEP reasonable, we focus on the "core" of the foreign function interface. The JavaScript interface for managing the Python runtime is left to a future PEP. From 6169af726008b378e0be1a506ad0b119d00c5793 Mon Sep 17 00:00:00 2001 From: Hood Chatham Date: Fri, 2 Oct 2026 09:09:54 -0700 Subject: [PATCH 2/2] Fix typo --- peps/pep-0818.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/peps/pep-0818.rst b/peps/pep-0818.rst index e8eaac3d8a0..525d8ec8cfa 100644 --- a/peps/pep-0818.rst +++ b/peps/pep-0818.rst @@ -73,7 +73,7 @@ slower and has various minor incompatibilities. For this reason, the Emscripten-force maintainers strongly support adding Pyodide's interface to CPython. -.. _Emscripten-force: https://emscripten-forge.org/ +.. _Emscripten-forge: https://emscripten-forge.org/ In order to keep the length of this PEP reasonable, we focus on the "core" of the foreign function interface. The JavaScript interface for managing the Python