Jump to content

CPython: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
m Python 3.1.3 was released on November 27th, 2010.
Leafcat (talk | contribs)
The PSF owns the trademarks and licences the software, but is not equivalent to the developers
Line 4: Line 4:
| logo = [[Image:Python logo.svg|300px| {{ffdc|Python logo.svg|0 August 13}}]]
| logo = [[Image:Python logo.svg|300px| {{ffdc|Python logo.svg|0 August 13}}]]
| designer = [[Guido van Rossum]]
| designer = [[Guido van Rossum]]
| developer = [[Python Software Foundation]]
| developer = Python core developers and the Python community
| latest release version = 3.1.3
| latest release version = 3.1.3
| latest release date = {{Start date and age|2010|11|27}}
| latest release date = {{Start date and age|2010|11|27}}

Revision as of 13:13, 5 December 2010

CPython
Developer(s)Python core developers and the Python community
Stable release
3.1.3 / November 27, 2010; 13 years ago (2010-11-27)
Repository
Written inC
PlatformCross-platform
TypePython Programming Language Interpreter
LicensePython Software Foundation License
WebsitePython.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, as well as 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

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.

  • DOS (unsupported since 2.0)
  • IRIX 4 (unsupported since 2.3)
  • Mac OS 9 (unsupported since 2.4)
  • MINIX (unsupported since 2.3)

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.

Concurrency issues

A drawback to using CPython on a multiprocessor 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 multiprocessor environment, separate CPython interpreter processes have to be run, which makes establishing communication between them a difficult task. There is constant discussion whether to remove the GIL from CPython.[2]

Notes

  1. ^ Martelli, Alex (2006). Python in a Nutshell (2nd edition ed.). O'Reilly. pp. 5–7. ISBN 0-596-10046-9. {{cite book}}: |edition= has extra text (help)

References