- 1997-1999 Python2C
- 2002-2011 Psyco, https://bitbucket.org/arigo/psyco
- Was actually used in production for many projects
- 2003, active PyPy
- 2006 Grant Olson's Compyler
- 2008, active Shedskin
- 2009-2010 Unladen Swallow
- 2011, active Nuitka
- 2010-2011 HotPy
- 2012-2012 HotPy2
- 2012-2012 pymothoa
- 2012-2013 Parakeet
- 2012, active Pythran
- docs
- 2019-01-24 Pythran: Python at C++ speed !
- 2012-2018 reticulated
- 2014-2017 https://github.com/darius/tailbiter - Simple teaching metacircular bytecode compiler
- Originally for book "500 Lines or Less" (didn't fit)
- 2014-02-24 http://abecedarius.tumblr.com/post/77679122389/ouroborospy
- 2014-03-17 http://abecedarius.tumblr.com/post/79850464139/tail-eaten-well-almost
- 2017-02 Dragon taming with Tailbiter, a bytecode compiler for Python -
- 2014-2017 Pyston
- 2014-04-03 Announcement
- 2017-01-31 Postmortem
- 2015-2015 https://github.com/lukasmartinelli/py14 - Python to C++ 14 transpiler
- 2015-2019 numpile - A tiny 1000 line LLVM-based numeric specializer for scientific Python code
- 2015-2016 FAT Python
- 1997-2000 PyFront (afterwards Basil)
- 2000 Basil
- 2002-2003 UCPy compiler + Mamba VM
- 2004-2004 Starkiller
- Faster than C: Static Type Inference with Starkiller
- Shedskin seems to be based on similar ideas and provides concrete deliverables
- 1998-11 7th International Python Conference
- From Jon Riehl's notes:
Last year (IPC7,) I thought I was going to surprise the Python community by presenting a prototype Python to C translator. Little did I know, I was only one of three people who announced such a product.
- These apparently were:
- "Converting Python Virtual Machine Code to C", John Aycock
- "PyFront: Conversion of Python to C Extension Modules", Jon Riehl
- (3rd - ???)
- 2000-01 8th International Python Conference
- From Jon Riehl's notes:
This year (IPC8,) in the interest of keeping people up to date, there was a two hour session that hosted the developers of these prototypes. The only system left standing is now complete and under beta test. Bill Tutt and Greg Stein cowrote Python2C, which they have been continuing to work on at (http://www.mudlib.org/~rassilon/p2c/). The other player is John Aycock. John declared he would look into run time type instrumentation, which I think should end up forming some sort of a JIT for Python. He lives at: (http://gulf.uvic.ca/~aycock/)
- 2000 Compiler-SIG
- "This SIG grew out of a Developers' Day session at the 8th International Python Conference. Ka-Ping Yee took notes on the session."
-
PEP 267, 2001-05, Py2.2: Optimized Access to Module Namespaces
-
PEP 266, 2001-08, Py2.3: Optimizing Global Variable/Attribute Access
-
PEP 280, 2002-02, Py2.3: Optimizing access to globals
-
PEP 329, 2004-04, Py2.4: Treating Builtins as Constants in the Standard Library
-
PEP 510, 2016-01, Py3.6: Specialize functions with guards
-
PEP 511, 2016-01, Py3.6: API for code transformers
- https://github.com/sdiehl/subpy - Subpy is a library for defining subsets of the Python language and querying ASTs for language-level properties that are specified as sets of features.
- https://github.com/python/typed_ast - Modified fork of CPython's ast module
that parses
# type:
comments. - https://github.com/m-labs/pythonparser - "Parses source code into an AST that is a superset of Python’s built-in ast module".
- https://github.com/lark-parser/lark/blob/master/examples/python3.lark - Python3 grammar for Lark parser.
- 2013-07-26 The obvious Python parser - Constructing Python3 parser. In Haskell, d'oh. Code: https://github.com/hausdorff/pyli
This list is compiled and maintained by Paul Sokolovsky, and released under Creative Commons Attribution-ShareAlike 4.0 International License (CC BY-SA 4.0).