Estendendo e incorporando o interpretador Python

Neste documento descreveremos o desenvolvimento de módulos com C ou C++ para adicionar recursos ao interpretador Python criando novos módulos. Esses módulos podem não somente definir novas funções, mas também novos tipos de objetos e seu conjunto de métodos. O documento também descreve como incorporar o interpretador Python em outro aplicativo, de forma a utilizá-lo como sendo uma extensão da linguagem. Por fim, estudaremos como podemos compilar e fazer a vinculação dos módulos de extensão para que estes possam ser carregados dinamicamente (em tempo de execução) pelo interpretador, caso o sistema operacional subjacente suportar esse recurso.

This document assumes basic knowledge about C and Python. For an informal introduction to Python, see O tutorial do Python. A Referência da Linguagem Python gives a more formal definition of the language. Referência da bibliotecas embutidas do Python documents the built-in functions and object types, and The Python standard library documents the modules (both built-in and written in Python) that give the language its wide application range.

Para uma descrição detalhada de toda a API Python/C, consulte o Manual de referência da API C/Python separado.

Criando extensões sem ferramentas de terceiros

Esta seção do guia aborda a criação de extensões C e C++ sem assistência de ferramentas de terceiros. Destina-se principalmente aos criadores dessas ferramentas, em vez de ser uma maneira recomendada de criar suas próprias extensões C.

Ver também

PEP 489 – Inicialização de módulo extensão multifase

Incorporando o tempo de execução do CPython em uma aplicação maior

Às vezes, em vez de criar uma extensão que é executada dentro do interpretador Python como a aplicação principal, é desejável incorporar o tempo de execução do CPython em uma aplicação maior. Esta seção aborda alguns dos detalhes envolvidos para fazer isso com êxito.