justvanrossum / fontgoggles

FontGoggles: Visual OTL Preview and QA
Apache License 2.0
399 stars 42 forks source link

Scheduled weekly dependency update for week 34 #428

Closed pyup-bot closed 1 month ago

pyup-bot commented 1 month ago

Update pytest from 8.2.2 to 8.3.2.

Changelog ### 8.3.1 ``` ========================= The 8.3.0 release failed to include the change notes and docs for the release. This patch release remedies this. There are no other changes. ``` ### 8.3.0 ``` ========================= New features ------------ - `12231 <https://github.com/pytest-dev/pytest/issues/12231>`_: Added `--xfail-tb` flag, which turns on traceback output for XFAIL results. * If the `--xfail-tb` flag is not given, tracebacks for XFAIL results are NOT shown. * The style of traceback for XFAIL is set with `--tb`, and can be `auto|long|short|line|native|no`. * Note: Even if you have `--xfail-tb` set, you won't see them if `--tb=no`. Some history: With pytest 8.0, `-rx` or `-ra` would not only turn on summary reports for xfail, but also report the tracebacks for xfail results. This caused issues with some projects that utilize xfail, but don't want to see all of the xfail tracebacks. This change detaches xfail tracebacks from `-rx`, and now we turn on xfail tracebacks with `--xfail-tb`. With this, the default `-rx`/ `-ra` behavior is identical to pre-8.0 with respect to xfail tracebacks. While this is a behavior change, it brings default behavior back to pre-8.0.0 behavior, which ultimately was considered the better course of action. -- by :user:`okken` - `12281 <https://github.com/pytest-dev/pytest/issues/12281>`_: Added support for keyword matching in marker expressions. Now tests can be selected by marker keyword arguments. Supported values are :class:`int`, (unescaped) :class:`str`, :class:`bool` & :data:`None`. See :ref:`marker examples <marker_keyword_expression_example>` for more information. -- by :user:`lovetheguitar` - `12567 <https://github.com/pytest-dev/pytest/issues/12567>`_: Added ``--no-fold-skipped`` command line option. If this option is set, then skipped tests in short summary are no longer grouped by reason but all tests are printed individually with their nodeid in the same way as other statuses. -- by :user:`pbrezina` Improvements in existing functionality -------------------------------------- - `12469 <https://github.com/pytest-dev/pytest/issues/12469>`_: The console output now uses the "third-party plugins" terminology, replacing the previously established but confusing and outdated reference to :std:doc:`setuptools <setuptools:index>` -- by :user:`webknjaz`. - `12544 <https://github.com/pytest-dev/pytest/issues/12544>`_, `#12545 <https://github.com/pytest-dev/pytest/issues/12545>`_: Python virtual environment detection was improved by checking for a :file:`pyvenv.cfg` file, ensuring reliable detection on various platforms -- by :user:`zachsnickers`. - `2871 <https://github.com/pytest-dev/pytest/issues/2871>`_: Do not truncate arguments to functions in output when running with `-vvv`. - `389 <https://github.com/pytest-dev/pytest/issues/389>`_: The readability of assertion introspection of bound methods has been enhanced -- by :user:`farbodahm`, :user:`webknjaz`, :user:`obestwalter`, :user:`flub` and :user:`glyphack`. Earlier, it was like: .. code-block:: console =================================== FAILURES =================================== _____________________________________ test _____________________________________ def test(): > assert Help().fun() == 2 E assert 1 == 2 E + where 1 = <bound method Help.fun of <example.Help instance at 0x256a830>>() E + where <bound method Help.fun of <example.Help instance at 0x256a830>> = <example.Help instance at 0x256a830>.fun E + where <example.Help instance at 0x256a830> = Help() example.py:7: AssertionError =========================== 1 failed in 0.03 seconds =========================== And now it's like: .. code-block:: console =================================== FAILURES =================================== _____________________________________ test _____________________________________ def test(): > assert Help().fun() == 2 E assert 1 == 2 E + where 1 = fun() E + where fun = <test_local.Help object at 0x1074be230>.fun E + where <test_local.Help object at 0x1074be230> = Help() test_local.py:13: AssertionError =========================== 1 failed in 0.03 seconds =========================== - `7662 <https://github.com/pytest-dev/pytest/issues/7662>`_: Added timezone information to the testsuite timestamp in the JUnit XML report. Bug fixes --------- - `11706 <https://github.com/pytest-dev/pytest/issues/11706>`_: Fixed reporting of teardown errors in higher-scoped fixtures when using `--maxfail` or `--stepwise`. Originally added in pytest 8.0.0, but reverted in 8.0.2 due to a regression in pytest-xdist. This regression was fixed in pytest-xdist 3.6.1. - `11797 <https://github.com/pytest-dev/pytest/issues/11797>`_: :func:`pytest.approx` now correctly handles :class:`Sequence <collections.abc.Sequence>`-like objects. - `12204 <https://github.com/pytest-dev/pytest/issues/12204>`_, `#12264 <https://github.com/pytest-dev/pytest/issues/12264>`_: Fixed a regression in pytest 8.0 where tracebacks get longer and longer when multiple tests fail due to a shared higher-scope fixture which raised -- by :user:`bluetech`. Also fixed a similar regression in pytest 5.4 for collectors which raise during setup. The fix necessitated internal changes which may affect some plugins: * ``FixtureDef.cached_result[2]`` is now a tuple ``(exc, tb)`` instead of ``exc``. * ``SetupState.stack`` failures are now a tuple ``(exc, tb)`` instead of ``exc``. - `12275 <https://github.com/pytest-dev/pytest/issues/12275>`_: Fixed collection error upon encountering an :mod:`abstract <abc>` class, including abstract `unittest.TestCase` subclasses. - `12328 <https://github.com/pytest-dev/pytest/issues/12328>`_: Fixed a regression in pytest 8.0.0 where package-scoped parameterized items were not correctly reordered to minimize setups/teardowns in some cases. - `12424 <https://github.com/pytest-dev/pytest/issues/12424>`_: Fixed crash with `assert testcase is not None` assertion failure when re-running unittest tests using plugins like pytest-rerunfailures. Regressed in 8.2.2. - `12472 <https://github.com/pytest-dev/pytest/issues/12472>`_: Fixed a crash when returning category ``"error"`` or ``"failed"`` with a custom test status from :hook:`pytest_report_teststatus` hook -- :user:`pbrezina`. - `12505 <https://github.com/pytest-dev/pytest/issues/12505>`_: Improved handling of invalid regex patterns in :func:`pytest.raises(match=r'...') <pytest.raises>` by providing a clear error message. - `12580 <https://github.com/pytest-dev/pytest/issues/12580>`_: Fixed a crash when using the cache class on Windows and the cache directory was created concurrently. - `6962 <https://github.com/pytest-dev/pytest/issues/6962>`_: Parametrization parameters are now compared using `==` instead of `is` (`is` is still used as a fallback if the parameter does not support `==`). This fixes use of parameters such as lists, which have a different `id` but compare equal, causing fixtures to be re-computed instead of being cached. - `7166 <https://github.com/pytest-dev/pytest/issues/7166>`_: Fixed progress percentages (the ``[ 87%]`` at the edge of the screen) sometimes not aligning correctly when running with pytest-xdist ``-n``. Improved documentation ---------------------- - `12153 <https://github.com/pytest-dev/pytest/issues/12153>`_: Documented using :envvar:`PYTEST_VERSION` to detect if code is running from within a pytest run. - `12469 <https://github.com/pytest-dev/pytest/issues/12469>`_: The external plugin mentions in the documentation now avoid mentioning :std:doc:`setuptools entry-points <setuptools:index>` as the concept is much more generic nowadays. Instead, the terminology of "external", "installed", or "third-party" plugins (or packages) replaces that. -- by :user:`webknjaz` - `12577 <https://github.com/pytest-dev/pytest/issues/12577>`_: `CI` and `BUILD_NUMBER` environment variables role is discribed in the reference doc. They now also appear when doing `pytest -h` -- by :user:`MarcBresson`. Contributor-facing changes -------------------------- - `12467 <https://github.com/pytest-dev/pytest/issues/12467>`_: Migrated all internal type-annotations to the python3.10+ style by using the `annotations` future import. -- by :user:`RonnyPfannschmidt` - `11771 <https://github.com/pytest-dev/pytest/issues/11771>`_, `#12557 <https://github.com/pytest-dev/pytest/issues/12557>`_: The PyPy runtime version has been updated to 3.9 from 3.8 that introduced a flaky bug at the garbage collector which was not expected to fix there as the 3.8 is EoL. -- by :user:`x612skm` - `12493 <https://github.com/pytest-dev/pytest/issues/12493>`_: The change log draft preview integration has been refactored to use a third party extension ``sphinxcontib-towncrier``. The previous in-repo script was putting the change log preview file at :file:`doc/en/_changelog_towncrier_draft.rst`. Said file is no longer ignored in Git and might show up among untracked files in the development environments of the contributors. To address that, the contributors can run the following command that will clean it up: .. code-block:: console $ git clean -x -i -- doc/en/_changelog_towncrier_draft.rst -- by :user:`webknjaz` - `12498 <https://github.com/pytest-dev/pytest/issues/12498>`_: All the undocumented ``tox`` environments now have descriptions. They can be listed in one's development environment by invoking ``tox -av`` in a terminal. -- by :user:`webknjaz` - `12501 <https://github.com/pytest-dev/pytest/issues/12501>`_: The changelog configuration has been updated to introduce more accurate audience-tailored categories. Previously, there was a ``trivial`` change log fragment type with an unclear and broad meaning. It was removed and we now have ``contrib``, ``misc`` and ``packaging`` in place of it. The new change note types target the readers who are downstream packagers and project contributors. Additionally, the miscellaneous section is kept for unspecified updates that do not fit anywhere else. -- by :user:`webknjaz` - `12502 <https://github.com/pytest-dev/pytest/issues/12502>`_: The UX of the GitHub automation making pull requests to update the plugin list has been updated. Previously, the maintainers had to close the automatically created pull requests and re-open them to trigger the CI runs. From now on, they only need to click the `Ready for review` button instead. -- by :user:`webknjaz` - `12522 <https://github.com/pytest-dev/pytest/issues/12522>`_: The ``:pull:`` RST role has been replaced with a shorter ``:pr:`` due to starting to use the implementation from the third-party :pypi:`sphinx-issues` Sphinx extension -- by :user:`webknjaz`. - `12531 <https://github.com/pytest-dev/pytest/issues/12531>`_: The coverage reporting configuration has been updated to exclude pytest's own tests marked as expected to fail from the coverage report. This has an effect of reducing the influence of flaky tests on the resulting number. -- by :user:`webknjaz` - `12533 <https://github.com/pytest-dev/pytest/issues/12533>`_: The ``extlinks`` Sphinx extension is no longer enabled. The ``:bpo:`` role it used to declare has been removed with that. BPO itself has migrated to GitHub some years ago and it is possible to link the respective issues by using their GitHub issue numbers and the ``:issue:`` role that the ``sphinx-issues`` extension implements. -- by :user:`webknjaz` - `12562 <https://github.com/pytest-dev/pytest/issues/12562>`_: Possible typos in using the ``:user:`` RST role is now being linted through the pre-commit tool integration -- by :user:`webknjaz`. ```
Links - PyPI: https://pypi.org/project/pytest - Changelog: https://data.safetycli.com/changelogs/pytest/

