- Not to be confused with Cython.
CPython is the default, most-widely used implementation of the Python programming language. It is written in C. In addition to CPython, there are other "production-quality" Python implementations: Jython, written in Java, PyPy and IronPython, which is written for the Common Language Infrastructure. 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.
Supported platforms[2] [edit]
- Unix-like
|
- Special and embedded
|
- Other
|
Previously supported platforms [edit]
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.
External ports [edit]
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.
Concurrency issues [edit]
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.[3] 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 occasional discussion whether to remove the GIL from CPython.[4]
References [edit]