Skip to content

sfermigier/awesome-python-implementations

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 

Repository files navigation

Awesome Python Implementations

Mainstream implementations

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

Lightweight implementations

Mainly for embedded systems.

  • Micropython ★19166 - MicroPython - a lean and efficient Python implementation for microcontrollers and constrained systems
  • CircuitPython ★4068 - 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 ★6368 - a way to run Python in the browser through translation to JS
  • PScript ★258 - 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 ★1138 - (formerly Pyjamas) a Python to JS compiler plus Web/GUI framework
  • Pyjaco ★140 - 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:

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

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

  • Cython ★9415 - 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 ★1995 - 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 ★1744 compiles fully typed Python code to a C extension, based on mypy. (Source code here)

About

Awesome Python Implementations

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published