Update pytest-asyncio from 0.23.7 to 0.24.0.

Changelog ### 0.24.0 ``` - Adds an optional *loop_scope* keyword argument to *pytest.mark.asyncio*. This argument controls which event loop is used to run the marked async test. [706](https://github.com/pytest-dev/pytest-asyncio/issues/706), [#871](https://github.com/pytest-dev/pytest-asyncio/issues/871) - Deprecates the optional *scope* keyword argument to *pytest.mark.asyncio* for API consistency with ``pytest_asyncio.fixture``. Users are encouraged to use the *loop_scope* keyword argument, which does exactly the same. - Raises an error when passing *scope* or *loop_scope* as a positional argument to ``pytest.mark.asyncio``. [812](https://github.com/pytest-dev/pytest-asyncio/issues/812) ``` ### 0.23.8 ``` - Fixes a bug that caused duplicate markers in async tests [813](https://github.com/pytest-dev/pytest-asyncio/issues/813) Known issues As of v0.23, pytest-asyncio attaches an asyncio event loop to each item of the test suite (i.e. session, packages, modules, classes, functions) and allows tests to be run in those loops when marked accordingly. Pytest-asyncio currently assumes that async fixture scope is correlated with the new event loop scope. This prevents fixtures from being evaluated independently from the event loop scope and breaks some existing test suites (see [706](https://github.com/pytest-dev/pytest-asyncio/issues/706)). For example, a test suite may require all fixtures and tests to run in the same event loop, but have async fixtures that are set up and torn down for each module. If you're affected by this issue, please continue using the v0.21 release, until it is resolved. ```
Links - PyPI: https://pypi.org/project/pytest-asyncio - Changelog: https://data.safetycli.com/changelogs/pytest-asyncio/ - Repo: https://github.com/pytest-dev/pytest-asyncio

Update markdown from 3.6 to 3.7.

Changelog ### 3.7 ``` Changed Refactor `abbr` Extension A new `AbbrTreeprocessor` has been introduced, which replaces the now deprecated `AbbrInlineProcessor`. Abbreviation processing now happens after Attribute Lists, avoiding a conflict between the two extensions (1460). The `AbbrPreprocessor` class has been renamed to `AbbrBlockprocessor`, which better reflects what it is. `AbbrPreprocessor` has been deprecated. A call to `Markdown.reset()` now clears all previously defined abbreviations. Abbreviations are now sorted by length before executing `AbbrTreeprocessor` to ensure that multi-word abbreviations are implemented even if an abbreviation exists for one of those component words. (1465) Abbreviations without a definition are now ignored. This avoids applying abbr tags to text without a title value. Added an optional `glossary` configuration option to the abbreviations extension. This provides a simple and efficient way to apply a dictionary of abbreviations to every page. Abbreviations can now be disabled by setting their definition to `""` or `''`. This can be useful when using the `glossary` option. Fixed * Fixed links to source code on GitHub from the documentation (1453). ```
Links - PyPI: https://pypi.org/project/markdown - Changelog: https://data.safetycli.com/changelogs/markdown/

Update setuptools from 70.3.0 to 73.0.1.

