Я заинтересован в передаче данных между Python и кодом Cython, чтобы данные были доступны из C и без GIL. Я думаю о достижении этого с помощью классов данных (начиная с py3.7), именованных кортежей (с хорошим определяющим синтаксисом начиная с py3.6) или типов расширения Cython (cdef classess).
К сожалению, классы данных и именованные кортежи, похоже, обрабатываются как универсальные объекты из Cython без какой-либо поддержки компиляции в C.
Можно использовать типы расширений Cython (классы cdef), но они имеют много недостатков по сравнению с классами данных. Самое главное, вы должны реализовать __init__
с шаблонным кодом для установки всех атрибутов вашего класса, верно?