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
2012/6/27 Stefan Behnel <stefan_ml@behnel.de>:
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.
I've updated T766's milstone from 0.16 to 0.17 as it didn't get into 0.16 release. -- vitja.
On 26 June 2012 21:36, Stefan Behnel <stefan_ml@behnel.de> 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
Stefan _______________________________________________ cython-devel mailing list cython-devel@python.org http://mail.python.org/mailman/listinfo/cython-devel
Hey, Sounds good, I'll have a look at the memoryview tests. One is due to numpy headers redefining PyIndex_Check (though I thought I fixed that previously). Defaults for fused def functions may also fail in some cases, I'll try to fix that as well, or issue an error otherwise for now. That said, I'm busy with a dissertation and some other stuff, so if anyone would like to pick up the release for 0.17, I'd be much obliged. 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(). Mark
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 But no, you don't have to use the buffer interface, you just have to type the variable. I'll update the release notes. Works better in Py3, obviously. Stefan
On 27 June 2012 12:59, Stefan Behnel <stefan_ml@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:
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
But no, you don't have to use the buffer interface, you just have to type the variable. I'll update the release notes.
Works better in Py3, obviously.
Stefan _______________________________________________ cython-devel mailing list cython-devel@python.org http://mail.python.org/mailman/listinfo/cython-devel
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
On 27 June 2012 13:48, Stefan Behnel <stefan_ml@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 cython-devel@python.org http://mail.python.org/mailman/listinfo/cython-devel
Well, you want it to work for subclasses as well. 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).
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
On 26 June 2012 21:36, Stefan Behnel <stefan_ml@behnel.de> 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
Stefan _______________________________________________ cython-devel mailing list cython-devel@python.org http://mail.python.org/mailman/listinfo/cython-devel
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
participants (3)
-
mark florisson -
Stefan Behnel -
Vitja Makarov