[Cython] How to define C-consts in python module scope

Vitja Makarov vitja.makarov at gmail.com
Tue Jul 19 07:24:38 CEST 2011

2011/7/18 Robert Bradshaw <robertwb at math.washington.edu>:
> Trevor King and I discussed this quite a while back, but every time I
> got around to looking at his code (I don't think he ever created a
> formal pull request) something came up. The idea was that we could
> support cpdef structs and extern functions as well.

That's interesting, I think I shouldn't hurry with my pull request.

2011/7/19 Robert Bradshaw <robertwb at math.washington.edu>:
> On Mon, Jul 18, 2011 at 4:34 PM, Greg Ewing <greg.ewing at canterbury.ac.nz> wrote:
>> My suggestion is
>>  cdef exposed enum:
>>    ...
> I agree, public is an overloaded word. This meaning is analogous to
> its use for cdef class members. Perhaps we should use "api" for api
> generation, and public used for Python-level access, with cpdef being
> the preferred form for declaring Python-accessible types.

It seems to me that cpdef is more cythonic but exposed could be used
in this case:

cdef extern from "ev.h":
    exposed enum:


More information about the cython-devel mailing list