Source code
Shed Skin is a transpiler, that can translate pure, but implicitly statically typed Python 3 programs into optimized C++. It can generate stand-alone programs or extension modules that can be imported and used in larger Python programs. Besides the typing restriction, programs cannot freely use the Python standard library (although about 25 common modules, such as random and re, are currently supported) or any other external library. Also, not all Python features, such as nested functions and variable numbers of arguments, are supported (see the documentation for details). Shed Skin only supports a restricted subset of Python, so one should not expect a given program to compile without any changes, if possible at all. You may have to work a lot, or even start from scratch, to make your code compatible. See the documentation for an overview of the limitations. Shed Skin depends on some other projects, such as the Boehm garbage collector. Please see the documentation on how to install these. Note that Numba defaults to int64 as integer type, while Shed Skin defaults to int32. Performance is practically equal when using shedskin --int64. The following shows a comparison of speedups versus CPython 3.10 for Shed Skin and Pypy, for most of the Shed Skin examples. These measurements were performed for the git tag 'performance comparison'. As can be seen, we allowed PyPy to stabilize before measuring. The following people have contributed to Shed Skin development: Shakeeb Alireza Hakan Ardo Brian Blais Paul Boddie Francois Boutines Wyatt S. Carpenter Djamel Cherif James Coughlan Mark Dewing Mark Dufour Artem Egorkine Michael Elkins Moataz Elmasry Enzo Erbano Ernesto Ferro Salvatore Ferro FFAO Victor Garcia Davide Gessa Luis M. Gonzales Fahrzin Hemmati Folkert van Heusden Karel Heyse Humhue Johan Kristensen Kousuke Denis de Leeuw Duarte Van Lindberg David Marek Douglas McNeil Andy Miller Jeff Miller Danny Milosavljevic Joaquin Abian Monux John Nagle Harri Pasanen Brent Pedersen Joris van Rantwijk Retsyo Pierre-Marie de Rodat Jeremie Roquet Mike Schrick SirNotAppearingInThisTutorial Paul Sokolevsky Thomas Spura Joerg Stippa Dan Stromberg Dave Tweed Jaroslaw Tworek Tony Veijalainen Yuri Victorovich Pavel Vinogradov Jason Ye Liu Zhenhai Joris van Zwieten
Excerpt from the source-code README · 5,175 chars · not written by Vinony
Wikidata facts
- Instance of
- free software
- Official website
- code.google.com/p/shedskin
- Has use
- source-to-source compiler
Show 7 more facts
- programmed in
- C++
- copyright license
- BSD licenses
- operating system
- Linux
- inception
- 2005-00-00
- source code repository URL
- github.com/shedskin/shedskin
- implementation of
- Python
- software version identifier
- 0.9.9
via Wikidata · CC0