Stefan Behnel | 26 Jun 2012 22:36
Picon
Favicon

[Cython] planning for 0.17

Hi,

I'd like to get an idea of what's still open for 0.17.

Mark mentioned some open memoryview issues on his list and I know that
there are still issues with PyPy, some of which could get fixed in a
reasonable time frame. Also, Jenkins isn't all that happy yet.

https://sage.math.washington.edu:8091/hudson/job/cython-devel-tests/

What's the current state of the master branch for everyone? Anything that
you're working on and/or that you think should go in but isn't yet?

I would like to see 0.17 released some time next month, if possible. I
don't currently see any real blockers, so that might be doable.

The release notes look ok so far, but the bug tracker list is really short
in comparison. Please add to both as you see fit.

http://wiki.cython.org/ReleaseNotes-0.17

http://trac.cython.org/cython_trac/query?status=closed&group=component&order=id&col=id&col=summary&col=milestone&col=status&col=type&col=priority&col=component&milestone=0.17&desc=1

Stefan
Vitja Makarov | 27 Jun 2012 06:29
Picon
Gravatar

Re: [Cython] planning for 0.17

2012/6/27 Stefan Behnel <stefan_ml@...>:
> Hi,
>
> I'd like to get an idea of what's still open for 0.17.
>
> Mark mentioned some open memoryview issues on his list and I know that
> there are still issues with PyPy, some of which could get fixed in a
> reasonable time frame. Also, Jenkins isn't all that happy yet.
>
> https://sage.math.washington.edu:8091/hudson/job/cython-devel-tests/
>
> What's the current state of the master branch for everyone? Anything that
> you're working on and/or that you think should go in but isn't yet?
>

I'm ok with it.

> I would like to see 0.17 released some time next month, if possible. I
> don't currently see any real blockers, so that might be doable.
>
> The release notes look ok so far, but the bug tracker list is really short
> in comparison. Please add to both as you see fit.
>
> http://wiki.cython.org/ReleaseNotes-0.17
>
> http://trac.cython.org/cython_trac/query?status=closed&group=component&order=id&col=id&col=summary&col=milestone&col=status&col=type&col=priority&col=component&milestone=0.17&desc=1
>

I've updated T766's milstone from 0.16 to 0.17 as it didn't get into
0.16 release.
(Continue reading)

Stefan Behnel | 27 Jun 2012 09:40
Picon
Favicon

Re: [Cython] planning for 0.17

Vitja Makarov, 27.06.2012 06:29:
> I've updated T766's milstone from 0.16 to 0.17 as it didn't get into
> 0.16 release.

Could you add it to the release notes then?

Stefan
Vitja Makarov | 27 Jun 2012 11:17
Picon
Gravatar

Re: [Cython] planning for 0.17

2012/6/27 Stefan Behnel <stefan_ml@...>:
> Vitja Makarov, 27.06.2012 06:29:
>> I've updated T766's milstone from 0.16 to 0.17 as it didn't get into
>> 0.16 release.
>
> Could you add it to the release notes then?
>

I think it's too minor change to be listed in release notes.

--

-- 
vitja.
mark florisson | 27 Jun 2012 11:54
Picon
Gravatar

Re: [Cython] planning for 0.17

On 26 June 2012 21:36, Stefan Behnel <stefan_ml@...> wrote:
> Hi,
>
> I'd like to get an idea of what's still open for 0.17.
>
> Mark mentioned some open memoryview issues on his list and I know that
> there are still issues with PyPy, some of which could get fixed in a
> reasonable time frame. Also, Jenkins isn't all that happy yet.
>
> https://sage.math.washington.edu:8091/hudson/job/cython-devel-tests/
>
> What's the current state of the master branch for everyone? Anything that
> you're working on and/or that you think should go in but isn't yet?
>
> I would like to see 0.17 released some time next month, if possible. I
> don't currently see any real blockers, so that might be doable.
>
> The release notes look ok so far, but the bug tracker list is really short
> in comparison. Please add to both as you see fit.
>
> http://wiki.cython.org/ReleaseNotes-0.17
>
> http://trac.cython.org/cython_trac/query?status=closed&group=component&order=id&col=id&col=summary&col=milestone&col=status&col=type&col=priority&col=component&milestone=0.17&desc=1
>
> Stefan
> _______________________________________________
> cython-devel mailing list
> cython-devel@...
> http://mail.python.org/mailman/listinfo/cython-devel