Changelog ### 73.0.1 ``` ======= Bugfixes -------- - Remove `abc.ABCMeta` metaclass from abstract classes. `pypa/setuptools4503 <https://github.com/pypa/setuptools/pull/4503>`_ had an unintended consequence of causing potential ``TypeError: metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases`` -- by :user:`Avasam` (#4579) ``` ### 73.0.0 ``` ======= Features -------- - Mark abstract base classes and methods with `abc.ABC` and `abc.abstractmethod` -- by :user:`Avasam` (4503) - Changed the order of type checks in ``setuptools.command.easy_install.CommandSpec.from_param`` to support any `collections.abc.Iterable` of `str` param -- by :user:`Avasam` (4505) Bugfixes -------- - Prevent an error in ``bdist_wheel`` if ``compression`` is set to a `str` (even if valid) after finalizing options but before running the command. -- by :user:`Avasam` (4383) - Raises an exception when ``py_limited_api`` is used in a build with ``Py_GIL_DISABLED``. This is currently not supported (python/cpython111506). (4420) - Synced with pypa/distutils30b7331 including fix for modified check on empty sources (pypa/distutils284). Deprecations and Removals ------------------------- - ``setuptools`` is replacing the usages of :pypi:`ordered_set` with simple instances of ``dict[Hashable, None]``. This is done to remove the extra dependency and it is possible because since Python 3.7, ``dict`` maintain insertion order. (4574) Misc ---- - 4534, 4546, 4554, 4559, 4565 ``` ### 72.2.0 ``` ======= Features -------- - Merged with pypa/distutilsb7ee725f3 including: Support for Pathlike objects in data files and extensions (pypa/distutils272, pypa/distutils237), native support for C++ compilers (pypa/distuils228) and removed unused get_msvcr() (pypa/distutils274). (4538) ``` ### 72.1.0 ``` ======= Features -------- - Restore the tests command and deprecate access to the module. (4519) (4520) ``` ### 72.0.0 ``` ======= Deprecations and Removals ------------------------- - The test command has been removed. Users relying on 'setup.py test' will need to migrate to another test runner or pin setuptools before this version. (931) ``` ### 71.1.0 ``` ======= Features -------- - Added return types to typed public functions -- by :user:`Avasam` Marked `pkg_resources` as ``py.typed`` -- by :user:`Avasam` (4409) Misc ---- - 4492 ``` ### 71.0.4 ``` ======= Bugfixes -------- - Removed lingering unused code around Distribution._patched_dist. (4489) ``` ### 71.0.3 ``` ======= Bugfixes -------- - Reset the backports module when enabling vendored packages. (4476) ``` ### 71.0.2 ``` ======= Bugfixes -------- - Include all vendored files in the sdist. (4480) ``` ### 71.0.1 ``` ======= Bugfixes -------- - Restored package data that went missing in 71.0. This change also incidentally causes tests to be installed once again. (4475) ``` ### 71.0.0 ``` ======= Deprecations and Removals ------------------------- - Now setuptools declares its own dependencies in the ``core`` extra. Dependencies are still vendored for bootstrapping purposes, but setuptools will prefer installed dependencies if present. The ``core`` extra is used for informational purposes and should *not* be declared in package metadata (e.g. ``build-requires``). Downstream packagers can de-vendor by simply removing the ``setuptools/_vendor`` directory. Since Setuptools now prefers installed dependencies, those installing to an environment with old, incompatible dependencies will not work. In that case, either uninstall the incompatible dependencies or upgrade them to satisfy those declared in ``core``. (2825) ```
Links - PyPI: https://pypi.org/project/setuptools - Changelog: https://data.safetycli.com/changelogs/setuptools/

Update uharfbuzz from 0.39.3 to 0.39.5.

Changelog ### 0.39.5 ``` Fixed issue with PyPI deployment that caused the previous release to fail to upload. No actual code changes since v0.39.4. ``` ### 0.39.4 ``` Added ability to dynamically link the uharfbuzz extension module to an external harfbuzz library by setting the USE_SYSTEM_LIBS=1 environment variable (requires pkg-config) (45, 201). ```
Links - PyPI: https://pypi.org/project/uharfbuzz - Changelog: https://data.safetycli.com/changelogs/uharfbuzz/ - Repo: https://github.com/trufont/uharfbuzz

Update python-bidi from 0.4.2 to 0.6.0.

Changelog ### 0.6.0 ``` ----- * Added implemention selection (Python or Rust) to pybidi cli, respecting backward comapt * Restored older algorithm, supports both implementations closes 25 * Modernize and simplify Python code (Thanks Christian Clauss) ``` ### 0.5.2 ``` ----- * Added get_base_level backward compat * docstring cleanup ``` ### 0.5.1 ``` ------- * Added compat for older import, closes 23 * Updated copyrights ``` ### 0.5.0 ``` ----- Backwards incompatible changes! * Switched to using Rust based unicode-bidi using PyO3 * Dropped Python < 3.9 support * Removed "upper_is_rtl" * Import of ``get_display`` changed to ``from bidi import get_display`` ```
Links - PyPI: https://pypi.org/project/python-bidi - Changelog: https://data.safetycli.com/changelogs/python-bidi/

Update ufo2ft from 3.2.5 to 3.2.7.

Changelog ### 3.2.7 ``` - cursFeatureWriter: Remove stray print() ``` ### 3.2.6 ``` - kernFeatureWriter: Support sparse masters (859) - cursFeatureWriter: Support multiple entry/exit anchor pairs (863) ```
Links - PyPI: https://pypi.org/project/ufo2ft - Changelog: https://data.safetycli.com/changelogs/ufo2ft/ - Repo: https://github.com/googlefonts/ufo2ft

Update numpy from 2.0.0 to 2.1.0.

