- Sources: primary, discussion
- Summary: The thread on Mark Shannon's PEP 805, Safe Parallel Python, is active through 2026-09-01, and the proposal gives objects a
__shareable__ state of LOCAL, PROTECTED, IMMUTABLE, or SYNCHRONIZED, raises on illegal cross-thread access, groups threads so that the Main ThreadGroup serializes execution and parallelism requires explicit membership, and was updated on 2026-08-27 to use copying instead of relying on unique references, which Shannon states should make it implementable by MicroPython and GraalPython. Objections in the thread are concrete: Anders Ha notes Kotlin/Native abandoned a comparable object-graph freezing model and went free-threaded, David Ellis notes lazy imports and submodules make module freezing a poor fit while mocking relies on mutating modules, and Inada Naoki argues extension modules still need guarantees that a locked list or dict has not changed across a Python call. Guido van Rossum wrote on 2026-08-27 that users may violate the do-not-mutate-shared-objects rule by accident, and separately that personally he wishes they had stuck with the GIL because everything was simpler. - Why it matters: The PEP would change how every Python thread reaches an object, it is framed as building on PEP 703 rather than competing with it, and nothing is decided.
- Follow-up: Track whether PEP 805 reaches a Steering Council decision and how it lands against PEP 703 free-threading.
send feedback on this story