NumPy 1.26.0rc1 released
Charles R Harris <[email protected]> Wed, 6 Sep 2023 16:53:59 -0600
| Newsgroups | gmane.comp.python.scientific.devel,gmane.comp.python.numeric.general,gmane.comp.python.scientific.user |
|---|---|
| Message-ID | <CAB6mnxLqhmzTyXU0SsMokiSKK2t0cJgK6fvsQQfy6PaPnkRnUA@mail.gmail.com> |
--===============4530215893228745728== Content-Type: multipart/alternative; boundary="00000000000020aa8d0604b89fcc" --00000000000020aa8d0604b89fcc Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi All, On behalf of the NumPy team, I'm pleased to announce the release of NumPy 1.26.0rc1. The NumPy 1.26.0 release is a continuation of the 1.25.x release cycle with the addition of Python 3.12.0 support. Python 3.12 dropped distutils, consequently supporting it required finding a replacement for the setup.py/distutils based build system NumPy was using. We have chosen to use the Meson build system instead, and this is the first NumPy release supporting it. This is also the first release that supports Cython 3.0 in addition to retaining 0.29.X compatibility. Supporting those two upgrades was a large project, over 100 files have been touched in this release. The changelog doesn't capture the full extent of the work, special thanks to Ralf Gommers, Sayed Adel, St=C3=A9fan van der Walt, and Matti Picus who did= much of the work in the main development branch. The highlights of this release are: - Python 3.12.0 support. - Cython 3.0.0 compatibility. - Use of the Meson build system - Updated SIMD support - f2py fixes, meson and bind(x) support - Support for the updated Accelerate BLAS/LAPACK library The Python versions supported by this release are 3.9-3.12. Note that no 32 bit wheels are provided. Wheels can be downloaded from PyPI <https://pypi.org/project/numpy/1.26.0rc1/>; source archives, release notes, and wheel hashes are available on Github <https://github.com/numpy/numpy/releases/tag/v1.26.0rc1> *Contributors* A total of 18 people contributed to this release. People with a \"+\" by their names contributed a patch for the first time. - @DWesl - Albert Steppi + - Bas van Beek - Charles Harris - Developer-Ecosystem-Engineering - Jake Vanderplas - Marten van Kerkwijk - Matti Picus - Melissa Weber Mendon=C3=A7a - Namami Shanker - Nathan Goldbaum - Ralf Gommers - Rohit Goswami - Sayed Adel - Sebastian Berg - Stefan van der Walt - Tyler Reddy - Warren Weckesser *Build system changes* In this release, NumPy has switched to Meson as the build system and meson-python as the build backend. Installing NumPy or building a wheel can be done with standard tools like ``pip`` and ``pypa/build``. The following are supported: - Regular installs: ``pip install numpy`` or (in a cloned repo) ``pip install .`` - Building a wheel: ``python -m build`` (preferred), or ``pip wheel .`` - Editable installs: ``pip install -e . --no-build-isolation`` - Development builds through the custom CLI implemented with spin <https://github.com/scientific-python/spin>: ``spin build``. All the regular ``pip`` and ``pypa/build`` flags (e.g., ``--no-build-isolation``) should work as expected. *NumPy-specific build customization* Many of the NumPy-specific ways of customizing builds have changed. The ``NPY_*`` environment variables which control BLAS/LAPACK, SIMD, threading, and other such options are no longer supported, nor is a ``site.cfg`` file to select BLAS and LAPACK. Instead, there are command-line flags that can be passed to the build via ``pip``/``build``'s config-settings interface. Thes= e flags are all listed in the ``meson_options.txt`` file in the root of the repo. Detailed documented will be available before the final 1.26.0 release; for now, please see `the SciPy building from source <http://scipy.github.io/devdocs/building/index.html> docs since most build customization works in an almost identical way in SciPy as it does in NumPy. *Build dependencies* While the runtime dependencies of NumPy have not changed, the build dependencies have. Because we temporarily vendor Meson and meson-python, there are several new dependencies - please see the ``[build-system]`` section of ``pyproject.toml`` for details. *Troubleshooting* This build system change is quite large. In case of unexpected issues, it i= s still possible to use a ``setup.py``-based build as a temporary workaround (on Python 3.9-3.11, not 3.12), by copying ``pyproject.toml.setuppy`` to ``pyproject.toml``. However, please open an issue with details on the NumPy issue tracker. We aim to phase out ``setup.py`` builds as soon as possible, and therefore would like to see all potential blockers surfaced early on in the 1.26.0 release cycle. Cheers, Charles Harris --00000000000020aa8d0604b89fcc Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><div dir=3D"ltr">Hi All,<br><br>On behalf of the NumPy tea= m, I'm pleased to announce the release of NumPy 1.26.0rc1. The NumPy 1.= 26.0 release is a continuation of the 1.25.x release cycle with the additio= n of Python 3.12.0 support. Python 3.12 dropped distutils, consequently sup= porting it required finding a replacement for the=C2=A0<a href=3D"http://se= tup.py/distutils" target=3D"_blank">setup.py/distutils</a>=C2=A0based build= system NumPy was using. We have chosen to use the Meson build system inste= ad, and this is the first NumPy release supporting it. This is also the fir= st release that supports Cython 3.0 in addition to retaining 0.29.X compati= bility. Supporting those two upgrades was a large project, over 100 files h= ave been touched in this release. The changelog doesn't capture the ful= l extent of the work, special thanks to Ralf Gommers, Sayed Adel, St=C3=A9f= an van der Walt, and Matti Picus who did much of the work in the main devel= opment branch.<br><br>The highlights of this release are:<br><ul><li style= =3D"margin-left:15px">Python 3.12.0 support.</li><li style=3D"margin-left:1= 5px">Cython 3.0.0 compatibility.</li><li style=3D"margin-left:15px">Use of = the Meson build system</li><li style=3D"margin-left:15px">Updated SIMD supp= ort</li><li style=3D"margin-left:15px">f2py fixes, meson and bind(x) suppor= t<br></li><li style=3D"margin-left:15px">Support for the updated Accelerate= BLAS/LAPACK library<br></li></ul>The Python versions supported by this rel= ease are 3.9-3.12. Note that no 32 bit wheels are provided. Wheels can be d= ownloaded from=C2=A0<a href=3D"https://pypi.org/project/numpy/1.26.0rc1/" t= arget=3D"_blank">PyPI</a>;=C2=A0source archives, release notes, and wheel h= ashes are available on=C2=A0<a href=3D"https://github.com/numpy/numpy/relea= ses/tag/v1.26.0rc1" target=3D"_blank">Github</a></div><div dir=3D"ltr"><br>= </div><div dir=3D"ltr"><br></div><div><b>Contributors</b><br><br>A total of= 18 people contributed to this release. People with a \"+\" by th= eir names contributed a patch for the first time.</div><div><ul><li>@DWesl<= /li><li>Albert Steppi +</li><li>Bas van Beek</li><li>Charles Harris</li><li= >Developer-Ecosystem-Engineering</li><li>Jake Vanderplas</li><li>Marten van= Kerkwijk</li><li>Matti Picus</li><li>Melissa Weber Mendon=C3=A7a</li><li>N= amami Shanker</li><li>Nathan Goldbaum</li><li>Ralf Gommers</li><li>Rohit Go= swami</li><li>Sayed Adel</li><li>Sebastian Berg</li><li>Stefan van der Walt= </li><li>Tyler Reddy</li><li>Warren Weckesser</li></ul></div><div dir=3D"lt= r"><div><b><br></b></div><div><b>Build system changes<br></b><br>In this re= lease, NumPy has switched to Meson as the build system and<br>meson-python = as the build backend. Installing NumPy or building a wheel can be<br>done w= ith standard tools like ``pip`` and ``pypa/build``. The following are<br>su= pported:<br><ul><li style=3D"margin-left:15px">Regular installs: ``<font fa= ce=3D"monospace">pip install numpy</font>`` or (in a cloned repo) ``<font f= ace=3D"monospace">pip install .</font>``</li><li style=3D"margin-left:15px"= >Building a wheel: ``<font face=3D"monospace">python -m build</font>`` (pre= ferred), or ``<font face=3D"monospace">pip wheel .</font>``</li><li style= =3D"margin-left:15px">Editable installs: ``<font face=3D"monospace">pip ins= tall -e . --no-build-isolation</font>``</li><li style=3D"margin-left:15px">= Development builds through the custom CLI implemented with=C2=A0<a href=3D"= https://github.com/scientific-python/spin" target=3D"_blank">spin</a>: ``<f= ont face=3D"monospace">spin build</font>``.</li></ul>All the regular ``<fon= t face=3D"monospace">pip</font>`` and ``<font face=3D"monospace">pypa/build= </font>`` flags (e.g.,<br>``<font face=3D"monospace">--no-build-isolation</= font>``) should work as expected.</div><div><br></div><div><i>NumPy-specifi= c build customization<br></i><br>Many of the NumPy-specific ways of customi= zing builds have changed.<br>The ``<font face=3D"monospace">NPY_*</font>`` = environment variables which control BLAS/LAPACK, SIMD, threading,<br>and ot= her such options are no longer supported, nor is a ``<font face=3D"monospac= e">site.cfg</font>`` file to<br>select BLAS and LAPACK. Instead, there are = command-line flags that can be<br>passed to the build via ``<font face=3D"m= onospace">pip</font>``/``<font face=3D"monospace">build</font>``'s conf= ig-settings interface. These<br>flags are all listed in the ``<font face=3D= "monospace">meson_options.txt</font>`` file in the root of the repo.<br>Det= ailed documented will be available before the final 1.26.0 release; for now= ,<br>please see `the SciPy=C2=A0<a href=3D"http://scipy.github.io/devdocs/b= uilding/index.html" target=3D"_blank">building from source</a>=C2=A0docs si= nce most build customization</div><div>works in an almost identical way in = SciPy as it does in NumPy.<br><br><i>Build dependencies<br></i><br>While th= e runtime dependencies of NumPy have not changed, the build<br>dependencies= have. Because we temporarily vendor Meson and meson-python,<br>there are s= everal new dependencies - please see the ``<font face=3D"monospace">[build-= system]</font>`` section<br>of ``<font face=3D"monospace">pyproject.toml</f= ont>`` for details.<br></div><div><br></div><div><i><font face=3D"arial, sa= ns-serif">Troubleshooting</font></i><br><br>This build system change is qui= te large. In case of unexpected issues, it is<br>still possible to use a ``= <font face=3D"monospace">setup.py</font>``-based build as a temporary worka= round (on<br>Python 3.9-3.11, not 3.12), by copying ``<font face=3D"monospa= ce">pyproject.toml.setuppy</font>`` to<br>``<font face=3D"monospace">pyproj= ect.toml</font>``. However, please open an issue with details on the NumPy<= br>issue tracker. We aim to phase out ``<font face=3D"monospace">setup.py</= font>`` builds as soon as possible, and<br>therefore would like to see all = potential blockers surfaced early on in the<br>1.26.0 release cycle.<br><br= ></div><div><br></div><div>Cheers,</div><div><br></div><div>Charles Harris<= /div></div></div> --00000000000020aa8d0604b89fcc-- --===============4530215893228745728== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ SciPy-Dev mailing list -- [email protected] To unsubscribe send an email to [email protected] https://mail.python.org/mailman3/lists/scipy-dev.python.org/ Member address: [email protected] --===============4530215893228745728==--