Skip to content

PEP 776: Some followup edits #4309

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Mar 26, 2025
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 20 additions & 1 deletion peps/pep-0776.rst
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,23 @@ Packaging Goals
Emscripten Platform Information
===============================

"Pyodide" vs "Emscripten Python"
--------------------------------

For the sake of this document, we use the term "Emscripten Python" to refer to
the Emscripten Python maintained in the ``python/cpython`` repository, without
any downstream additions. We contrast the features present in Emscripten Python
to the features present in Pyodide.

Pyodide is maintained `on GitHub <https://github.com/pyodide/pyodide>`__ and
distributed via `jsDelivr <https://www.jsdelivr.com/oss-cdn/pyodide>`__, `npm
<https://www.npmjs.com/package/pyodide>`__, and `GitHub releases
<https://github.com/pyodide/pyodide/releases>`__.

Emscripten Python is not distributed, but it is possible to build `by following
the instructions in the devguide
<https://devguide.python.org/getting-started/setup-building/#emscripten>`__

Background on Emscripten
------------------------

Expand Down Expand Up @@ -731,7 +748,9 @@ Because Emscripten supports POSIX, a significant number of tasks can be achieved
using the ``os`` module. However, many fundamental operations in JavaScript
runtimes are not possible via POSIX APIs. Pyodide's approach is to specify a
mapping between the JavaScript object model and the Python object model and a
calling convention that allows high level bidirectional integration.
calling convention that allows high level bidirectional integration. `See the
Pyodide documentation
<https://pyodide.org/en/stable/usage/type-conversions.html>`__.

Asyncio
~~~~~~~
Expand Down