CPython
# CPython

CPython é a implementação principal da linguagem de programação Python, escrita em linguagem C. É desenvolvida e mantida por Guido Van Rossum e diversos outros desenvolvedores espalhados pelo mundo.
CPython é um interpretador de bytecode. Ele possui uma interface funcional em diversas linguagens incluindo C, na qual os bindings podem ser escritos explicitamente em qualquer outra linguagem diferente de Python.

## Plataformas suportadas anteriormente

A proposta de melhoria do Python 11 (PEP 11) lista as plataformas que não são suportadas em CPython por Python Software Foundation. Estas plataformas podem ainda ser suportadas por portas externas.
* DOS (não suportado a partir da versão 2.0)
* IRIX 4 (não suportado a partir da versão 2.3)
* Mac OS 9 (não suportado a partir da versão 2.4)
* MINIX (não suportado a partir da versão 2.3)

### Enterprise Linux

Essas versões do Python são distribuídas com distribuições empresariais Linux atualmente suportadas. O status de suporte do Python na tabela refere-se ao suporte da equipe principal do Python, e não do mantenedor da distribuição.

## Portas externas

Portas externas são portas não integradas à versão oficial de CPython. Portas incluem frequentemente módulos adicionais para funcionalidades específicas de certas plataformas, como API's gráficos e de som para PSP, SMS e para câmeras S60.
* Amiga: AmigaPython
* AS/400: iSeriesPython
* DOS usando DJGPP: PythonD
* PlayStation Portable: Stackless Python para PSP
* Symbian OS: Python para S60
* Windows CE/Pocket PC: porta Python para Windows CE

## Rotinas concorrentes

A principal dificuldade em utilizar CPython em um computador multiprocessado é a presença de um Global Interpreter Lock em cada processo do interpretador CPython, o qual efetivamente desativa subrotinas concorrentes de um processo em Python. Para ser verdadeiramente concorrentes em um ambiente multiprocessado, processos distintos do interpretador CPython precisam estar rodando, o que faz com que a comunicação entre as tarefas seja dificultado. Há uma constante discussão entre remover o GIL de CPython.
Embora muitas propostas tenham sido feitas para eliminar o GIL, o consenso geral é que, na maioria dos casos, as vantagens do GIL superam as desvantagens; nos poucos casos em que o GIL é um gargalo, o aplicativo deve ser construído em torno da estrutura de multiprocessamento.