- CPython is the reference implementation of the Python Interpreter, the Python Programming Language and the Python Standard Library and the associated tools.
- While the majority of the Python Standard Library is developed using Python, portions of it and the Python interpreter are developed using C.
- CPython is the implementation available for download from Python.org.
- Any new feature as it is implemented through the Python Enhancement Proposal (The PEP process) is generally implemented in the CPython first.
Development, Protection, Distribution and Licensing:
- CPython is developed and distributed by the Python Software Foundation.
- Python Software Foundation also manages the Intellectual Property Rights and the various processes of the Python Community.
- CPython is released under the GPL compatible open source license.
Contributing to Python Development:
- The Python Developer’s guide, provided by the Python Software Foundation details on how to contribute to the Python Programming language and the associated libraries.
- The Python Software Foundation has given the github repositories related to the Python development including the CPython at: Python Repositories.
The Global Interpreter Lock and CPython:
- One major issue associated with the CPython implementation is that the CPython uses Global Interpreter Lock(GIL), which prevents execution of Python byte code from multiple threads of a Python Program.
- When a Python thread is blocked for I/O or while performing long running operations like image processing and number crunching, it is taken out by the CPython interpreter and the thread will have to wait for the GIL again.
- A multithreaded Python program will not be able to effectively make use of the multiple cores present in a system due to the Global Interpreter Lock - GIL.