(Continue reading)

Stefan Behnel | 27 Jun 2012 13:59
Picon
Favicon

Re: [Cython] planning for 0.17

mark florisson, 27.06.2012 11:54:
> if anyone would like to pick up the  release for 0.17, I'd be much
> obliged.

I think I can handle it. :)

> I can't test it right now, but I don't understand the following in the
> release notes (regarding array.array): "Note that only the buffer
> syntax is supported for these arrays. To use memoryviews with them,
> use the buffer syntax to unpack the buffer first.". Why is that, it
> implements __getbuffer__ right? So it shouldn't matter whether you use
> memoryviews or buffer syntax, both use __Pyx_GetBuffer().

The problem is that arrayarray.pxd is only used when the exporter is typed.
This means that you can't do this:

    def func(int[:] arr): pass

    func(array.array('i', [1,2,3]))

but it will work if func() is defined like this:

    def func(array.array arr):
        cdef int[:] view = arr

I admit that the wording in the release notes is wrong, I wrote it because
I initially thought that you had to do this:

    def func(array.array[int] arr):
        cdef int[:] view = arr
(Continue reading)

mark florisson | 27 Jun 2012 14:17
Picon
Gravatar

Re: [Cython] planning for 0.17

On 27 June 2012 12:59, Stefan Behnel <stefan_ml <at> behnel.de> wrote:
> mark florisson, 27.06.2012 11:54:
>> if anyone would like to pick up the  release for 0.17, I'd be much
>> obliged.
>
> I think I can handle it. :)
>

Great, thanks!

>> I can't test it right now, but I don't understand the following in the
>> release notes (regarding array.array): "Note that only the buffer
>> syntax is supported for these arrays. To use memoryviews with them,
>> use the buffer syntax to unpack the buffer first.". Why is that, it
>> implements __getbuffer__ right? So it shouldn't matter whether you use
>> memoryviews or buffer syntax, both use __Pyx_GetBuffer().
>
> The problem is that arrayarray.pxd is only used when the exporter is typed.
> This means that you can't do this:
>
>    def func(int[:] arr): pass
>
>    func(array.array('i', [1,2,3]))

That works for me, as long and array is cimported from cpython (as
'array' or some other name). It will patch __Pyx_GetBuffer with a
typecheck and a call to its __getbuffer__ method.

> but it will work if func() is defined like this:
>
(Continue reading)

Stefan Behnel | 27 Jun 2012 14:48
Picon
Favicon

Re: [Cython] planning for 0.17

mark florisson, 27.06.2012 14:17:
> On 27 June 2012 12:59, Stefan Behnel wrote:
>> mark florisson, 27.06.2012 11:54:
>>> I can't test it right now, but I don't understand the following in the
>>> release notes (regarding array.array): "Note that only the buffer
>>> syntax is supported for these arrays. To use memoryviews with them,
>>> use the buffer syntax to unpack the buffer first.". Why is that, it
>>> implements __getbuffer__ right? So it shouldn't matter whether you use
>>> memoryviews or buffer syntax, both use __Pyx_GetBuffer().
>>
>> The problem is that arrayarray.pxd is only used when the exporter is typed.
>> This means that you can't do this:
>>
>>    def func(int[:] arr): pass
>>
>>    func(array.array('i', [1,2,3]))
> 
> That works for me, as long and array is cimported from cpython (as
> 'array' or some other name). It will patch __Pyx_GetBuffer with a
> typecheck and a call to its __getbuffer__ method.

Hmm, interesting. I keep learning. I'll add tests for that.

For the memoryview_type and array_type checks, wouldn't a type identity
test be enough instead of a PyObject_TypeCheck() ?

Stefan
mark florisson | 27 Jun 2012 15:03
Picon
Gravatar

Re: [Cython] planning for 0.17

