From 1ab82434ff93f321f80c9804330252db51824c43 Mon Sep 17 00:00:00 2001 From: Nathan Flurry Date: Sat, 27 Jun 2026 17:02:59 -0700 Subject: [PATCH] docs(python): raw TCP/UDP sockets + symlink/chmod/chown/utime supported --- website/src/content/docs/docs/python-runtime.mdx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/website/src/content/docs/docs/python-runtime.mdx b/website/src/content/docs/docs/python-runtime.mdx index 65348d6a2..f0d82ef9b 100644 --- a/website/src/content/docs/docs/python-runtime.mdx +++ b/website/src/content/docs/docs/python-runtime.mdx @@ -49,15 +49,16 @@ CPython 3.13 and the standard library, with a few VM-shaped differences. ### Supported - Full VM filesystem (`/tmp`, `/etc`, `/root`, …) — shared with other processes and `readFile()` -- Reading, writing, creating, deleting, and renaming files anywhere on the VM +- Reading, writing, creating, deleting, and renaming files anywhere on the VM, plus symlinks and file metadata (`os.symlink` / `os.readlink` / `os.chmod` / `os.chown` / `os.utime`) - A real process in the tree: stdin/stdout/stderr, signals, `kill` - `subprocess` launching other VM commands (`node`, etc.) - Pure-Python packages, plus native packages with a prebuilt wheel — `numpy`, `pandas`, `scipy`, `scikit-learn`, `pydantic`, `cryptography`, `Pillow`, and [many more](https://pyodide.org/en/stable/usage/packages-in-pyodide.html) - `requests`, `urllib`, and `pip` over HTTP/DNS, under the VM network policy +- Outbound raw TCP and UDP sockets (the `socket` module), under the VM network policy ### Unsupported - OS threads and `multiprocessing` — the runtime is single-threaded - `os.fork` / `os.exec` - Some packages with native (C/Rust) extensions — see the [full list of supported packages](https://pyodide.org/en/stable/usage/packages-in-pyodide.html) -- Raw TCP/UDP sockets and listeners +- Socket servers / listeners (`bind`/`listen`/`accept`) — outbound connections only