{"id":16251586,"url":"https://github.com/pfalcon/awesome-python-compilers","last_synced_at":"2026-02-18T07:31:26.621Z","repository":{"id":36760013,"uuid":"200992364","full_name":"pfalcon/awesome-python-compilers","owner":"pfalcon","description":"Retrospective of Python compilation efforts","archived":false,"fork":false,"pushed_at":"2022-04-15T05:45:03.000Z","size":11,"stargazers_count":64,"open_issues_count":6,"forks_count":6,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-07-14T20:41:41.578Z","etag":null,"topics":["python","python-compiler"],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pfalcon.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-08-07T07:02:05.000Z","updated_at":"2024-10-11T23:55:41.000Z","dependencies_parsed_at":"2022-08-08T17:01:02.602Z","dependency_job_id":null,"html_url":"https://github.com/pfalcon/awesome-python-compilers","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/pfalcon/awesome-python-compilers","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pfalcon%2Fawesome-python-compilers","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pfalcon%2Fawesome-python-compilers/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pfalcon%2Fawesome-python-compilers/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pfalcon%2Fawesome-python-compilers/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pfalcon","download_url":"https://codeload.github.com/pfalcon/awesome-python-compilers/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pfalcon%2Fawesome-python-compilers/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267383321,"owners_count":24078566,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-27T02:00:11.917Z","response_time":82,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["python","python-compiler"],"created_at":"2024-10-10T15:10:41.046Z","updated_at":"2026-02-18T07:31:26.615Z","avatar_url":"https://github.com/pfalcon.png","language":null,"readme":"Projects with code deliverables\n===============================\n\n* 1997-1999 [Python2C](https://web.archive.org/web/20011025084441/http://www.mudlib.org/~rassilon/p2c/)\n* 2002-2011 [Psyco](http://psyco.sourceforge.net/), https://bitbucket.org/arigo/psyco\n  * Was actually used in production for many projects\n* 2002-2010 [Pyrex](http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/)\n  * Served as a base for Cython\n* 2003, active [PyPy](https://bitbucket.org/pypy/pypy)\n* 2006 Grant Olson's [Compyler](https://www.grant-olson.net/projects/misc.html)\n* 2006, active [Cython](https://github.com/cython/cython)\n  * Originally based on Pyrex\n* 2008, active [Shedskin](https://github.com/shedskin/shedskin)\n* 2009-2010 Unladen Swallow\n  * [Postmortem](http://qinsb.blogspot.com/2011/03/unladen-swallow-retrospective.html)\n* 2011, active [Nuitka](https://github.com/Nuitka/Nuitka)\n* 2011-2013 [Copperhead]https://github.com/bryancatanzaro/copperhead) - \"Data Parallel Python\"\n  * https://devblogs.nvidia.com/copperhead-data-parallel-python/\n  * https://github.com/bryancatanzaro/copperhead/tree/master/samples\n* 2010-2011 HotPy\n* 2012-2012 HotPy2\n  * https://sites.google.com/site/makingcpythonfast/\n  * https://sites.google.com/site/makingcpythonfast/\n  * https://code.google.com/archive/p/hotpy/\n  * https://bitbucket.org/markshannon/hotpy_2\n* 2012-2012 [pymothoa](https://github.com/sklam/pymothoa)\n  * https://code.google.com/archive/p/pymothoa/\n  * https://www.phoronix.com/scan.php?page=news_item\u0026px=MTEzMDQ\n* 2012-2013 [Parakeet](https://github.com/iskandr/parakeet)\n* 2012, active [Numba](https://github.com/numba/numba)\n  * Well-known and actively used, 4.8K github stars, 16K commits\n* 2012, active [Pythran](https://github.com/serge-sans-paille/pythran)\n  * [docs](https://pythran.readthedocs.io)\n  * 2019-01-24 [Pythran: Python at C++ speed !](https://medium.com/@olivier.borderies/pythran-python-at-c-speed-518f26af60e8)\n* 2012-2018 [reticulated](https://github.com/mvitousek/reticulated)\n* 2013-2014 [flypy](https://github.com/flypy/flypy), [was once named \"numba2\"](https://github.com/flypy/flypy/commit/7d7075c81dd9a9a5e1fbd54678a68713f42c3e91) then apparently transforned into pykit\n  * Related: https://github.com/pykit, https://github.com/ContinuumIO/pykit, https://github.com/flypy/pykit\n  * Good pitch: https://pypi.org/project/pykit/\n* 2014-2017 https://github.com/darius/tailbiter - Simple teaching metacircular bytecode compiler\n  * [Originally](https://github.com/darius/500lines/tree/master/bytecode-compiler)\n    for book \"500 Lines or Less\" (didn't fit)\n  * 2014-02-24 http://abecedarius.tumblr.com/post/77679122389/ouroborospy\n  * 2014-03-17 http://abecedarius.tumblr.com/post/79850464139/tail-eaten-well-almost\n  * 2017-02 [Dragon taming with Tailbiter, a bytecode compiler for Python](https://codewords.recurse.com/issues/seven/dragon-taming-with-tailbiter-a-bytecode-compiler) -\n* 2014-2017 [Pyston](https://github.com/dropbox/pyston)\n  * 2014-04-03 [Announcement](https://blogs.dropbox.com/tech/2014/04/introducing-pyston-an-upcoming-jit-based-python-implementation/)\n  * 2017-01-31 [Postmortem](https://blog.pyston.org/2017/01/31/pyston-0-6-1-released-and-future-plans/)\n* 2014-2016 [HOPE](https://github.com/jakeret/hope) - \"JIT compiler for astrophysical computations\"\n  * [paper](https://arxiv.org/abs/1410.4345)\n* 2015-2015 https://github.com/lukasmartinelli/py14 - Python to C++ 14 transpiler\n* 2015-2019 [numpile](https://github.com/sdiehl/numpile) - A tiny 1000 line LLVM-based numeric specializer for scientific Python code\n  * [Let's Write an LLVM Specializer for Python!](http://dev.stephendiehl.com/numpile/)\n* 2015-2016 [FAT Python](https://faster-cpython.readthedocs.io/fat_python.html)\n  * https://github.com/vstinner/fatoptimizer\n* 2015, active [Pyjion](https://github.com/tonybaloney/Pyjion) (originally `microsoft/Pyjion`) - A JIT for Python based upon CoreCLR\n* 2016-2018 [Lichen](http://projects.boddie.org.uk/Lichen) - Explicitly a subset of Python with purposely differing semantics\n* 2017, active [mypyc/mypy](https://github.com/mypyc/mypyc) - Python-to-C\n  compiler based on type annotations/inference by mypy type checker. (Later\n  mypyc is merged into mypy codebase).\n\nAcademic and theoretical research, and just no code available\n=============================================================\n\n* 1997-2000 PyFront (afterwards Basil)\n* 2000 [Basil](http://wildideas.org/basil/)\n  * https://sourceforge.net/projects/basil/ - No files, no VCS\n  * http://wiki.c2.com/?BasilProject\n  * http://wiki.c2.com/?BasilProjectLog\n* 2002-2003 UCPy compiler + Mamba VM\n  * [UCPy: Reverse-Engineering Python](https://pages.cpsc.ucalgary.ca/~aycock/papers/ucpy.pdf)\n* 2004-2004 Starkiller\n  * [Faster than C: Static Type Inference with Starkiller](http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.95.3786)\n  * [Master's Thesis](https://dspace.mit.edu/handle/1721.1/16688)\n  * Shedskin seems to be based on similar ideas and provides concrete deliverables\n\nPython Conferences and SIGs\n===========================\n\n* 1998-11 7th International Python Conference\n  * From Jon Riehl's [notes](https://wildideas.org/basil/):\n  \u003e Last year (IPC7,) I thought I was going to surprise the Python community\n  \u003e by presenting a prototype Python to C translator. Little did I know,\n  \u003e I was only one of three people who announced such a product.\n * These apparently were:\n   * \"Converting Python Virtual Machine Code to C\", John Aycock\n   * \"PyFront: Conversion of Python to C Extension Modules\", Jon Riehl\n   * (3rd - ???)\n* 2000-01 8th International Python Conference\n  * From Jon Riehl's [notes](https://wildideas.org/basil/):\n  \u003e This year (IPC8,) in the interest of keeping people up to date,\n  \u003e there was a two hour session that hosted the developers of these\n  \u003e prototypes. The only system left standing is now complete and under\n  \u003e beta test. Bill Tutt and Greg Stein cowrote Python2C, which they\n  \u003e have been continuing to work on at (http://www.mudlib.org/~rassilon/p2c/).\n  \u003e The other player is John Aycock. John declared he would look into run time\n  \u003e type instrumentation, which I think should end up forming some sort of a\n  \u003e JIT for Python. He lives at: (http://gulf.uvic.ca/~aycock/) \n* 2000 [Compiler-SIG](ftp://ftp.ntua.gr/mirror/python/sigs/compiler-sig/index.html)\n  * \"This SIG grew out of a Developers' Day session at the 8th International Python\n    Conference. Ka-Ping Yee took\n    [notes on the session](ftp://ftp.ntua.gr/mirror/python/sigs/compiler-sig/dev-day-notes.txt).\"\n* 2016-07-11 [Python Compilers Workshop](https://python-compilers-workshop.github.io/)\n  at SciPy 2016 conference.\n\nPEPs\n====\n* [PEP 267](https://www.python.org/dev/peps/pep-0267/), 2001-05, Py2.2: Optimized Access to Module Namespaces\n* [PEP 266](https://www.python.org/dev/peps/pep-0266/), 2001-08, Py2.3: Optimizing Global Variable/Attribute Access\n* [PEP 280](https://www.python.org/dev/peps/pep-0280/), 2002-02, Py2.3: Optimizing access to globals\n\n* [PEP 329](https://www.python.org/dev/peps/pep-0329/), 2004-04, Py2.4: Treating Builtins as Constants in the Standard Library\n\n* [PEP 510](https://www.python.org/dev/peps/pep-0510/), 2016-01, Py3.6: Specialize functions with guards\n* [PEP 511](https://www.python.org/dev/peps/pep-0511/), 2016-01, Py3.6: API for code transformers\n\n\nStatic Analysis\n===============\n\n* https://github.com/sdiehl/subpy - Subpy is a library for defining subsets\nof the Python language and querying ASTs for language-level properties that\nare specified as sets of features.\n\n\nParsers\n=======\n\n* https://github.com/python/typed_ast - Modified fork of CPython's ast module\n  that parses `# type:` comments.\n* https://github.com/m-labs/pythonparser - \"Parses source code into an AST\n  that is a superset of Python’s built-in ast module\".\n* https://github.com/lark-parser/lark/blob/master/examples/python3.lark - Python3\n  grammar for Lark parser.\n* 2013-07-26 [The obvious Python parser](http://blog.nullspace.io/obvious-python-parser.html) -\n  Constructing Python3 parser. In Haskell, d'oh. Code: https://github.com/hausdorff/pyli\n\n---\nThis list is compiled and maintained by Paul Sokolovsky, and released under\n[Creative Commons Attribution-ShareAlike 4.0 International License (CC BY-SA 4.0)](https://creativecommons.org/licenses/by-sa/4.0/).\n","funding_links":[],"categories":["Others"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpfalcon%2Fawesome-python-compilers","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpfalcon%2Fawesome-python-compilers","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpfalcon%2Fawesome-python-compilers/lists"}