CPython

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Not to be confused with Cython.
CPython
Python logo.svg
Developer(s) Python core developers and the Python community
Stable release 3.2 / February 20, 2011; 11 months ago (2011-02-20)
Written in C
Platform Cross-platform
Type Python Programming Language Interpreter
License Python Software Foundation License
Website Python.org

CPython is the default, most-widely used implementation of the Python programming language. It is written in C. In addition to CPython, there are two other production-quality Python implementations: Jython, written in Java, and IronPython, which is written for the Common Language Runtime. There are also several experimental implementations.[1]

CPython is a bytecode interpreter. It has a foreign function interface with several languages including C, in which one must explicitly write bindings in a language other than Python.

Contents

[edit] Supported platforms

Unix-like
Desktop OSes
Special and embedded
Mainframe and other

[edit] Previously supported platforms

PEP 11 lists platforms which are not supported in CPython by Python Software Foundation. These platforms can still be supported by external ports. See below.


[edit] External ports

These are ports not integrated to Python Software Foundation's official version of CPython, with links to its main development site. Ports often include additional modules for platform-specific functionalities, like graphics and sound API for PSP and SMS and camera API for S60.

[edit] Concurrency issues

A significant drawback to using CPython on a multitasking computer is the presence of a Global Interpreter Lock on each CPython interpreter process, which effectively disables concurrent Python threads within one process.[1] To be truly concurrent in multitasking environment, separate CPython interpreter processes have to be run, which makes establishing communication between them a difficult task, though the multiprocessing module mitigates this somewhat. There is constant discussion whether to remove the GIL from CPython.[2]

[edit] Notes

  1. ^ Martelli, Alex (2006). Python in a Nutshell (2nd edition ed.). O'Reilly. pp. 5–7. ISBN 978-0-596-10046-9. 

[edit] References

Personal tools
Namespaces
Variants
Actions
Navigation
Interaction
Toolbox
Print/export
Languages