scipy / weave

Weave - tools for including C/C++ code within Python code.
https://pypi.org/project/scipy-weave/
Other
55 stars 27 forks source link

Python 3 support #14

Closed zanellia closed 1 year ago

zanellia commented 4 years ago

I have made another attempt to port weave to Python 3 (I have merged https://github.com/scipy/weave/pull/2, which in turn extends https://github.com/scipy/weave/pull/1, into this PR). I am sure, many things could still be improved, but tests are passing. For now there is no support for Python 2. Is that still desirable these days?

rgommers commented 4 years ago

tests are passing.

Nice, thanks @zanellia.

Perhaps you could ping the other people who submitted a py3k PR for a first review?

For now there is no support for Python 2. Is that still desirable these days?

No, that's no longer needed. As long as we make sure the PyPI metadata is correct so pip install weave doesn't break for Python 2.7 users, then it's fine to drop it in master.

zanellia commented 4 years ago

Perhaps you could ping the other people who submitted a py3k PR for a first review?

Absolutely, that'd be very helpful @piannucci @ijstokes.

piannucci commented 4 years ago

Very nice! I've prepared 12e99717741f395abacb2731e09e3eb00f8866e9 to address some nits.

With regards to the diffs in weave/platform_info.py removing the return statement from check_sum: Andrea, can you clarify?

zanellia commented 4 years ago

Thanks a lot for the quick response and for the cleanup @piannucci! I have added your commit to the PR. Indeed you are right about check_sum(), I have pushed a fix (7cdd6d3).

rgommers commented 1 year ago

It seems this was forgotten about. This still looks quite good. Since I had to do some release work to rename the package to scipy-weave, let me get this over the finish line and release it on PyPI as well.

All tests still pass with Python 3.7, numpy 1.16.4, nose, and setuptools 59.2.0. I'll note that Python 3.10 removed the parser module, and setuptools changes to distutils newer than v60 are breaking things as well. But up to Python 3.9.x and setuptools 59.x things should work.

Given that we have a new package name, releasing this should be safe as long as pip install scipy-weave for Python 2.x doesn't pick it up.

rgommers commented 1 year ago

This is now available through pip install scipy-weave. That will install 0.19.0 for Python 3, and 0.18.0 for Python 2