On 27 June 2012 13:48, Stefan Behnel <stefan_ml <at> behnel.de> wrote:
> mark florisson, 27.06.2012 14:17:
>> On 27 June 2012 12:59, Stefan Behnel wrote:
>>> mark florisson, 27.06.2012 11:54:
>>>> I can't test it right now, but I don't understand the following in the
>>>> release notes (regarding array.array): "Note that only the buffer
>>>> syntax is supported for these arrays. To use memoryviews with them,
>>>> use the buffer syntax to unpack the buffer first.". Why is that, it
>>>> implements __getbuffer__ right? So it shouldn't matter whether you use
>>>> memoryviews or buffer syntax, both use __Pyx_GetBuffer().
>>>
>>> The problem is that arrayarray.pxd is only used when the exporter is typed.
>>> This means that you can't do this:
>>>
>>>    def func(int[:] arr): pass
>>>
>>>    func(array.array('i', [1,2,3]))
>>
>> That works for me, as long and array is cimported from cpython (as
>> 'array' or some other name). It will patch __Pyx_GetBuffer with a
>> typecheck and a call to its __getbuffer__ method.
>
> Hmm, interesting. I keep learning. I'll add tests for that.
>
> For the memoryview_type and array_type checks, wouldn't a type identity
> test be enough instead of a PyObject_TypeCheck() ?
>
> Stefan
> _______________________________________________
> cython-devel mailing list
(Continue reading)

Stefan Behnel | 27 Jun 2012 15:09
Picon
Favicon

Re: [Cython] planning for 0.17

mark florisson, 27.06.2012 15:03:
> On 27 June 2012 13:48, Stefan Behnel wrote:
>> mark florisson, 27.06.2012 14:17:
>>> That works for me, as long and array is cimported from cpython (as
>>> 'array' or some other name). It will patch __Pyx_GetBuffer with a
>>> typecheck and a call to its __getbuffer__ method.
>>
>> For the memoryview_type and array_type checks, wouldn't a type identity
>> test be enough instead of a PyObject_TypeCheck() ?
> 
> Well, you want it to work for subclasses as well.

Fine with me.

> I think the only
> thing that doesn't work (pre-2.6), is overriding __getbuffer__ in a
> subclass outside of the module or pxd. For memoryviews, since each
> module has a different memoryview type, I inject a capsule in tp_dict,
> which __Pyx_GetBuffer checks for (it's called __pyx_getbuffer and
> __pyx_releasebuffer).

I'm sure it'll be a lot of fun to rip that out when we finally drop support
for Python 2.5 ...

Stefan
mark florisson | 21 Jul 2012 20:48
Picon
Gravatar

Re: [Cython] planning for 0.17

On 26 June 2012 21:36, Stefan Behnel <stefan_ml@...> wrote:
> Hi,
>
> I'd like to get an idea of what's still open for 0.17.
>
> Mark mentioned some open memoryview issues on his list and I know that
> there are still issues with PyPy, some of which could get fixed in a
> reasonable time frame. Also, Jenkins isn't all that happy yet.
>
> https://sage.math.washington.edu:8091/hudson/job/cython-devel-tests/

Jenkins is blue now, sorry for the holdup. I also updated the release
notes, are all contributors already in there?

> What's the current state of the master branch for everyone? Anything that
> you're working on and/or that you think should go in but isn't yet?
>
> I would like to see 0.17 released some time next month, if possible. I
> don't currently see any real blockers, so that might be doable.
>
> The release notes look ok so far, but the bug tracker list is really short
> in comparison. Please add to both as you see fit.
>
> http://wiki.cython.org/ReleaseNotes-0.17
>
> http://trac.cython.org/cython_trac/query?status=closed&group=component&order=id&col=id&col=summary&col=milestone&col=status&col=type&col=priority&col=component&milestone=0.17&desc=1
>
> Stefan
> _______________________________________________
> cython-devel mailing list
(Continue reading)

Stefan Behnel | 22 Jul 2012 21:42
Picon
Favicon

Re: [Cython] planning for 0.17

mark florisson, 21.07.2012 20:48:
> On 26 June 2012 21:36, Stefan Behnel wrote:
>> I'd like to get an idea of what's still open for 0.17.
>>
>> Mark mentioned some open memoryview issues on his list and I know that
>> there are still issues with PyPy, some of which could get fixed in a
>> reasonable time frame. Also, Jenkins isn't all that happy yet.
>>
>> https://sage.math.washington.edu:8091/hudson/job/cython-devel-tests/
> 
> Jenkins is blue now, sorry for the holdup.

Thanks!

> I also updated the release
> notes, are all contributors already in there?

I'm not sure they are. I haven't touched the list for a while, and I don't
think it was complete when I last did.

In any case, I'll take another look through my patch queue to make sure I
didn't forget anything and see that I can get out an alpha release next week.

Stefan


Gmane