gmpy icon indicating copy to clipboard operation
gmpy copied to clipboard

Impending release of gmpy2 2.2.0a2

Open casevh opened this issue 1 year ago • 10 comments
trafficstars

I would like to release version 2.2.0a2 tomorrow. I have tagged the 2.2.0a2 code and uploaded a subset of the binary wheels to

https://github.com/aleaxit/gmpy/releases/tag/gmpy2-2.2.0a2

Please test any of the subset of the binary wheels if you can.

casevh avatar Dec 19 '23 06:12 casevh

You forgot to include header files (gmp.h, etc), as it was promised in https://github.com/aleaxit/gmpy/issues/352#issuecomment-1839013507

skirpichev avatar Dec 20 '23 05:12 skirpichev

They are included in the Windows wheels (barring symlink corruption). #352 is related to building in the WIndows environment.

I am against supporting Cython extensions that link against gmpy2 binary wheels on Linux. Both gmpy2 and the Cython extensions should be compiled against OS provided libraries. See https://github.com/aleaxit/gmpy/issues/447#issuecomment-1863918702 for more details.

casevh avatar Dec 20 '23 06:12 casevh

I am against supporting Cython extensions that link against gmpy2 binary wheels on Linux.

Then we should wipe all cython-related files from binary wheels and adjust documentation.

skirpichev avatar Dec 20 '23 06:12 skirpichev

See https://github.com/aleaxit/gmpy/issues/447#issuecomment-1863968348

Using Linux as an example...

Could we figure out a way to make a Linux Cython extension always see the same name-mangled libraries during a gmpy2 release cycle? Even if that means caching those version on github like I'm doing for Windows.

We need a different name (to avoid clashes) but we also need a consistent name.

That I could support.

casevh avatar Dec 20 '23 07:12 casevh

Scipy recently pacakged openblas as a separate wheel. See https://pypi.org/project/scipy-openblas64/ Maybe we can do the same here.

isuruf avatar Dec 20 '23 07:12 isuruf

I like it!

casevh avatar Dec 20 '23 07:12 casevh

Scipy recently pacakged openblas as a separate wheel. See https://pypi.org/project/scipy-openblas64/ Maybe we can do the same here.

I'll note that SciPy uses those wheels for local development and in CI, but in the released wheels is still vendoring OpenBLAS. The problem we still have with relying on separate binary wheels is that Python packaging standards prescribe that the wheels of your package cannot have a build or runtime dependency that the sdist doesn't also have. And since we cannot add scipy-openblas32 as a dependency to an sdist (this isn't correct for an sdist, and it would break building with --no-binary :all:), this is a blocker for now.

rgommers avatar Dec 28 '23 13:12 rgommers

Thanks for your work on the new release ❤️

Is there a time line for the 2.2 release? It is needed to get Python 3.12 support (in a couple of downstream packages like sage).

tobiasdiez avatar Feb 14 '24 05:02 tobiasdiez

@casevh, probably this could be closed?

2.2.0a2 is available on the Github releases page, with some binary wheels included. But it's missing on PyPI.

skirpichev avatar Mar 25 '24 05:03 skirpichev

2.2.0a2 is available on the Github releases page, with some binary wheels included. But it's missing on PyPI.

CC #476

hartwork avatar Apr 20 '24 21:04 hartwork