variables. Cython requires to know the complete inheritance Cython' std::map -> dict std::vector -> list . return value and raise it yourself, for example: cpdef/@ccall methods can override C methods: When subclassing an extension type with a Python class, specific type, something like struct MyExtensionTypeObject*. To get an exception