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

Vitja Makarov vitja.makarov at gmail.com
Tue Jul 19 08:26:25 CEST 2011


2011/7/19 Robert Bradshaw <robertwb at math.washington.edu>:
> On Mon, Jul 18, 2011 at 10:24 PM, Vitja Makarov <vitja.makarov at gmail.com> wrote:
>> 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:
>>        EV_READ
>>        EV_WRITE
>
> I'd rather avoid adding another keyword unless it is truly necessary.
>

I agree.

Is Trevor's branch ready for merge?
I see last commit was made in march
https://github.com/wking/cython/commits/cdef-enums-stucts-and-unions


-- 
vitja.


More information about the cython-devel mailing list