
אינטגרציית Rust ב-CPython: הפרויקט הציג תוכנית שלבים וקריטריונים להצלחה
בכנש השפה Python Language Summit 2026, David Hewitt הציג את תוכנית הפרויקט Rust for CPython: גרסת Rust לא חובה של zlib ב-Python 3.16, PEP עם קריטריונים להצלחה עד סוף 2026 ו-Rust חובה לא לפני 2029.
בכנש השפה Python Language Summit 2026, David Hewitt הציג את תוכנית הפרויקט Rust for CPython: שלבים וקריטריונים להצלחה. הפרויקט נדון ב-PyCon US 2025, והצוות מובל על ידי מפתחי הליבה של CPython, Kirill Podoprigora ו-Emma Smith.
הצוות מאגד כ-60 מפתחים בערוץ Discord, ביניהם מפתחי ליבה של CPython ונציגי פרויקטי Rust. לרבים מהם יש ניסיון באינטגרציה של Rust ב-Android ובליבה של Linux.
למה Rust?
מספר הבעיות שנפתחו עם תגית „type-crash" גדל: 82 מקרים ב-2021, 222 ב-2025, והתחזית ל-2026 היא כ-353. אחד הגורמים לגידול הוא הפרסר החדש, JIT ו-free-threading, ו-Rust נחשב לפתרון אפשרי.

המטרה הראשונה: מודול zlib
המודול הראשון שיקבל יישום לא חובה של Rust הוא zlib. הצוות ישתמש ב-zlib-rs, שבו משתמשים Firefox, uv ו-Cargo והוא מהיר יותר מ-zlib. מערכת החבילות של Python משתמשת ב-zlib באופן נרחב, ולכן כמעט כל pip install ב-Python 3.16 יואץ.

לפי התוכנית, פרוטוטיפ של Rust API יהיה מוכן בקיץ 2026, ו-PEP עם קריטריונים להצלחה יפורסם עד סוף השנה. Python 3.16 (אוקטובר 2027) יקבל גרסת Rust של zlib ו-Rust API פרטי; Python 3.17 (2028) יכניס Rust גם למודולים io, json, xml, memoryview ו-parser. הפיכה לחובה מתוכננת לא לפני Python 3.18 (2029).
דאגה ודיון
לפי Hewitt, הטמעה היא גם אתגר חברתי: ידע ב-Rust אינו נפוץ בקרב מפתחי ליבה, ולכן התוכנית כוללת חלקים קטנים של CPython, כי „מיליון שורות קוד ב-C לא ניתן להעביר בבת אחת". תמיכה בפלטפורמות, שהייתה הדאגה המרכזית לפני שנה, התרחבה.
בדיון, Larry Hastings שאל מדוע הפרויקט אינו „שכתוב"; Hewitt ציין ש-RustPython כבר קיים. הוא גם אמר ש„CPython לא אמור להיכתב ב-Rust רק כי זה Rust" ו-CPython יישאר דו-שכבתי עוד זמן רב. Pablo Galindo Salgado כינה את המשיכה של תלויות מ-Cargo כ-„showstopper" פוטנציאלי; בתשובתו, Hewitt אמר שתלויות חיצוניות יצומצמו למינימום והבנייה לא תזדקק ל-Cargo.
קריטריונים להצלחה
גם במקרה של JIT ו-free-threading הקריטריונים מוגדרים מראש, ולכן לפי Hewitt, נדרשים תנאים דומים: הרוב של מפתחי הליבה צריך להיות פתוח כלפי Rust API („פתוח", ולא „מבין"), ביצועים לא יגרעו באופן מורגש, ו-Rust יקבל תמיכה בכל פלטפורמות tier.
SiTech — פיתוח אתרים בכוח ה-AI
אנחנו בונים אתרים מהירים ומודרניים ומשלבים AI בתהליכי עבודה אמיתיים. יש לכם פרויקט או שאלה? נשמח לעזור.