sfermigier / awesome-python-implementations

Awesome Python Implementations

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Awesome Python Implementations

Mainstream implementations

  • CPython ★53615 - The reference implementation of Python, written in C.
  • PyPy - Python in Python, includes a tracing JIT compiler.
  • RustPython ★15056 - Python interpreter written in Rust.
  • IronPython ★2135 - Python in C# for the Common Language Runtime (CLR/.NET).
  • GraalPython ★980 - Python in Java, using the Graal just-in-time compiler and the Truffle interpreter implementation framework
  • Jython ★867 - Python in Java for the Java platform.

Lightweight implementations

Mainly for embedded systems.

  • Micropython ★16660 - MicroPython - a lean and efficient Python implementation for microcontrollers and constrained systems
  • CircuitPython ★3549 - CircuitPython - a Python implementation for teaching coding with microcontrollers - Fork of MicroPython by Adafruit.

Dead projects

  • Pymite ★4 - Python-on-a-Chip (p14p) is a project to develop a reduced Python virtual machine (codenamed PyMite) that runs a significant subset of the Python 2.6 language on microcontrollers without an OS.

Python to JavaScript transpilers

Active projects

  • Brython ★6027 - a way to run Python in the browser through translation to JS
  • PScript ★240 - Python to JavaScript compiler
  • Transcrypt - Python 3.6 to JS precompiler with lean and fast generated code, sourcemaps, built-in minification, optional static type-checking, JSX support

Dead projects

  • pyjs ★1122 - (formerly Pyjamas) a Python to JS compiler plus Web/GUI framework
  • Pyjaco ★141 - Similar to Pyjs but more lightweight

Compilers

These compilers usually implement something close to Python, although some compilers may impose restrictions that alter the nature of the language:

  • Numba ★8640 - NumPy aware dynamic Python compiler using LLVM

  • Nuitka ★8840 - a Python-to-C++ compiler using libpython at runtime, attempting some compile-time and run-time optimisations. Interacts with CPython runtime.

  • Cython ★7966 - a widely used optimising Python-to-C compiler, CPython extension module generator, and wrapper language for binding external libraries. Interacts with CPython runtime and supports embedding CPython in stand-alone binaries.

  • Pythran ★1895 - Pythran is an ahead of time compiler for a subset of the Python language, with a focus on scientific computing. It takes a Python module annotated with a few interface descriptions and turns it into a native Python module with the same interface, but (hopefully) faster.

  • MyPyC ★1486 compiles fully typed Python code to a C extension, based on mypy. (Source code here)

About

Awesome Python Implementations