Публичный C API

Публичный C-API состоит из функций, определённых во всех заголовочных файлах C в каталоге py/. Большинство важных C API ядра среды выполнения находятся в runtime.h и obj.h.

Ниже приведён пример функций публичного API из obj.h:

mp_obj_t mp_obj_new_list(size_t n, mp_obj_t *items);
mp_obj_t mp_obj_list_append(mp_obj_t self_in, mp_obj_t arg);
mp_obj_t mp_obj_list_remove(mp_obj_t self_in, mp_obj_t value);
void mp_obj_list_get(mp_obj_t self_in, size_t *len, mp_obj_t **items);

По своей сути любые функции и макросы в заголовочных файлах составляют публичный API и могут использоваться для доступа к самым низкоуровневым деталям MicroPython. Статические встраиваемые (static inline) функции в заголовочных файлах также допустимы; такие функции будут встроены в код при использовании.

Заголовочные файлы в каталоге ports доступны только для функциональности, специфичной для конкретного порта.