Changelog ### 2.1.0 ``` NumPy 2.1.0 provides support for the upcoming Python 3.13 release and drops support for Python 3.9. In addition to the usual bug fixes and updated Python support, it helps get us back into our usual release cycle after the extended development of 2.0. The highlights for this release are: - Support for the array-api 2023.12 standard. - Support for Python 3.13. - Preliminary support for free threaded Python 3.13. Python versions 3.10-3.13 are supported in this release. New functions New function `numpy.unstack` A new function `np.unstack(array, axis=...)` was added, which splits an array into a tuple of arrays along an axis. It serves as the inverse of [numpy.stack]{.title-ref}. ([gh-26579](https://github.com/numpy/numpy/pull/26579)) Deprecations - The `fix_imports` keyword argument in `numpy.save` is deprecated. Since NumPy 1.17, `numpy.save` uses a pickle protocol that no longer supports Python 2, and ignored `fix_imports` keyword. This keyword is kept only for backward compatibility. It is now deprecated. ([gh-26452](https://github.com/numpy/numpy/pull/26452)) - Passing non-integer inputs as the first argument of [bincount]{.title-ref} is now deprecated, because such inputs are silently cast to integers with no warning about loss of precision. ([gh-27076](https://github.com/numpy/numpy/pull/27076)) Expired deprecations - Scalars and 0D arrays are disallowed for `numpy.nonzero` and `numpy.ndarray.nonzero`. ([gh-26268](https://github.com/numpy/numpy/pull/26268)) - `set_string_function` internal function was removed and `PyArray_SetStringFunction` was stubbed out. ([gh-26611](https://github.com/numpy/numpy/pull/26611)) C API changes API symbols now hidden but customizable NumPy now defaults to hide the API symbols it adds to allow all NumPy API usage. This means that by default you cannot dynamically fetch the NumPy API from another library (this was never possible on windows). If you are experiencing linking errors related to `PyArray_API` or `PyArray_RUNTIME_VERSION`, you can define the `NPY_API_SYMBOL_ATTRIBUTE` to opt-out of this change. If you are experiencing problems due to an upstream header including NumPy, the solution is to make sure you `include "numpy/ndarrayobject.h"` before their header and import NumPy yourself based on `including-the-c-api`. ([gh-26103](https://github.com/numpy/numpy/pull/26103)) Many shims removed from npy_3kcompat.h Many of the old shims and helper functions were removed from `npy_3kcompat.h`. If you find yourself in need of these, vendor the previous version of the file into your codebase. ([gh-26842](https://github.com/numpy/numpy/pull/26842)) New `PyUFuncObject` field `process_core_dims_func` The field `process_core_dims_func` was added to the structure `PyUFuncObject`. For generalized ufuncs, this field can be set to a function of type `PyUFunc_ProcessCoreDimsFunc` that will be called when the ufunc is called. It allows the ufunc author to check that core dimensions satisfy additional constraints, and to set output core dimension sizes if they have not been provided. ([gh-26908](https://github.com/numpy/numpy/pull/26908)) New Features - `numpy.reshape` and `numpy.ndarray.reshape` now support `shape` and `copy` arguments. ([gh-26292](https://github.com/numpy/numpy/pull/26292)) - NumPy now supports DLPack v1, support for older versions will be deprecated in the future. ([gh-26501](https://github.com/numpy/numpy/pull/26501)) - `numpy.asanyarray` now supports `copy` and `device` arguments, matching `numpy.asarray`. ([gh-26580](https://github.com/numpy/numpy/pull/26580)) - `numpy.printoptions`, `numpy.get_printoptions`, and `numpy.set_printoptions` now support a new option, `override_repr`, for defining custom `repr(array)` behavior. ([gh-26611](https://github.com/numpy/numpy/pull/26611)) - `numpy.cumulative_sum` and `numpy.cumulative_prod` were added as Array API compatible alternatives for `numpy.cumsum` and `numpy.cumprod`. The new functions can include a fixed initial (zeros for `sum` and ones for `prod`) in the result. ([gh-26724](https://github.com/numpy/numpy/pull/26724)) - `numpy.clip` now supports `max` and `min` keyword arguments which are meant to replace `a_min` and `a_max`. Also, for `np.clip(a)` or `np.clip(a, None, None)` a copy of the input array will be returned instead of raising an error. ([gh-26724](https://github.com/numpy/numpy/pull/26724)) - `numpy.astype` now supports `device` argument. ([gh-26724](https://github.com/numpy/numpy/pull/26724)) `f2py` can generate freethreading-compatible C extensions Pass `--freethreading-compatible` to the f2py CLI tool to produce a C extension marked as compatible with the free threading CPython interpreter. Doing so prevents the interpreter from re-enabling the GIL at runtime when it imports the C extension. Note that `f2py` does not analyze fortran code for thread safety, so you must verify that the wrapped fortran code is thread safe before marking the extension as compatible. ([gh-26981](https://github.com/numpy/numpy/pull/26981)) Improvements `histogram` auto-binning now returns bin sizes \>=1 for integer input data For integer input data, bin sizes smaller than 1 result in spurious empty bins. This is now avoided when the number of bins is computed using one of the algorithms provided by `histogram_bin_edges`. ([gh-12150](https://github.com/numpy/numpy/pull/12150)) `ndarray` shape-type parameter is now covariant and bound to `tuple[int, ...]` Static typing for `ndarray` is a long-term effort that continues with this change. It is a generic type with type parameters for the shape and the data type. Previously, the shape type parameter could be any value. This change restricts it to a tuple of ints, as one would expect from using `ndarray.shape`. Further, the shape-type parameter has been changed from invariant to covariant. This change also applies to the subtypes of `ndarray`, e.g. `numpy.ma.MaskedArray`. See the [typing docs](https://typing.readthedocs.io/en/latest/reference/generics.html#variance-of-generic-types) for more information. ([gh-26081](https://github.com/numpy/numpy/pull/26081)) `np.quantile` with method `closest_observation` chooses nearest even order statistic This changes the definition of nearest for border cases from the nearest odd order statistic to nearest even order statistic. The numpy implementation now matches other reference implementations. ([gh-26656](https://github.com/numpy/numpy/pull/26656)) `lapack_lite` is now thread safe NumPy provides a minimal low-performance version of LAPACK named `lapack_lite` that can be used if no BLAS/LAPACK system is detected at build time. Until now, `lapack_lite` was not thread safe. Single-threaded use cases did not hit any issues, but running linear algebra operations in multiple threads could lead to errors, incorrect results, or segfaults due to data races. We have added a global lock, serializing access to `lapack_lite` in multiple threads. ([gh-26750](https://github.com/numpy/numpy/pull/26750)) The `numpy.printoptions` context manager is now thread and async-safe In prior versions of NumPy, the printoptions were defined using a combination of Python and C global variables. We have refactored so the state is stored in a python `ContextVar`, making the context manager thread and async-safe. ([gh-26846](https://github.com/numpy/numpy/pull/26846)) Performance improvements and changes - `numpy.save` now uses pickle protocol version 4 for saving arrays with object dtype, which allows for pickle objects larger than 4GB and improves saving speed by about 5% for large arrays. ([gh-26388](https://github.com/numpy/numpy/pull/26388)) - OpenBLAS on x86_64 and i686 is built with fewer kernels. Based on benchmarking, there are 5 clusters of performance around these kernels: `PRESCOTT NEHALEM SANDYBRIDGE HASWELL SKYLAKEX`. ([gh-27147](https://github.com/numpy/numpy/pull/27147)) - OpenBLAS on windows is linked without quadmath, simplifying licensing ([gh-27147](https://github.com/numpy/numpy/pull/27147)) - Due to a regression in OpenBLAS on windows, the performance improvements when using multiple threads for OpenBLAS 0.3.26 were reverted. ([gh-27147](https://github.com/numpy/numpy/pull/27147)) `ma.cov` and `ma.corrcoef` are now significantly faster The private function has been refactored along with `ma.cov` and `ma.corrcoef`. They are now significantly faster, particularly on large, masked arrays. ([gh-26285](https://github.com/numpy/numpy/pull/26285)) Changes - As `numpy.vecdot` is now a ufunc it has a less precise signature. This is due to the limitations of ufunc\'s typing stub. ([gh-26313](https://github.com/numpy/numpy/pull/26313)) - `numpy.floor`, `numpy.ceil`, and `numpy.trunc` now won\'t perform casting to a floating dtype for integer and boolean dtype input arrays. ([gh-26766](https://github.com/numpy/numpy/pull/26766)) `ma.corrcoef` may return a slightly different result A pairwise observation approach is currently used in `ma.corrcoef` to calculate the standard deviations for each pair of variables. This has been changed as it is being used to normalise the covariance, estimated using `ma.cov`, which does not consider the observations for each variable in a pairwise manner, rendering it unnecessary. The normalisation has been replaced by the more appropriate standard deviation for each variable, which significantly reduces the wall time, but will return slightly different estimates of the correlation coefficients in cases where the observations between a pair of variables are not aligned. However, it will return the same estimates in all other cases, including returning the same correlation matrix as `corrcoef` when using a masked array with no masked values. ([gh-26285](https://github.com/numpy/numpy/pull/26285)) Cast-safety fixes in `copyto` and `full` `copyto` now uses NEP 50 correctly and applies this to its cast safety. Python integer to NumPy integer casts and Python float to NumPy float casts are now considered \"safe\" even if assignment may fail or precision may be lost. This means the following examples change slightly: - `np.copyto(int8_arr, 1000)` previously performed an unsafe/same-kind cast : of the Python integer. It will now always raise, to achieve an unsafe cast you must pass an array or NumPy scalar. - `np.copyto(uint8_arr, 1000, casting="safe")` will raise an OverflowError rather than a TypeError due to same-kind casting. - `np.copyto(float32_arr, 1e300, casting="safe")` will overflow to `inf` (float32 cannot hold `1e300`) rather raising a TypeError. Further, only the dtype is used when assigning NumPy scalars (or 0-d arrays), meaning that the following behaves differently: - `np.copyto(float32_arr, np.float64(3.0), casting="safe")` raises. - `np.coptyo(int8_arr, np.int64(100), casting="safe")` raises. Previously, NumPy checked whether the 100 fits the `int8_arr`. This aligns `copyto`, `full`, and `full_like` with the correct NumPy 2 behavior. ([gh-27091](https://github.com/numpy/numpy/pull/27091)) Checksums MD5 8ac48250d6b96fce749fbd0fcf464ff9 numpy-2.1.0rc1-cp310-cp310-macosx_10_9_x86_64.whl 13f92a9f7ed33d71ccfb742de0e3fec9 numpy-2.1.0rc1-cp310-cp310-macosx_11_0_arm64.whl ba9286f6bd7a238eaead5ae2111d23a8 numpy-2.1.0rc1-cp310-cp310-macosx_14_0_arm64.whl dc2b6c2f586090bc80268a81afec4c6f numpy-2.1.0rc1-cp310-cp310-macosx_14_0_x86_64.whl 16a13eb5dfad8008baf937026fa2db62 numpy-2.1.0rc1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl c5d5697af3047b8a3dc7a5d6ca86ec86 numpy-2.1.0rc1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 0e48596167a215333f277ff29ea29c45 numpy-2.1.0rc1-cp310-cp310-musllinux_1_1_x86_64.whl 381957df326f45c0fba0b64a00a043ac numpy-2.1.0rc1-cp310-cp310-musllinux_1_2_aarch64.whl 676fd27cea96af93142b4b420d9cb8af numpy-2.1.0rc1-cp310-cp310-win32.whl b30bff4e8846c52e58fab9564b422ed2 numpy-2.1.0rc1-cp310-cp310-win_amd64.whl 4ee7c88591a445b3b5969999eeb7b0a7 numpy-2.1.0rc1-cp311-cp311-macosx_10_9_x86_64.whl 556393087caa0bb6eec1a76dfe2cad32 numpy-2.1.0rc1-cp311-cp311-macosx_14_0_arm64.whl 4e2b2eb39fc3a6ca28048588fc6a5338 numpy-2.1.0rc1-cp311-cp311-macosx_14_0_x86_64.whl 34f5ab41c4c6a3ecbf0cc0b108a63942 numpy-2.1.0rc1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 689944e33b04a11878aecaf59611341b numpy-2.1.0rc1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 5d2a53263c7daa9a3b9a89a4dc8ef3ac numpy-2.1.0rc1-cp311-cp311-musllinux_1_1_x86_64.whl 29e27f96f56d0d1b59f9b261ed6fe438 numpy-2.1.0rc1-cp311-cp311-musllinux_1_2_aarch64.whl f07177a3b6779e6747137e2173a545de numpy-2.1.0rc1-cp311-cp311-win32.whl f2d1f68c8c0455cba32be4aa50f5afed numpy-2.1.0rc1-cp311-cp311-win_amd64.whl 8500240d88e6e3afc281c562af083fd7 numpy-2.1.0rc1-cp312-cp312-macosx_10_9_x86_64.whl 3280b4ad3a5ceb814d739a9c980d16d6 numpy-2.1.0rc1-cp312-cp312-macosx_11_0_arm64.whl 77a6339def5185efa262658c51d6e44e numpy-2.1.0rc1-cp312-cp312-macosx_14_0_arm64.whl 2e3a71b9ef1e60ce37949af87475f5f7 numpy-2.1.0rc1-cp312-cp312-macosx_14_0_x86_64.whl 3c1877cd6108cb502ac1df39cfec86d0 numpy-2.1.0rc1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl ae1a9945726e7d970ee0b6232d5d9b4d numpy-2.1.0rc1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl f1a71557d35d8b2f87f277e85c958b2b numpy-2.1.0rc1-cp312-cp312-musllinux_1_1_x86_64.whl b1ba7049684a7d674c006325b4606dd1 numpy-2.1.0rc1-cp312-cp312-musllinux_1_2_aarch64.whl 5944d81459d443a72346e7ea767b72a2 numpy-2.1.0rc1-cp312-cp312-win32.whl f8b17b8f9bddb1c21844ae2475f72389 numpy-2.1.0rc1-cp312-cp312-win_amd64.whl 084ecd080c6871ed034ef69cda7573de numpy-2.1.0rc1-cp313-cp313-macosx_10_13_x86_64.whl dbeca273db0240ca7fe395611f0c23c8 numpy-2.1.0rc1-cp313-cp313-macosx_11_0_arm64.whl 242794f34818844e0fe695ec42c62dbe numpy-2.1.0rc1-cp313-cp313-macosx_14_0_arm64.whl 3f1c04457ce363250ac5d37935172527 numpy-2.1.0rc1-cp313-cp313-macosx_14_0_x86_64.whl 2ce171281092e5f5d9f3d1ce8a615a94 numpy-2.1.0rc1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 95416f883c14a10fca22007594c94a94 numpy-2.1.0rc1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 36c07d317516f84cb376cc475b3ed13d numpy-2.1.0rc1-cp313-cp313-musllinux_1_1_x86_64.whl e7c1f9c2964e4d71878a1654194452b2 numpy-2.1.0rc1-cp313-cp313-musllinux_1_2_aarch64.whl ea27f5a8b6dfa219b630aee52e621c8c numpy-2.1.0rc1-cp313-cp313-win32.whl 1821d7e0980f297296509090cfd9c288 numpy-2.1.0rc1-cp313-cp313-win_amd64.whl 1b7f8160179aef59822e3eb43cb8a210 numpy-2.1.0rc1-cp313-cp313t-macosx_10_13_x86_64.whl fed8d00d6819c467ef97e0b7611624cd numpy-2.1.0rc1-cp313-cp313t-macosx_11_0_arm64.whl f58df469b6ec5e1755b1572702b56716 numpy-2.1.0rc1-cp313-cp313t-macosx_14_0_arm64.whl fe13066a540c68598b1180bec61e8e30 numpy-2.1.0rc1-cp313-cp313t-macosx_14_0_x86_64.whl 67d51902daf5bc9de69c6e46dfea9a64 numpy-2.1.0rc1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 8409acd1916df8f8630260207a5b4eec numpy-2.1.0rc1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl e64a5ccac64641cbbbd2caa652ff815a numpy-2.1.0rc1-cp313-cp313t-musllinux_1_1_x86_64.whl 488776d734d4eddc9c1540bf862106bb numpy-2.1.0rc1-cp313-cp313t-musllinux_1_2_aarch64.whl fbc57a82683e2c9697a6992290ebe337 numpy-2.1.0rc1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl ed26d5d79acc222e107900668edcd01f numpy-2.1.0rc1-pp310-pypy310_pp73-macosx_14_0_x86_64.whl c29f8c6a55c1ac9e5c693f63ec17f251 numpy-2.1.0rc1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 4beab0a7bde06687f699e75cd04ec024 numpy-2.1.0rc1-pp310-pypy310_pp73-win_amd64.whl 88e72b72f2859ff084eb3863fac3ac20 numpy-2.1.0rc1.tar.gz SHA256 590acae9e4b0baa895850c0edab988c329a196bacc7326f3249fa5fe7b94e5a8 numpy-2.1.0rc1-cp310-cp310-macosx_10_9_x86_64.whl 61cf71f62033987ed49b78a19465f40fcbf6f7e94674eda21096ebde6935c2e0 numpy-2.1.0rc1-cp310-cp310-macosx_11_0_arm64.whl 0c489f6c47bbed44918c9c8036a679614920da2a45f481d0eca2ad168ca5327f numpy-2.1.0rc1-cp310-cp310-macosx_14_0_arm64.whl 4c33387be8eadc07d0834e0b9e2ead53117fe76ab2dadd37ee80d1df80be4c05 numpy-2.1.0rc1-cp310-cp310-macosx_14_0_x86_64.whl f412923d4ce1ec29aa3cf7752598e5eb154f549cfbf62d7c6f3cc76cb25b32e0 numpy-2.1.0rc1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 06156c55771da4952a2432aa457cd96159675dcab4336f5307bff042535cb6ea numpy-2.1.0rc1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl be3ddd26a22d032914cfca5ef7db74f31adbd6c9d88a6f4e21ebd8e057d9474c numpy-2.1.0rc1-cp310-cp310-musllinux_1_1_x86_64.whl 12b38b0f3ddc1342863a6849f4fcb3f506e1d21179ebd34b7aa55a30cb50899f numpy-2.1.0rc1-cp310-cp310-musllinux_1_2_aarch64.whl 17581a2080012afe603c43005c9d050570e54683dde0d395e3edb4fa9c25f328 numpy-2.1.0rc1-cp310-cp310-win32.whl 8ee3ab33c02a0bd7d219a184c9bc43811de373551529981035673ca2a1ba7b93 numpy-2.1.0rc1-cp310-cp310-win_amd64.whl 2d3d1e61191e408a11658a64e9f9bb61741ad28c160576c95dac9df6f74713b4 numpy-2.1.0rc1-cp311-cp311-macosx_10_9_x86_64.whl 4e08e733600647242a9046b6aff888e72fe8a846b00855e5136e7641b08d25d8 numpy-2.1.0rc1-cp311-cp311-macosx_14_0_arm64.whl 2b0e379a15c6b8eb69bb8170d10cfbb8a0dc9126b5402ee8860a2646f4111c3d numpy-2.1.0rc1-cp311-cp311-macosx_14_0_x86_64.whl fea6d6939d9bf098d96c6d22bb3e4ff39f8eb3f0f26b52c8c69ba06845490095 numpy-2.1.0rc1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 9a6bdc19830703eee91e7eb2d671b165febefbf5eec6a4f163d1833d23be17af numpy-2.1.0rc1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 58a07f2947aa06ca03d922a86ac30e403ce8282cd15904606bac852bf29ea2ad numpy-2.1.0rc1-cp311-cp311-musllinux_1_1_x86_64.whl 1a4f960e2e5c1084cf6b1d15482a5556ecc122855d631a2395063ab703d62fdd numpy-2.1.0rc1-cp311-cp311-musllinux_1_2_aarch64.whl f38fabd7b8d14fb7d63fbb2d07971d6edd518d2a43542c63c29164c901d2a758 numpy-2.1.0rc1-cp311-cp311-win32.whl e82b8e0b88d493d4e882f18de30f679bf1197c82d8c799acb5fdb4068cadb945 numpy-2.1.0rc1-cp311-cp311-win_amd64.whl dc2af0135139bbb26b1ea5bdc430e049edb745ae643cb898afb32549ce4801de numpy-2.1.0rc1-cp312-cp312-macosx_10_9_x86_64.whl 47f11bf152d8707217feb46e9662a8b1aa3554a8ee56b64d2aa99c3e9914f101 numpy-2.1.0rc1-cp312-cp312-macosx_11_0_arm64.whl 3b534c62b1887b4bfa80f633485f2a9338f5d46d720b6cc695d2ba8b38d98987 numpy-2.1.0rc1-cp312-cp312-macosx_14_0_arm64.whl f4e07df8476545da7cf23f75811f4fc334b06fc50d8e945e897cfc00c8f89690 numpy-2.1.0rc1-cp312-cp312-macosx_14_0_x86_64.whl c8458becc562ee35b30b5e53173933414cf42e56b3f4f3d80997bf0dda7308d1 numpy-2.1.0rc1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 524b5311d21741f0b3f48efcdd3442546be3b38507a4e3b0f5138e4340f5dee0 numpy-2.1.0rc1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 7bcb4f360dc9e29b4f5f9fb36b35b429e731373843ccf39a22105bd809ef3138 numpy-2.1.0rc1-cp312-cp312-musllinux_1_1_x86_64.whl 5821c9831fad20cd1a8621a9ed483322ca97a9da9832690a4050ffedcb3e766b numpy-2.1.0rc1-cp312-cp312-musllinux_1_2_aarch64.whl 1d9e0ddfb33a7a78fe92d49aaa2992a78ed5aff4cef7a21d8b1057cca075cc85 numpy-2.1.0rc1-cp312-cp312-win32.whl 86cc61c5479ed3b324011aa69484cae8f491b7f58dc0e54acf0894bdb4fae879 numpy-2.1.0rc1-cp312-cp312-win_amd64.whl 64e8de086d2e4dac41fa286412321469b4535677184e78cc78e5061b44f0e4bf numpy-2.1.0rc1-cp313-cp313-macosx_10_13_x86_64.whl e74dc488a27b90f31ab307b4cf3f07a45bb78a0e91cfb36d69c6eced4f36089b numpy-2.1.0rc1-cp313-cp313-macosx_11_0_arm64.whl f73e4fcf7455d3b734e6ecbafdbc12d3c1dd8f2146fd186e003ae1c8f00e5eed numpy-2.1.0rc1-cp313-cp313-macosx_14_0_arm64.whl e5a64ac6016839fd906b3d7cc1f7ecb145c7d44a310234b6843f3b23b8ec0651 numpy-2.1.0rc1-cp313-cp313-macosx_14_0_x86_64.whl ccc68ee27362f8d3516deecffa124d1488ae20347628e357264e7e66dbdaba08 numpy-2.1.0rc1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl d3d59479b98cc364b8a08ddd854c7817b5c578a521b56af5a96b3a9db18cc9b7 numpy-2.1.0rc1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 15c6bde88f242747258cfee803f3161b7a2c1ffead0817e409d95444a79b4029 numpy-2.1.0rc1-cp313-cp313-musllinux_1_1_x86_64.whl 3e9276bff9a57100b53e5f9c44469baca1e58ec612e5143db568d69ec27b65ea numpy-2.1.0rc1-cp313-cp313-musllinux_1_2_aarch64.whl 53979581e6acdd75b7ce94e6d3b70994f9f8cf1021316d388a159f7f388bdc7f numpy-2.1.0rc1-cp313-cp313-win32.whl ca195cd9d1d84b3498532968237774a6e06e2a4afe706b87172f1d033b95e230 numpy-2.1.0rc1-cp313-cp313-win_amd64.whl 77fa9826cbc7273e4bc3b7aa289b86936c942fe2c91bc35617c2417e14421592 numpy-2.1.0rc1-cp313-cp313t-macosx_10_13_x86_64.whl 140c5ce21f1eccb254e550c8431825cb716eb76e896202cffa7a0d2a843506da numpy-2.1.0rc1-cp313-cp313t-macosx_11_0_arm64.whl 713cb46d266514db773de52af677aa931cc896a4f5e52f494449c4ff53ce6051 numpy-2.1.0rc1-cp313-cp313t-macosx_14_0_arm64.whl 3f79d241e4833a2a570b6e6639d2114d497011e48a351798bba81fda51560ab7 numpy-2.1.0rc1-cp313-cp313t-macosx_14_0_x86_64.whl 48a724dbfad6f4933e2c8a22239980e1b5bc16868df3450cc4ebeb9522b7902f numpy-2.1.0rc1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 06d14d20b7e98c8c06bb62e56f2b64747dd10c422bb8adbf1e6dd82cd8442e12 numpy-2.1.0rc1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 98a1486861fa3c603a5a3ccd56fc45b9756372bb30f6fb559b898fc2fad82e0d numpy-2.1.0rc1-cp313-cp313t-musllinux_1_1_x86_64.whl 50b3dab872001b87052532bd4da3879fda856a2cf6c9418c19bfc94dc290e259 numpy-2.1.0rc1-cp313-cp313t-musllinux_1_2_aarch64.whl 14dea4f0d62ddd1a7f9d7b0003b35a537ac41a2b6205deec8c9c25a8e01748b4 numpy-2.1.0rc1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl 4f9317da3aa64d0ee93950d3f319b3fe0169500e25c18223715cba39e89808bd numpy-2.1.0rc1-pp310-pypy310_pp73-macosx_14_0_x86_64.whl 0a5a25ab780b8c29e443824abefc6ca79047ceeb889a6f76d7b1953649498e93 numpy-2.1.0rc1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 0816fd52956e14551d8d71319d4b4fcfa1bcb21641f2c603f4eb64c65b1e1009 numpy-2.1.0rc1-pp310-pypy310_pp73-win_amd64.whl dc7ce867d277aa74555c67b93ef2a6f78bd7bd73e6c2bbafeb96f8bccd05b9d9 numpy-2.1.0rc1.tar.gz ``` ### 2.0.1 ``` discovered after the 2.0.0 release. NumPy 2.0.1 is the last planned release in the 2.0.x series, 2.1.0rc1 should be out shortly. The Python versions supported by this release are 3.9-3.12. **_NOTE:_** Do not use the GitHub generated "Source code" files listed in the "Assets", they are garbage. Improvements `np.quantile` with method `closest_observation` chooses nearest even order statistic This changes the definition of nearest for border cases from the nearest odd order statistic to nearest even order statistic. The numpy implementation now matches other reference implementations. ([gh-26656](https://github.com/numpy/numpy/pull/26656)) Contributors A total of 15 people contributed to this release. People with a \"+\" by their names contributed a patch for the first time. - \vahidmech + - Alex Herbert + - Charles Harris - Giovanni Del Monte + - Leo Singer - Lysandros Nikolaou - Matti Picus - Nathan Goldbaum - Patrick J. Roddy + - Raghuveer Devulapalli - Ralf Gommers - Rostan Tabet + - Sebastian Berg - Tyler Reddy - Yannik Wicke + Pull requests merged A total of 24 pull requests were merged for this release. - [26711](https://github.com/numpy/numpy/pull/26711): MAINT: prepare 2.0.x for further development - [26792](https://github.com/numpy/numpy/pull/26792): TYP: fix incorrect import in `ma/extras.pyi` stub - [26793](https://github.com/numpy/numpy/pull/26793): DOC: Mention \'1.25\' legacy printing mode in `set_printoptions` - [26794](https://github.com/numpy/numpy/pull/26794): DOC: Remove mention of NaN and NAN aliases from constants - [26821](https://github.com/numpy/numpy/pull/26821): BLD: Fix x86-simd-sort build failure on openBSD - [26822](https://github.com/numpy/numpy/pull/26822): BUG: Ensure output order follows input in numpy.fft - [26823](https://github.com/numpy/numpy/pull/26823): TYP: fix missing sys import in numeric.pyi - [26832](https://github.com/numpy/numpy/pull/26832): DOC: remove hack to override \_add_newdocs_scalars - [26835](https://github.com/numpy/numpy/pull/26835): BUG: avoid side-effect of \'include complex.h\' - [26836](https://github.com/numpy/numpy/pull/26836): BUG: fix max_rows and chunked string/datetime reading in `loadtxt` - [26837](https://github.com/numpy/numpy/pull/26837): BUG: fix PyArray_ImportNumPyAPI under -Werror=strict-prototypes - [26856](https://github.com/numpy/numpy/pull/26856): DOC: Update some documentation - [26868](https://github.com/numpy/numpy/pull/26868): BUG: fancy indexing copy - [26869](https://github.com/numpy/numpy/pull/26869): BUG: Mismatched allocation domains in `PyArray_FillWithScalar` - [26870](https://github.com/numpy/numpy/pull/26870): BUG: Handle \--f77flags and \--f90flags for meson \[wheel build\] - [26887](https://github.com/numpy/numpy/pull/26887): BUG: Fix new DTypes and new string promotion when signature is\... - [26888](https://github.com/numpy/numpy/pull/26888): BUG: remove numpy.f2py from excludedimports - [26959](https://github.com/numpy/numpy/pull/26959): BUG: Quantile closest_observation to round to nearest even order - [26960](https://github.com/numpy/numpy/pull/26960): BUG: Fix off-by-one error in amount of characters in strip - [26961](https://github.com/numpy/numpy/pull/26961): API: Partially revert unique with return_inverse - [26962](https://github.com/numpy/numpy/pull/26962): BUG,MAINT: Fix utf-8 character stripping memory access - [26963](https://github.com/numpy/numpy/pull/26963): BUG: Fix out-of-bound minimum offset for in1d table method - [26971](https://github.com/numpy/numpy/pull/26971): BUG: fix f2py tests to work with v2 API - [26995](https://github.com/numpy/numpy/pull/26995): BUG: Add object cast to avoid warning with limited API Checksums MD5 a3e7d0f361ee7302448cae3c10844dd3 numpy-2.0.1-cp310-cp310-macosx_10_9_x86_64.whl cff8546b69e43ae7b5050f05bdc25df2 numpy-2.0.1-cp310-cp310-macosx_11_0_arm64.whl 1713d23342528f4f8f4027970f010068 numpy-2.0.1-cp310-cp310-macosx_14_0_arm64.whl 20020d28606ea58f986a262daa6018f1 numpy-2.0.1-cp310-cp310-macosx_14_0_x86_64.whl db22154ea943a707917aebc79e449bc5 numpy-2.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl fe86cd85f240216f64eb076a62a229d2 numpy-2.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl e0ca08f85150af3cc6050d64e8c0bd27 numpy-2.0.1-cp310-cp310-musllinux_1_1_x86_64.whl b76f432906f62e31f0e09c41f3f08b4c numpy-2.0.1-cp310-cp310-musllinux_1_2_aarch64.whl 28e8109e4ef524fa5c272d6faec870ae numpy-2.0.1-cp310-cp310-win32.whl 874beffaefdc73da42300ce691c2419c numpy-2.0.1-cp310-cp310-win_amd64.whl 7bbe029f650c924e952da117842d456d numpy-2.0.1-cp311-cp311-macosx_10_9_x86_64.whl 6d3d6ae26c520e93cef7f11ba3951f57 numpy-2.0.1-cp311-cp311-macosx_11_0_arm64.whl de6082d719437eb7468ae31c407c503e numpy-2.0.1-cp311-cp311-macosx_14_0_arm64.whl d15a8d95661f8a1dfcc4eb089f9b46e8 numpy-2.0.1-cp311-cp311-macosx_14_0_x86_64.whl c181105e074ee575ccf2c992e40f947a numpy-2.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 00d22b299343fcdc78fbb0716ead6243 numpy-2.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl d9c4f49dbedb3f3d0158f00db459bd25 numpy-2.0.1-cp311-cp311-musllinux_1_1_x86_64.whl 63caa03e0625327ad3a756e01c83a6ca numpy-2.0.1-cp311-cp311-musllinux_1_2_aarch64.whl 99d01d768a115d448ca2b4680de15191 numpy-2.0.1-cp311-cp311-win32.whl 8d1a31eccc8b9f077312095b11f62cb2 numpy-2.0.1-cp311-cp311-win_amd64.whl 6cc86f7761a33941d8c1c552186e774b numpy-2.0.1-cp312-cp312-macosx_10_9_x86_64.whl 67c48f352afff5f41108f1b9561d1d5c numpy-2.0.1-cp312-cp312-macosx_11_0_arm64.whl 1068d4eadcac6a869e0e457853b7e611 numpy-2.0.1-cp312-cp312-macosx_14_0_arm64.whl dfb667450315fddcf84381fc8ef16892 numpy-2.0.1-cp312-cp312-macosx_14_0_x86_64.whl 69822bbbbb65d8a7d00ae32b435f61cc numpy-2.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 883ed6c41395fb2def6cc0d64dcb817f numpy-2.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 4b1e9fd464821a7d1de3a8ddf911311e numpy-2.0.1-cp312-cp312-musllinux_1_1_x86_64.whl 79e6557f40b8ed8f5973b404d98eab3d numpy-2.0.1-cp312-cp312-musllinux_1_2_aarch64.whl 85596f15d4cf85c2f78b4cc12c2cad1e numpy-2.0.1-cp312-cp312-win32.whl 487c7c2944306f62b3770576ce903a91 numpy-2.0.1-cp312-cp312-win_amd64.whl 491093641afa21e65d6e629eb70571fc numpy-2.0.1-cp39-cp39-macosx_10_9_x86_64.whl 5008b16c20f3d7e5a0c7764712f8908e numpy-2.0.1-cp39-cp39-macosx_11_0_arm64.whl 14633b898f863ea797c40ba1cf226c29 numpy-2.0.1-cp39-cp39-macosx_14_0_arm64.whl 9054ecb69d21b364e59e94aab24247cb numpy-2.0.1-cp39-cp39-macosx_14_0_x86_64.whl be028cf4bb691921943939de17593dd7 numpy-2.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 9c440ad02ff0a954f696637de37aab2d numpy-2.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 27aec0d286eabe26d8e9149f4572dba1 numpy-2.0.1-cp39-cp39-musllinux_1_1_x86_64.whl b02eda82ee511ee27185c8a4073ea35c numpy-2.0.1-cp39-cp39-musllinux_1_2_aarch64.whl cf579b902325e023b2dc444692eb5991 numpy-2.0.1-cp39-cp39-win32.whl 302c8c3118a5f55d9ef35ed8e517f6b1 numpy-2.0.1-cp39-cp39-win_amd64.whl 34c17fe980accfb76c6f348f85b3cfef numpy-2.0.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl 02676eb84379b0a223288d6fd9d76942 numpy-2.0.1-pp39-pypy39_pp73-macosx_14_0_x86_64.whl b5300e6fe110bf69e1a8901c5c09e3f8 numpy-2.0.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 204a3ea7fb851e08d166c74f73f9b8a3 numpy-2.0.1-pp39-pypy39_pp73-win_amd64.whl 5df3c50fc124c3167404d396115898d0 numpy-2.0.1.tar.gz SHA256 0fbb536eac80e27a2793ffd787895242b7f18ef792563d742c2d673bfcb75134 numpy-2.0.1-cp310-cp310-macosx_10_9_x86_64.whl 69ff563d43c69b1baba77af455dd0a839df8d25e8590e79c90fcbe1499ebde42 numpy-2.0.1-cp310-cp310-macosx_11_0_arm64.whl 1b902ce0e0a5bb7704556a217c4f63a7974f8f43e090aff03fcf262e0b135e02 numpy-2.0.1-cp310-cp310-macosx_14_0_arm64.whl f1659887361a7151f89e79b276ed8dff3d75877df906328f14d8bb40bb4f5101 numpy-2.0.1-cp310-cp310-macosx_14_0_x86_64.whl 4658c398d65d1b25e1760de3157011a80375da861709abd7cef3bad65d6543f9 numpy-2.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 4127d4303b9ac9f94ca0441138acead39928938660ca58329fe156f84b9f3015 numpy-2.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl e5eeca8067ad04bc8a2a8731183d51d7cbaac66d86085d5f4766ee6bf19c7f87 numpy-2.0.1-cp310-cp310-musllinux_1_1_x86_64.whl 9adbd9bb520c866e1bfd7e10e1880a1f7749f1f6e5017686a5fbb9b72cf69f82 numpy-2.0.1-cp310-cp310-musllinux_1_2_aarch64.whl 7b9853803278db3bdcc6cd5beca37815b133e9e77ff3d4733c247414e78eb8d1 numpy-2.0.1-cp310-cp310-win32.whl 81b0893a39bc5b865b8bf89e9ad7807e16717f19868e9d234bdaf9b1f1393868 numpy-2.0.1-cp310-cp310-win_amd64.whl 75b4e316c5902d8163ef9d423b1c3f2f6252226d1aa5cd8a0a03a7d01ffc6268 numpy-2.0.1-cp311-cp311-macosx_10_9_x86_64.whl 6e4eeb6eb2fced786e32e6d8df9e755ce5be920d17f7ce00bc38fcde8ccdbf9e numpy-2.0.1-cp311-cp311-macosx_11_0_arm64.whl a1e01dcaab205fbece13c1410253a9eea1b1c9b61d237b6fa59bcc46e8e89343 numpy-2.0.1-cp311-cp311-macosx_14_0_arm64.whl a8fc2de81ad835d999113ddf87d1ea2b0f4704cbd947c948d2f5513deafe5a7b numpy-2.0.1-cp311-cp311-macosx_14_0_x86_64.whl 5a3d94942c331dd4e0e1147f7a8699a4aa47dffc11bf8a1523c12af8b2e91bbe numpy-2.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 15eb4eca47d36ec3f78cde0a3a2ee24cf05ca7396ef808dda2c0ddad7c2bde67 numpy-2.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl b83e16a5511d1b1f8a88cbabb1a6f6a499f82c062a4251892d9ad5d609863fb7 numpy-2.0.1-cp311-cp311-musllinux_1_1_x86_64.whl 1f87fec1f9bc1efd23f4227becff04bd0e979e23ca50cc92ec88b38489db3b55 numpy-2.0.1-cp311-cp311-musllinux_1_2_aarch64.whl 36d3a9405fd7c511804dc56fc32974fa5533bdeb3cd1604d6b8ff1d292b819c4 numpy-2.0.1-cp311-cp311-win32.whl 08458fbf403bff5e2b45f08eda195d4b0c9b35682311da5a5a0a0925b11b9bd8 numpy-2.0.1-cp311-cp311-win_amd64.whl 6bf4e6f4a2a2e26655717a1983ef6324f2664d7011f6ef7482e8c0b3d51e82ac numpy-2.0.1-cp312-cp312-macosx_10_9_x86_64.whl 7d6fddc5fe258d3328cd8e3d7d3e02234c5d70e01ebe377a6ab92adb14039cb4 numpy-2.0.1-cp312-cp312-macosx_11_0_arm64.whl 5daab361be6ddeb299a918a7c0864fa8618af66019138263247af405018b04e1 numpy-2.0.1-cp312-cp312-macosx_14_0_arm64.whl ea2326a4dca88e4a274ba3a4405eb6c6467d3ffbd8c7d38632502eaae3820587 numpy-2.0.1-cp312-cp312-macosx_14_0_x86_64.whl 529af13c5f4b7a932fb0e1911d3a75da204eff023ee5e0e79c1751564221a5c8 numpy-2.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 6790654cb13eab303d8402354fabd47472b24635700f631f041bd0b65e37298a numpy-2.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl cbab9fc9c391700e3e1287666dfd82d8666d10e69a6c4a09ab97574c0b7ee0a7 numpy-2.0.1-cp312-cp312-musllinux_1_1_x86_64.whl 99d0d92a5e3613c33a5f01db206a33f8fdf3d71f2912b0de1739894668b7a93b numpy-2.0.1-cp312-cp312-musllinux_1_2_aarch64.whl 173a00b9995f73b79eb0191129f2455f1e34c203f559dd118636858cc452a1bf numpy-2.0.1-cp312-cp312-win32.whl bb2124fdc6e62baae159ebcfa368708867eb56806804d005860b6007388df171 numpy-2.0.1-cp312-cp312-win_amd64.whl bfc085b28d62ff4009364e7ca34b80a9a080cbd97c2c0630bb5f7f770dae9414 numpy-2.0.1-cp39-cp39-macosx_10_9_x86_64.whl 8fae4ebbf95a179c1156fab0b142b74e4ba4204c87bde8d3d8b6f9c34c5825ef numpy-2.0.1-cp39-cp39-macosx_11_0_arm64.whl 72dc22e9ec8f6eaa206deb1b1355eb2e253899d7347f5e2fae5f0af613741d06 numpy-2.0.1-cp39-cp39-macosx_14_0_arm64.whl ec87f5f8aca726117a1c9b7083e7656a9d0d606eec7299cc067bb83d26f16e0c numpy-2.0.1-cp39-cp39-macosx_14_0_x86_64.whl 1f682ea61a88479d9498bf2091fdcd722b090724b08b31d63e022adc063bad59 numpy-2.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 8efc84f01c1cd7e34b3fb310183e72fcdf55293ee736d679b6d35b35d80bba26 numpy-2.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 3fdabe3e2a52bc4eff8dc7a5044342f8bd9f11ef0934fcd3289a788c0eb10018 numpy-2.0.1-cp39-cp39-musllinux_1_1_x86_64.whl 24a0e1befbfa14615b49ba9659d3d8818a0f4d8a1c5822af8696706fbda7310c numpy-2.0.1-cp39-cp39-musllinux_1_2_aarch64.whl f9cf5ea551aec449206954b075db819f52adc1638d46a6738253a712d553c7b4 numpy-2.0.1-cp39-cp39-win32.whl e9e81fa9017eaa416c056e5d9e71be93d05e2c3c2ab308d23307a8bc4443c368 numpy-2.0.1-cp39-cp39-win_amd64.whl 61728fba1e464f789b11deb78a57805c70b2ed02343560456190d0501ba37b0f numpy-2.0.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl 12f5d865d60fb9734e60a60f1d5afa6d962d8d4467c120a1c0cda6eb2964437d numpy-2.0.1-pp39-pypy39_pp73-macosx_14_0_x86_64.whl eacf3291e263d5a67d8c1a581a8ebbcfd6447204ef58828caf69a5e3e8c75990 numpy-2.0.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 2c3a346ae20cfd80b6cfd3e60dc179963ef2ea58da5ec074fd3d9e7a1e7ba97f numpy-2.0.1-pp39-pypy39_pp73-win_amd64.whl 485b87235796410c3519a699cfe1faab097e509e90ebb05dcd098db2ae87e7b3 numpy-2.0.1.tar.gz ```
Links - PyPI: https://pypi.org/project/numpy - Changelog: https://data.safetycli.com/changelogs/numpy/ - Homepage: https://numpy.org