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

Vitja Makarov vitja.makarov at gmail.com
Mon Jul 18 19:33:54 CEST 2011


2011/7/18 Chris Colbert <sccolbert at gmail.com>:
>
>
> On Mon, Jul 18, 2011 at 12:14 PM, Lisandro Dalcin <dalcinl at gmail.com> wrote:
>>
>> On 18 July 2011 06:38, Vitja Makarov <vitja.makarov at gmail.com> wrote:
>> > cdef enum:
>> >     EV_READ  = 1
>> >     EV_WRITE = 2
>> >
>> > Is there a way to put this constants into module dict?
>> > I want to access this constants from pure python code, I tried this way:
>> >
>> > globals()['EV_READ'] = EV_READ
>> > globals()['EV_WRITE'] = EV_WRITE
>> >
>> > But I don't like it, is there any other way?
>> >
>>
>> cdef public enum:
>>    EV_READ  = 1
>>    EV_WRITE = 2
>>
>> However, I do not like it, because I would like to use "public" for
>> other meaning (API generation). Also note that using "public" will
>> trigger the generation of a header file.
>>
>> Perhaps we should support "cpdef enum: ..."
>>
>>
>
> cpdef enum would be awesome.

I've created pull request:

https://github.com/cython/cython/pull/45


-- 
vitja.


More information about the cython-devel mailing list