Differences between revisions 12 and 21 (spanning 9 versions)
Revision 12 as of 2008-03-07 17:25:55
Size: 1791
Editor: CameronLaird
Comment:
Revision 21 as of 2009-05-15 22:41:27
Size: 2797
Editor: PaulBoddie
Comment: Updated Shed Skin URL.
Deletions are marked like this. Additions are marked like this.
Line 9: Line 9:
 * ["CPython"] - the reference Python implementation  * [[CPython]] - the reference Python implementation
Line 11: Line 11:
 * ["IPython"] and its ["IPyKit"] variant
 * [http://www.mhuffman.com/resource/index.html Tiny Python]
 * [[IPython]] and its [[IPyKit]] variant
 * [[http://www.mhuffman.com/resource/index.html|Tiny Python]] - not to be confused with tinypy, below
 * [[http://code.google.com/p/unladen-swallow/|unladen-swallow]] - "an optimization branch of CPython, intended to be fully compatible and significantly faster"
 * [[http://code.google.com/p/wpython/|wpython]] - a re-implementation of CPython using "wordcode" instead of bytecode
Line 16: Line 18:
 * ["CLPython"] - Python in Common Lisp  * [[CLPython]] - Python in Common Lisp
Line 18: Line 20:
 * ["Jython"] - Python in Java for the Java platform  * [[Jython]] - Python in Java for the Java platform
Line 21: Line 23:
 * [https://www.cs.cmu.edu/~music/aura/serpent-info.htm Serpent]
 * [http://www.philhassey.com/blog/2008/02/28/tinypy-10-mit-license-and-swell-opengl-demo/ tinypy] - Python in 64K
 * [[https://www.cs.cmu.edu/~music/aura/serpent-info.htm|Serpent]]
 * [[http://www.synapse-wireless.com/documents/whte_paper/SNAP_WP_102108.pdf|SNAPpy]] - "a subset of the Python language that has been optimized for use in low-power embedded devices" (apparently proprietary)
 * [[http://www.tinypy.org/|tinypy]] - a minimalist implementation of python in 64k of code
Line 25: Line 28:
Line 26: Line 30:
 * ["Cobra"]  * [[Cobra]]
 * [[http://delight.sourceforge.net/|Delight]] - based on the D programming language
Line 30: Line 35:
 * [http://members.verizon.net/~olsongt/compyler/index.html Compyler] - an attempt to "transliterate the bytecode into x86 assembly"
 * [http://sourceforge.net/projects/shedskin/ Shed Skin] - a Python-to-C++ compiler
 * [[http://members.verizon.net/~olsongt/compyler/index.html|Compyler]] - an attempt to "transliterate the bytecode into x86 assembly"
 * [[http://cython.org/|Cython]] - an optimising Python-to-C compiler, CPython extension module generator, and wrapper language for binding external libraries
 * [[http://code.google.com/p
/shedskin/|Shed Skin]] - a Python-to-C++ compiler
 * [[http://code.google.com/p/unpython/|unPython]] - a Python to C compiler using type annotations
Line 39: Line 46:
"[http://phaseit.net/claird/comp.lang.python/python_varieties.html Cameron Laird's personal notes on varieties of Python implementation]". "[[http://phaseit.net/claird/comp.lang.python/python_varieties.html|Cameron Laird's personal notes on varieties of Python implementation]]".  Also of interest will be IntegratingPythonWithOtherLanguages, which, among other variants, mentions ''embeddings'' of Python in other languages.

Python Implementations

An "implementation" of Python should be taken to mean a program or environment which provides support for the execution of programs written in the Python language, or some broadly similar dialect of the language.

There have been and are several distinct software packages providing of what we all recognize as Python, although some of those are more like distributions or variants of some existing implementation than a completely new implementation of the language.

CPython Variants

  • CPython - the reference Python implementation

  • ActivePython - a CPython variant

  • IPython and its IPyKit variant

  • Tiny Python - not to be confused with tinypy, below

  • unladen-swallow - "an optimization branch of CPython, intended to be fully compatible and significantly faster"

  • wpython - a re-implementation of CPython using "wordcode" instead of bytecode

Other Implementations

  • CLPython - Python in Common Lisp

  • IronPython - Python in C# for the Common Language Runtime (CLR/.NET)

  • Jython - Python in Java for the Java platform

  • PyMite - Python for embedded devices

  • PyPy - Python in Python, targeting several environments

  • Serpent

  • SNAPpy - "a subset of the Python language that has been optimized for use in low-power embedded devices" (apparently proprietary)

  • tinypy - a minimalist implementation of python in 64k of code

Compilers

  • Compyler - an attempt to "transliterate the bytecode into x86 assembly"

  • Cython - an optimising Python-to-C compiler, CPython extension module generator, and wrapper language for binding external libraries

  • Shed Skin - a Python-to-C++ compiler

  • unPython - a Python to C compiler using type annotations

Topic Guides

This page aims to replace one formerly maintained as "Cameron Laird's personal notes on varieties of Python implementation". Also of interest will be IntegratingPythonWithOtherLanguages, which, among other variants, mentions embeddings of Python in other languages.

PythonImplementations (last edited 2024-06-07 14:34:25 by DavidBoddie)

Unable to edit the page? See the FrontPage for instructions.