У 2028 році Rust може стати обов’язковою залежністю в збірці Python
Команда CPython (еталонної реалізації мови програмування Python) обговорює пропозицію (pre-PEP), яка може радикально змінити процес збірки інтерпретатора: Rust пропонують зробити обов’язковою залежністю вже в релізі Python 3.17, поява якого очікується в 2028 році.
Спочатку Rust пропонують використати для необов’язкових модулів стандартної бібліотеки, які розміщуються в директорії Modules. Після цього, в релізі Python 3.17, Rust стане обов’язковою залежністю в збірці CPython.
Причини, через які планується додати Rust до Python:
- Безпека пам’яті. Rust усуває категорії помилок, звичні для C: use-after-free, переповнення пам’яті.
- Підготовка до free-threaded Python. Перехід до роботи без GIL вимагає безпечних примітивів – Rust для цього підходить ідеально.
- Rust дозволяє створювати швидкі структури даних без ручного управління пам’яттю.
- Linux, Android та Firefox вже використовують Rust у системних компонентах – Python наздоганяє тренд.
- Підтримка довгострокового розвитку CPython. Складність коду зростає, а Rust полегшує супровід.
План впровадження:
- Python 3.15 (2026): попередження за відсутність Rust в оточенні збірки.
- Python 3.16 (2027 рік): збірка можлива без Rust тільки з прапором “–with-rust=no”.
- Python 3.17 (2028): Rust стає обов’язковим на етапі збірки.
Для взаємодії з C API у CPython передбачається використовувати автоматичні прив’язки через bindgen, а не сторонні абстракції, такі як PyO3, щоб уникнути затримок при оновленні API. Питання управління залежностями, крос-компіляції та підтримки рідкісних платформ перебувають у стадії обговорення.












Сообщить об опечатке
Текст, который будет отправлен нашим редакторам: