Rust in CPython: Debate Sparked Over Gradual Integration

ArticleDaroc AldenDiscussion

Python core developers Emma Smith and Kirill Podoprigora have proposed introducing Rust into CPython. Following community concerns regarding platform support and maintenance overhead, the timeline to make Rust a mandatory dependency has been postponed indefinitely.

Key points

  1. The initial pre-PEP roadmap proposed making Rust a mandatory build dependency by Python 3.17 (2028), beginning with optional modules in Python 3.15.
  2. Advocates highlighted memory safety, performance improvements in standard library modules like base64, and lowering barriers for new contributors.
  3. Concerns were raised by core developer Steve Dower regarding multi-language maintenance and optional core modules, as well as Gentoo maintainer Michał Górny over dropped support for niche architectures.
  4. The proposal received backing from Python creator Guido van Rossum and PyO3 maintainers Nathan Goldbaum and David Hewitt.
  5. In response to feedback, the authors scaled back the initiative to optional standard library extensions to lay build-system groundwork and prototype APIs before considering core changes.

Why it matters

CPython is the reference implementation supporting much of modern software infrastructure. Introducing Rust affects toolchains, portability across legacy hardware architectures, and long-term contributor dynamics.

Analysis

The CPython debate mirrors the tensions seen in the Rust-for-Linux initiative: balancing memory-safety gains and modern developer ergonomics against legacy platform compatibility and multi-language overhead. Pausing the mandatory timeline avoids fracturing distribution builds such as Gentoo, but critics like Jelle Zijlstra argue that limiting Rust to optional modules introduces architectural friction with limited core benefits.

Found in

Summary generated by AI (Gemini 3.8 Flash, 27 September 2026). It may contain errors – the original source is authoritative.

Similar in content, found by the AI search.

  • Link:Emma Smith

    Pre-PEP: Rust for CPython Proposed

    A proposal on the Python discussion forum suggests introducing the Rust programming language into CPython. Initially planned for optional extension modules, Rust is envisioned to eventually become a required dependency across the CPython codebase.

    Web development· Discussion

  • Link:Emma Smith

    Rust for CPython: Making Python Safer and More Robust

    A PyCon US 2026 presentation covers the Rust for CPython initiative, which explores integrating Rust into CPython to replace legacy C code, targeting memory and thread unsafety.

    Security· Talk

  • Repository:emmett-framework/granian

    Granian: A Rust HTTP Server for Python Applications

    Granian is a high-performance HTTP server for Python applications built in Rust using Hyper and Tokio. It supports ASGI, WSGI, and RSGI interfaces, aiming to replace complex dependency stacks like Gunicorn plus Uvicorn with a single, fast binary package.

    5.6kstarsRust

    Web development· Tool

  • Article:mojolang.org

    Python Interoperability in Mojo 1.0.0

    The official documentation for Mojo version 1.0.0 details its two-way interoperability with the Python ecosystem. Mojo supports importing existing Python modules via CPython and calling Mojo functions from Python through bindings without extra compilation steps.

    AI & LLMs· Resource

  • Link:Michael Kennedy

    Running Python on Rust: Granian as a Production App Server

    In Chapter 6 of his book 'Python in Production', Michael Kennedy explains the deployment of Granian as an HTTP server for Python applications. Built with Rust, Granian replaces legacy tools like uWSGI, excelling in benchmarks through consistent low tail latency and dual support for WSGI and ASGI.

    Web development· Resource

  • Link:mojolang.org

    Mojo Releases Version 1.0.0 and Goes Fully Open Source

    The Mojo programming language has reached version 1.0.0 and is now fully open source under the Apache License 2.0 on GitHub. Mojo targets systems programming for AI-era heterogeneous hardware, blending high performance with Python interoperability.

    AI & LLMs· Resource

Let's talk about your project

Locations

  • Mattersburg
    Johann Nepomuk Bergerstraße 7/2/14
    7210 Mattersburg, Austria
  • Vienna
    Ungargasse 64-66/3/404
    1030 Wien, Austria

Parts of this content were created with the assistance of AI.