Skip to content

Commit f6f3d60

Browse files
authored
Rust for CPython Progress Update April 2026 (#55)
1 parent c0fc840 commit f6f3d60

File tree

3 files changed

+63
-0
lines changed

3 files changed

+63
-0
lines changed

content/authors/emma-smith.json

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"name": "Emma Smith",
3+
"bio": "CPython Core Developer and Rust for CPython co-lead",
4+
"github": "emmatyping",
5+
"avatar": "",
6+
"twitter": "",
7+
"bluesky": "emmatyping.dev",
8+
"mastodon": "https://hachyderm.io/@emmatyping",
9+
"website": "https://emmatyping.dev",
10+
"featured": false
11+
}
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
---
2+
title: Rust for CPython Progress Update April 2026
3+
publishDate: '2026-04-08'
4+
author: Emma Smith
5+
description: "Rust for CPython project status update April 2026"
6+
tags:
7+
- Rust
8+
published: true
9+
---
10+
11+
> This post has also been shared on [discuss.python.org](https://discuss.python.org/t/rust-for-cpython-progress-update-april-2026/106895).
12+
13+
---
14+
15+
We (the Rust for CPython community) wanted to provide an update on where the project is and our current plans from now to a Python Enhancement Proposal (PEP) for introducing Rust into CPython.
16+
17+
## Recent work
18+
19+
Since the [pre-PEP thread](https://discuss.python.org/t/pre-pep-rust-for-cpython/104906), we’ve been working on making the reference implementation build system more robust across the platforms CPython supports. We’re now successfully building CPython with Rust in our fork’s CI on all tested platforms.
20+
21+
We’ve also had a number of productive discussions with the Rust team, who have been incredibly generous to meet with us to discuss the needs of the CPython project and how best to address issues we face with integrating Rust with CPython. I’m incredibly grateful to everyone who has joined those meetings.
22+
23+
We’ve also had some discussions about the design of a Rust API for CPython. You can see [issues tagged api-design](https://github.com/Rust-for-CPython/cpython/issues?q=is%3Aissue%20state%3Aopen%20label%3Aapi-design) which cover the critical components of the API design. We’d love to get more input on designing the Rust API, so please see below about contributing if you are interested in working with us on the Rust API. As a reminder, this API will remain internal until a later PEP stabilizes it and makes it public.
24+
25+
## Roadmap to a PEP
26+
27+
Since the pre-PEP, we’ve decided that we will be targeting Python 3.16 rather than 3.15 as the first Python version to include Rust code. This gives us a year to make the reference implementation the best it can be and plenty of time for discussion of the PEP.
28+
29+
The below timeline is subject to change, but covers a rough plan of what and when we hope to accomplish things:
30+
31+
- March
32+
- Done! ~~Finish the build system work, ensuring platforms tested in CPython CI are green~~
33+
- April
34+
- Start planning the internal Rust API design
35+
- Select a single extension module to have a Rust implementation in 3.16
36+
- May
37+
- Finalize a plan for the internal Rust API design
38+
- Start implementing the internal Rust API
39+
- Sprint at PyConUS on the internal Rust API and the extension module
40+
- June
41+
- Start writing the PEP
42+
- July
43+
- Finalize the PEP draft
44+
- Submit the PEP and begin discussion
45+
46+
We recognize introducing Rust is a significant change, and expect the PEP discussion to be lengthy, so we want to make sure there is ample time to discuss it prior to [3.16 beta 1 in May 2027](https://peps.python.org/pep-0826/#schedule).
47+
48+
## Contributing
49+
50+
Interested in contributing to the Rust for CPython project? Please join [our Discord](https://discord.gg/2pw3YSDscP)! We have meetings every Monday at 12:00PM PDT to discuss the project. We’d love to have more folks join those meetings and work with us on Rust for CPython!

keystatic.config.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ const knownAuthors = [
2323
"Michael Markert",
2424
"Mike Driscoll",
2525
"Philip Jenvey",
26+
"Emma Smith",
2627
];
2728

2829
const knownTags = [
@@ -37,6 +38,7 @@ const knownTags = [
3738
"contributors",
3839
"buildbot",
3940
"history",
41+
"Rust",
4042
];
4143

4244
const referenceComponents = {

0 commit comments

Comments
 (0)