RustPython/RustPython

A Python Interpreter written in Rust

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 12 minutes ago
Added to GitGenius on December 29th, 2025
Created on May 28th, 2018
Open Issues & Pull Requests: 393 (+0)
Number of forks: 1,476
Total Stargazers: 22,300 (+0)
Total Subscribers: 171 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 4.1 days
Mean response time: 342.4 days
90th percentile: 1238.9 days
Tracked items: 471

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 78% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Work labelled "z-ca-2026" is answered fastest, typically in under an hour, while "A-vm" waits about 26 months. 51% of tracked open issues have had no activity in three months. Only 9% of issues opened in the past year have been closed.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 232
New in 7 days: 0
Closed in 7 days: 4
Avg open age: 932 days
Stale 30+ days: 217
Stale 90+ days: 195

Recent activity

Opened in 7 days: 0
Closed in 7 days: 4
Comments in 7 days: 2
Events in 7 days: 14

Top labels

  • C-compat (203)
  • C-bug (116)
  • good first issue (80)
  • RFC (76)
  • A-stdlib (67)
  • C-enhancement (32)
  • E-help-wanted (27)
  • A-design (20)

Detailed Description

RustPython is a Python-3 interpreter implementation written entirely in Rust, targeting compatibility with CPython version 3.14.0 and later. Rather than wrapping or binding to CPython, RustPython provides a clean, native implementation of the Python language runtime in Rust without compatibility hacks. The project maintains an online WebAssembly demo that allows users to run Python code directly in a web browser, demonstrating one of its key capabilities.

The interpreter supports multiple deployment and embedding scenarios. Users can build RustPython locally using Rust's stable toolchain and run it as an interactive shell or execute Python scripts directly. The project provides pip package manager support through optional SSL features, with configurable SSL providers including rustls and OpenSSL. RustPython can also be compiled to WebAssembly WASI modules for execution in WebAssembly environments using tools like wasmer. For developers embedding Python in Rust applications, RustPython offers examples and APIs for exposing Python scripting capabilities within larger Rust projects, addressing use cases where Python's flexibility would complement Rust's performance.

The repository includes an experimental just-in-time compiler feature that can compile Python functions into native code, though this remains in early development. The standard library is managed through symlinks and can be frozen into WebAssembly binaries for standalone deployment. Windows users receive specific guidance for environment configuration through the RUSTPYTHONPATH variable.

The project maintains overlapping contributor relationships with repositories including github/gh-aw, solo-io/gloo, and microsoft/vscode.

RustPython has found practical applications in production systems. GreptimeDB, an open-source distributed time-series database, uses RustPython for embedded scripting. The pyckitup game engine, Robot Rumble AI competition platform, and Ruff, a high-performance Python linter written in Rust, all leverage RustPython for their Python integration needs. The project explicitly acknowledges its development status, noting that while suitable for interesting use cases like WASM execution and Rust embedding, it is not yet fully production-ready. The repository welcomes contributions through its established guidelines and maintains community engagement via Discord.