# RustPython/RustPython

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/rustpython-rustpython).**

21,807 stars · 1,401 forks · Rust · mit

## Links

- GitHub: https://github.com/RustPython/RustPython
- Homepage: https://rustpython.github.io
- awesome-repositories: https://awesome-repositories.com/repository/rustpython-rustpython.md

## Topics

`compiler` `hacktoberfest` `interpreter` `jit` `language` `python-language` `python3` `rust` `wasm`

## Description

RustPython is a Python 3 compatible interpreter implemented in Rust. It functions as a scripting engine that can be embedded directly into host applications, allowing for the execution of dynamic scripts and the customization of software behavior within a memory-safe environment.

The project distinguishes itself through its ability to bridge Python and JavaScript runtimes, enabling data exchange and function invocation across language boundaries. It also provides a portable execution environment by compiling Python code into WebAssembly, which allows for the execution of logic directly within web browsers and other sandboxed environments.

Beyond its core interpreter capabilities, the project supports the management of third-party packages to extend functionality and includes tools for interacting with browser-native features. It also provides mechanisms for configuring network security and accelerating the execution of logic-heavy code. The project is distributed as a library designed for integration into native applications or web-based runtimes.

## Tags

### Programming Languages & Runtimes

- [Python](https://awesome-repositories.com/f/programming-languages-runtimes/programming-language-varieties/programming-languages/dynamic-scripting-languages/python.md) — Provides a full Python 3 compatible interpreter implementation designed for embedding and cross-platform execution.
- [Scripting Runtimes](https://awesome-repositories.com/f/programming-languages-runtimes/scripting-runtimes.md) — Execute external code directly within host applications to provide a flexible interface that allows users to customize software behavior without modifying the core source code. ([source](https://rustpython.github.io/))
- [Python Bindings](https://awesome-repositories.com/f/programming-languages-runtimes/language-interoperability/interoperability/python-bindings.md) — Bridges Python and JavaScript runtimes to facilitate seamless data exchange and function invocation.
- [Python-JavaScript Bridges](https://awesome-repositories.com/f/programming-languages-runtimes/runtime-execution-environments/runtime-environments/language-runtimes/language-host-runtime-bridges/python-javascript-bridges.md) — Enables seamless data exchange and function invocation across Python and JavaScript language boundaries. ([source](https://rustpython.github.io/demo/))
- [Python Runtimes](https://awesome-repositories.com/f/programming-languages-runtimes/runtime-execution-environments/webassembly/python-runtimes.md) — Compiles Python code into portable WebAssembly binaries to enable high-performance logic execution directly within web browsers.
- [WebAssembly](https://awesome-repositories.com/f/programming-languages-runtimes/runtime-execution-environments/webassembly.md) — Runs Python code in web browsers by compiling logic into portable WebAssembly binaries.
- [Foreign Function Interfaces](https://awesome-repositories.com/f/programming-languages-runtimes/language-interoperability/foreign-function-interfaces.md) — Enables seamless data exchange and function invocation between Python and host language runtimes.

### Development Tools & Productivity

- [Python Scripting Engines](https://awesome-repositories.com/f/development-tools-productivity/open-source-software/modular-cad-platforms/python-scripting-engines.md) — Enables the integration of Python scripting capabilities into native applications for flexible, user-defined logic and behavior.
- [Scripting Hosts](https://awesome-repositories.com/f/development-tools-productivity/scripting-hosts.md) — Functions as an embedded scripting engine for integrating dynamic Python logic into host applications.
- [Script Execution Engines](https://awesome-repositories.com/f/development-tools-productivity/script-execution-engines.md) — Executes dynamic Python scripts and expressions within a host application runtime. ([source](https://cdn.jsdelivr.net/gh/RustPython/RustPython@main/README.md))
- [Python Package Managers](https://awesome-repositories.com/f/development-tools-productivity/dependency-managers/python-package-managers.md) — Supports the installation and management of third-party Python packages to extend functionality. ([source](https://cdn.jsdelivr.net/gh/RustPython/RustPython@main/README.md))

### Web Development

- [Language-to-Web Bridges](https://awesome-repositories.com/f/web-development/language-to-web-bridges.md) — Provides a framework for seamless interoperability and data exchange between Python and JavaScript runtimes.
- [WebAssembly Compilation](https://awesome-repositories.com/f/web-development/webassembly-compilation.md) — Compiles Python code into portable WebAssembly binaries for efficient execution in web browsers.
- [Client-Side Execution Environments](https://awesome-repositories.com/f/web-development/client-side-execution-environments.md) — Enables the execution of Python code directly within web browser environments. ([source](https://rustpython.github.io/))

### Software Engineering & Architecture

- [Bytecode Interpreters](https://awesome-repositories.com/f/software-engineering-architecture/architectural-design-patterns/bytecode-interpreters.md) — Implements a bytecode interpreter to execute Python instructions within a memory-safe host environment.
- [Just-in-Time Compilers](https://awesome-repositories.com/f/software-engineering-architecture/function-execution-engines/just-in-time-compilers.md) — Translate complex mathematical or logic heavy code into native machine instructions during execution to significantly increase processing speed for demanding tasks. ([source](https://cdn.jsdelivr.net/gh/RustPython/RustPython@main/README.md))

### Security & Cryptography

- [Memory-Safe Runtimes](https://awesome-repositories.com/f/security-cryptography/memory-safe-runtimes.md) — Ensures memory-safe execution of dynamic scripts by leveraging Rust's ownership and borrowing rules.
