alimanfoo / pysamstats

A fast Python and command-line utility for extracting simple statistics against genome positions based on sequence alignments from a SAM or BAM file.
191 stars 43 forks source link

Scheduled monthly dependency update for September #152

Closed pyup-bot closed 1 year ago

pyup-bot commented 1 year ago

Update Cython from 0.29.23 to 3.0.2.

Changelog ### 3.0.2 ``` ================== Bugs fixed ---------- * Using ``None`` as default value for arguments annotated as ``int`` could crash Cython. (Github issue :issue:`5643`) * Default values of fused types that include ``complex`` could generate invalid C code with ``-DCYTHON_CCOMPLEX=0``. (Github issue :issue:`5644`) * Using C++ enum class types in extension type method signatures could generate invalid C code. (Github issue :issue:`5637`) ``` ### 3.0.1 ``` ================== Features added -------------- * The error messages regarding exception declarations were improved in order to give better help about possible reasons and fixes. (Github issue :issue:`5547`) Bugs fixed ---------- * Memory view types in Python argument annotations no longer accept ``None``. They now require an explicit ``Optional[]`` or a ``None`` default value in order to allow ``None`` to be passed. This was an oversight in the 3.0.0 release and is a BACKWARDS INCOMPATIBLE change. However, since it only applies to code using Python syntax, it probably only applies to newly written code that was written for Cython 3.0 and can easily be adapted. In most cases, we expect that this change will avoid bugs in user code rather than produce problems. (Github issue :issue:`5612`) * ``nogil`` functions using parallel code could freeze when called with the GIL held. (Github issues :issue:`5564`, :issue:`5573`) * Relative cimports could end up searching globally and find the same package installed elsewhere, potentially in another version. (Github issue :issue:`5511`) * Attribute lookups on known standard library modules could accidentally search in the module namespace instead. (Github issue :issue:`5536`) * Using constructed C++ default arguments could generate invalid C++ code. (Github issue :issue:`5553`) * ``libcpp.memory.make_unique()`` was lacking C++ exception handling. (Github issue :issue:`5560`) * Some non-public and deprecated CAPI usages were replaced by public (and thus more future proof) API code. * Many issues with the Limited API support were resolved. Patches by Lisandro Dalcin et al. (Github issues :issue:`5549`, :issue:`5550`, :issue:`5556`, :issue:`5605`, :issue:`5617`) * Some C compiler warnings were resolved. Patches by Matti Picus et al. (Github issues :issue:`5557`, :issue:`5555`) * Large Python integers are now stored in hex instead of decimal strings to work around security limits in Python and generally speed up their Python object creation. * ``NULL`` could not be used as default for fused type pointer arguments. (Github issue :issue:`5554`) * C functions that return pointer types now return ``NULL`` as default exception value. Previously, calling code wasn't aware of this and always tested for raised exceptions. (Github issue :issue:`5554`) * Untyped literal default arguments in fused functions could generate invalid C code. (Github issue :issue:`5614`) * C variables declared as ``const`` could generate invalid C code when used in closures, generator expressions, ctuples, etc. (Github issues :issue:`5558`, :issue:`5333`) * Enums could not refer to previously defined enums in their definition. (Github issue :issue:`5602`) * The Python conversion code for anonymous C enums conflicted with regular int conversion. (Github issue :issue:`5623`) * Using memory views for property methods (and other special methods) could lead to refcounting problems. (Github issue :issue:`5571`) * Star-imports could generate code that tried to assign to constant C macros like ``PY_SSIZE_T_MAX`` and ``PY_SSIZE_T_MIN``. Patch by Philipp Wagner. (Github issue :issue:`5562`) * ``CYTHON_USE_TYPE_SPECS`` can now be (explicitly) enabled in PyPy. * The template parameter "delimeters" in the Tempita ``Template`` class was corrected to "delimiters". The old spelling is still available in the main template API but now issues a ``DeprecationWarning``. (Github issue :issue:`5608`) * The ``cython --version`` output is now less likely to reach both stdout and stderr. Patch by Eli Schwartz. (Github issue :issue:`5504`) * The sdist was missing the `Shadow.pyi` stub file. ``` ### 3.0.0 ``` ========================== Features added -------------- * Cython functions now use the `PEP-590`_ vectorcall protocol in Py3.7+. Patch by Jeroen Demeyer. (Github issue :issue:`2263`) * Unicode identifiers are supported in Cython code (`PEP-3131`_). Patch by David Woods. (Github issue :issue:`2601`) * Unicode module names and imports are supported. Patch by David Woods. (Github issue :issue:`3119`) * Annotations are no longer parsed, keeping them as strings following `PEP-563`_. Patch by David Woods. (Github issue :issue:`3285`) * Preliminary support for the CPython's ``Py_LIMITED_API`` (stable ABI) is available by setting the ``CYTHON_LIMITED_API`` C macro. Note that the support is currently in an early stage and many features do not yet work. You currently still have to define ``Py_LIMITED_API`` externally in order to restrict the API usage. This will change when the feature stabilises. Patches by Eddie Elizondo and David Woods. (Github issues :issue:`3223`, :issue:`3311`, :issue:`3501`) * The dispatch to fused functions is now linear in the number of arguments, which makes it much faster, often 2x or more, and several times faster for larger fused types with many specialisations. Patch by will-ca. (Github issue :issue:`1385`) * ``with gil/nogil`` statements can be conditional based on compile-time constants, e.g. fused type checks. Patch by Noam Hershtig. (Github issue :issue:`2579`) * ``const`` can be used together with fused types. Patch by Thomas Vincent. (Github issue :issue:`1772`) * Reimports of already imported modules are substantially faster. (Github issue :issue:`2854`) * Positional-only arguments are supported in Python functions (`PEP-570`_). Patch by Josh Tobin. (Github issue :issue:`2915`) * The ``volatile`` C modifier is supported in Cython code. Patch by Jeroen Demeyer. (Github issue :issue:`1667`) * ``cython.trashcan(True)`` can be used on an extension type to enable the CPython :ref:`trashcan`. This allows deallocating deeply recursive objects without overflowing the stack. Patch by Jeroen Demeyer. (Github issue :issue:`2842`) * Inlined properties can be defined for external extension types. Patch by Matti Picus. (Github issue :issue:`2640`, redone later in :issue:`3571`) * The ``str()`` builtin now calls ``PyObject_Str()`` instead of going through a Python call. Patch by William Ayd. (Github issue :issue:`3279`) * String concatenation can now happen in place if possible, by extending the existing string rather than always creating a new one. Patch by David Woods. (Github issue :issue:`3453`) * Multiplication of Python numbers with small constant integers is faster. (Github issue :issue:`2808`) * Some list copying is avoided internally when a new list needs to be created but we already have a fresh one. (Github issue :issue:`3494`) * Extension types that do not need their own ``tp_new`` implementation (because they have no object attributes etc.) directly inherit the implementation of their parent type if possible. (Github issue :issue:`1555`) * The attributes ``gen.gi_frame`` and ``coro.cr_frame`` of Cython compiled generators and coroutines now return an actual frame object for introspection. (Github issue :issue:`2306`) * Several declarations in ``cpython.*``, ``libc.*`` and ``libcpp.*`` were added. Patches by Jeroen Demeyer, Matthew Edwards, Chris Gyurgyik, Jerome Kieffer and Zackery Spytz. (Github issues :issue:`3468`, :issue:`3332`, :issue:`3202`, :issue:`3188`, :issue:`3179`, :issue:`2891`, :issue:`2826`, :issue:`2713`) * Deprecated NumPy API usages were removed from ``numpy.pxd``. Patch by Matti Picus. (Github issue :issue:`3365`) * ``cython.inline()`` now sets the ``NPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION`` C macro automatically when ``numpy`` is imported in the code, to avoid C compiler warnings about deprecated NumPy C-API usage. * The builtin ``abs()`` function can now be used on C numbers in nogil code. Patch by Elliott Sales de Andrade. (Github issue :issue:`2748`) * `PEP-479`_ (``generator_stop``) is now enabled by default with language level 3. (Github issue :issue:`2580`) * The ``cython.view.array`` type supports inheritance. Patch by David Woods. (Github issue :issue:`3413`) * Code annotation accepts a new debugging argument ``--annotate-fullc`` that will include the complete syntax highlighted C file in the HTML output. (Github issue :issue:`2855`) * ``--no-capture`` added to ``runtests.py`` to prevent stdout/stderr capturing during srctree tests. Patch by Matti Picus. (Github issue :issue:`2701`) * ``--no-docstrings`` option added to ``cythonize`` script. Original patch by mo-han. (Github issue :issue:`2889`) * ``cygdb`` gives better error messages when it fails to initialise the Python runtime support in gdb. Patch by Volker Weissmann. (Github issue :issue:`3489`) * The Pythran ``shape`` attribute is supported. Patch by Serge Guelton. (Github issue :issue:`3307`) Bugs fixed ---------- * The unicode methods ``.upper()``, ``.lower()`` and ``.title()`` were incorrectly optimised for single character input values and only returned the first character if multiple characters should have been returned. They now use the original Python methods again. * Fused argument types were not correctly handled in type annotations and ``cython.locals()``. Patch by David Woods. (Github issues :issue:`3391`, :issue:`3142`) * Diverging from the usual behaviour, ``len(memoryview)``, ``len(char*)`` and ``len(Py_UNICODE*)`` returned an unsigned ``size_t`` value. They now return a signed ``Py_ssize_t``, like other usages of ``len()``. * Nested dict literals in function call kwargs could incorrectly raise an error about duplicate keyword arguments, which are allowed when passing them from dict literals. (Github issue :issue:`2963`) * Item access (subscripting) with integer indices/keys always tried the Sequence protocol before the Mapping protocol, which diverged from Python semantics. It now passes through the Mapping protocol first when supported. (Github issue :issue:`1807`) * Name lookups in class bodies no longer go through an attribute lookup. Patch by Jeroen Demeyer. (Github issue :issue:`3100`) * Broadcast assignments to a multi-dimensional memory view slice could end up in the wrong places when the underlying memory view is known to be contiguous but the slice is not. (Github issue :issue:`2941`) * Pickling unbound methods of Python classes failed. Patch by Pierre Glaser. (Github issue :issue:`2972`) * The ``Py_hash_t`` type failed to accept arbitrary "index" values. (Github issue :issue:`2752`) * The first function line number of functions with decorators pointed to the signature line and not the first decorator line, as in Python. Patch by Felix Kohlgrüber. (Github issue :issue:`2536`) * Constant integer expressions that used a negative exponent were evaluated as integer 0 instead of the expected float value. Patch by Kryštof Pilnáček. (Github issue :issue:`2133`) * The ``cython.declare()`` and ``cython.cast()`` functions could fail in pure mode. Patch by Dmitry Shesterkin. (Github issue :issue:`3244`) * ``__doc__`` was not available inside of the class body during class creation. (Github issue :issue:`1635`) * Setting ``language_level=2`` in a file did not work if ``language_level=3`` was enabled globally before. Patch by Jeroen Demeyer. (Github issue :issue:`2791`) * ``__init__.pyx`` files were not always considered as package indicators. (Github issue :issue:`2665`) * Compiling package ``__init__`` files could fail under Windows due to an undefined export symbol. (Github issue :issue:`2968`) * A C compiler cast warning was resolved. Patch by Michael Buesch. (Github issue :issue:`2775`) * Binding staticmethods of Cython functions were not behaving like Python methods. Patch by Jeroen Demeyer. (Github issue :issue:`3106`, :issue:`3102`) * Memoryviews failed to compile when the ``cache_builtins`` feature was disabled. Patch by David Woods. (Github issue :issue:`3406`) Other changes ------------- * The default language level was changed to ``3str``, i.e. Python 3 semantics, but with ``str`` literals (also in Python 2.7). This is a backwards incompatible change from the previous default of Python 2 semantics. The previous behaviour is available through the directive ``language_level=2``. (Github issue :issue:`2565`) * Cython no longer generates ``__qualname__`` attributes for classes in Python 2.x since they are problematic there and not correctly maintained for subclasses. Patch by Jeroen Demeyer. (Github issue :issue:`2772`) * Source file fingerprinting now uses SHA-1 instead of MD5 since the latter tends to be slower and less widely supported these days. (Github issue :issue:`2790`) * The long deprecated include files ``python_*``, ``stdio``, ``stdlib`` and ``stl`` in ``Cython/Includes/Deprecated/`` were removed. Use the ``libc.*`` and ``cpython.*`` pxd modules instead. Patch by Jeroen Demeyer. (Github issue :issue:`2904`) * The search order for include files was changed. Previously it was ``include_directories``, ``Cython/Includes``, ``sys.path``. Now it is ``include_directories``, ``sys.path``, ``Cython/Includes``. This was done to allow third-party ``*.pxd`` files to override the ones in Cython. Patch by Matti Picus. (Github issue :issue:`2905`) * The command line parser was rewritten and modernised using ``argparse``. Patch by Egor Dranischnikow. (Github issue :issue:`2952`, :issue:`3001`) * Dotted filenames for qualified module names (``pkg.mod.pyx``) are deprecated. Use the normal Python package directory layout instead. (Github issue :issue:`2686`) * Binary Linux wheels now follow the manylinux2010 standard. Patch by Alexey Stepanov. (Github issue :issue:`3355`) * Support for Python 2.6 was removed. .. _`PEP-560`: https://www.python.org/dev/peps/pep-0560 .. _`PEP-570`: https://www.python.org/dev/peps/pep-0570 .. _`PEP-487`: https://www.python.org/dev/peps/pep-0487 .. _`PEP-590`: https://www.python.org/dev/peps/pep-0590 .. _`PEP-3131`: https://www.python.org/dev/peps/pep-3131 .. _`PEP-563`: https://www.python.org/dev/peps/pep-0563 .. _`PEP-479`: https://www.python.org/dev/peps/pep-0479 ``` ### 0.29.36 ``` ==================== Bugs fixed ---------- * Async generators lost their return value in PyPy. (Github issue :issue:`5465`) * The outdated C macro ``_PyGC_FINALIZED()`` is no longer used in Py3.9+. * The deprecated ``Py_OptimizeFlag`` is no longer used in Python 3.9+. (Github issue :issue:`5343`) * Using the global ``__debug__`` variable but not assertions could lead to compile errors. * The broken HTML template support was removed from Tempita. (Github issue :issue:`3309`) ``` ### 0.29.35 ``` ==================== Bugs fixed ---------- * A garbage collection enabled subtype of a non-GC extension type could call into the deallocation function of the super type with GC tracking enabled. This could lead to crashes during deallocation if GC was triggered on the type at the same time. (Github issue :issue:`5432`) * Some C compile failures and crashes in CPython 3.12 were resolved. * ``except + nogil`` was syntactically not allowed. ``except +nogil`` (i.e. defining a C++ exception handling function called ``nogil``) is now disallowed to prevent typos. (Github issue :issue:`5430`) * A C compile failure in PyPy 3.10 was resolved. Patch by Matti Picus. (Github issue :issue:`5408`) * Cython modules now use PEP-489 multi-phase init by default in PyPy 3.9 and later. Original patch by Matti Picus. (Github issue :issue:`5413`) * API header files generated by different Cython versions can now be included in the same C file. (Github issue :issue:`5383`) * Function signatures containing a type like `tuple[()]` could not be printed. Patch by Lisandro Dalcin. (Github issue :issue:`5355`) ``` ### 0.29.34 ``` ==================== Bugs fixed ---------- * A reference leak of the for-loop list/tuple iterable was resolved if the for-loop's ``else:`` branch executes a ``break`` for an outer loop. (Github issue :issue:`5347`) * Some C compile failures in CPython 3.12 were resolved. * Some old usages of the deprecated Python ``imp`` module were replaced with ``importlib``. Patch by Matúš Valo. (Github issue :issue:`5300`) * Some issues with ``depfile`` generation were resolved. Patches by Eli Schwartz. (Github issues :issue:`5279`, :issue:`5291`) ``` ### 0.29.33 ``` ==================== Features added -------------- * The ``cythonize`` and ``cython`` commands have a new option ``-M`` / ``--depfile`` to generate ``.dep`` dependency files for the compilation unit. This can be used by external build tools to track these dependencies. The ``cythonize`` option was already available in Cython :ref:`0.29.27`. Patches by Evgeni Burovski and Eli Schwartz. (Github issue :issue:`1214`) Bugs fixed ---------- * ``const`` fused types could not be used with memory views. Patch by Thomas Vincent. (Github issue :issue:`1772`) * ``wstr`` usage was removed in Python 3.12 and later (PEP-623). (Github issue :issue:`5145`) * A type check assertion for Cython functions failed in debug Python builds. (Github issue :issue:`5031`) * Fixed various compiler warnings. Patches by Lisandro Dalcin et al. (Github issues :issue:`4948`, :issue:`5086`) * Fixed error when calculating complex powers of negative numbers. (Github issue :issue:`5014`) * Corrected a small mis-formatting of exception messages on Python 2. (Github issue :issue:`5018`) * The ``PyUnicode_AsUTF8AndSize()`` C-API function was missing from the CPython declarations. (Github issue :issue:`5163`) * A performance problem in the compiler was resolved when nesting conditional expressions. (Github issue :issue:`5197`) * Test suite problems with recent NumPy and CPython versions were resolved. (Github issues :issue:`5183`, :issue:`5190`) Other changes ------------- * The undocumented, untested and apparently useless syntax ``from somemodule cimport class/struct/union somename`` was deprecated in anticipation of its removal in Cython 3. The type modifier is not needed here and a plain ``cimport`` of the name will do. (Github issue :issue:`4905`) * Properly disable generation of descriptor docstrings on PyPy since they cause crashes. It was previously disabled, but only accidentally via a typo. Patch by Matti Picus. (Github issue :issue:`5083`) * The ``cpow`` directive of Cython 3.0 is available as a no-op. (Github issue :issue:`5016`) ``` ### 0.29.32 ``` ==================== Bugs fixed ---------- * Revert "Using memoryview typed arguments in inner functions is now rejected as unsupported." Patch by David Woods. (Github issue :issue:`4798`) * ``from module import *`` failed in 0.29.31 when using memoryviews. Patch by David Woods. (Github issue :issue:`4927`) ``` ### 0.29.31 ``` ==================== Features added -------------- * A new argument ``--module-name`` was added to the ``cython`` command to provide the (one) exact target module name from the command line. Patch by Matthew Brett and h-vetinari. (Github issue :issue:`4906`) * A new keyword ``noexcept`` was added for forward compatibility with Cython 3. Patch by David Woods. (Github issue :issue:`4903`) Bugs fixed ---------- * Use ``importlib.util.find_spec()`` instead of the deprecated ``importlib.find_loader()`` function when setting up the package path at import-time. Patch by Matti Picus. (Github issue :issue:`4764`) * Require the C compiler to support the two-arg form of ``va_start`` on Python 3.10 and higher. Patch by Thomas Caswell. (Github issue :issue:`4820`) * Make ``fused_type`` subscriptable in Shadow.py. Patch by Pfebrer. (Github issue :issue:`4842`) * Fix the incorrect code generation of the target type in ``bytearray`` loops. Patch by Kenrick Everett. (Github issue :issue:`4108`) * Atomic refcounts for memoryviews were not used on some GCC versions by accident. Patch by Sam Gross. (Github issue :issue:`4915`) * Silence some GCC ``-Wconversion`` warnings in C utility code. Patch by Lisandro Dalcin. (Github issue :issue:`4854`) * Tuple multiplication was ignored in expressions such as ``[*(1,) * 2]``. Patch by David Woods. (Github issue :issue:`4864`) * Calling ``append`` methods on extension types could fail to find the method in some cases. Patch by David Woods. (Github issue :issue:`4828`) * Ensure that object buffers (e.g. ``ndarray[object, ndim=1]``) containing ``NULL`` pointers are safe to use, returning ``None`` instead of the ``NULL`` pointer. Patch by Sebastian Berg. (Github issue :issue:`4859`) * Using memoryview typed arguments in inner functions is now rejected as unsupported. Patch by David Woods. (Github issue :issue:`4798`) * Compilation could fail on systems (e.g. FIPS) that block MD5 checksums at runtime. (Github issue :issue:`4909`) * Experimental adaptations for the CPython "nogil" fork was added. Note that there is no official support for this in Cython 0.x. Patch by Sam Gross. (Github issue :issue:`4912`) ``` ### 0.29.30 ``` ==================== Bugs fixed ---------- * The GIL handling changes in 0.29.29 introduced a regression where objects could be deallocated without holding the GIL. (Github issue :issue:`4796`) ``` ### 0.29.29 ``` ==================== Features added -------------- * Avoid acquiring the GIL at the end of nogil functions. This change was backported in order to avoid generating wrong C code that would trigger C compiler warnings with tracing support enabled. Backport by Oleksandr Pavlyk. (Github issue :issue:`4637`) Bugs fixed ---------- * Function definitions in ``finally:`` clauses were not correctly generated. Patch by David Woods. (Github issue :issue:`4651`) * A case where C-API functions could be called with a live exception set was fixed. Patch by Jakub Kulík. (Github issue :issue:`4722`) * Pickles can now be exchanged again with those generated from Cython 3.0 modules. (Github issue :issue:`4680`) * Cython now correctly generates Python methods for both the provided regular and reversed special numeric methods of extension types. Patch by David Woods. (Github issue :issue:`4750`) * Calling unbound extension type methods without arguments could raise an ``IndexError`` instead of a ``TypeError``. Patch by David Woods. (Github issue :issue:`4779`) * Calling unbound ``.__contains__()`` super class methods on some builtin base types could trigger an infinite recursion. Patch by David Woods. (Github issue :issue:`4785`) * The C union type in pure Python mode mishandled some field names. Patch by Jordan Brière. (Github issue :issue:`4727`) * Allow users to overwrite the C macro ``_USE_MATH_DEFINES``. Patch by Yuriy Chernyshov. (Github issue :issue:`4690`) * Improved compatibility with CPython 3.10/11. Patches by Thomas Caswell, David Woods. (Github issues :issue:`4609`, :issue:`4667`, :issue:`4721`, :issue:`4730`, :issue:`4777`) * Docstrings of descriptors are now provided in PyPy 7.3.9. Patch by Matti Picus. (Github issue :issue:`4701`) ``` ### 0.29.28 ``` ==================== Bugs fixed ---------- * Due to backwards incompatible changes in CPython 3.11a4, the feature flags ``CYTHON_FAST_THREAD_STATE`` and ``CYTHON_USE_EXC_INFO_STACK`` are now disabled in Python 3.11 and later. They are enabled again in Cython 3.0. Patch by David Woods. (Github issue :issue:`4610`) * A C compiler warning in older PyPy versions was resolved. Patch by Matti Picus. (Github issue :issue:`4236`) ``` ### 0.29.27 ``` ==================== Features added -------------- * The ``cythonize`` command has a new option ``-M`` to generate ``.dep`` dependency files for the compilation unit. This can be used by external build tools to track these dependencies. Patch by Evgeni Burovski. (Github issue :issue:`1214`) Bugs fixed ---------- * Compilation failures on PyPy were resolved. Patches by Matti Picus. (Github issues :issue:`4509`, :issue:`4517`) * Calls to ``range()`` with more than three arguments did not fail. Original patch by Max Bachmann. (Github issue :issue:`4550`) * Some C compiler warnings about missing type struct initialisers in Py3.10 were resolved. * Cython no longer warns about using OpenMP 3.0 features since they are now considered generally available. ``` ### 0.29.26 ``` ==================== Bugs fixed ---------- * An incompatibility with CPython 3.11.0a3 was resolved. (Github issue :issue:`4499`) * The ``in`` operator failed on literal lists with starred expressions. Patch by Arvind Natarajan. (Github issue :issue:`3938`) * A C compiler warning in PyPy about a missing struct field initialisation was resolved. ``` ### 0.29.25 ``` ==================== Bugs fixed ---------- * Several incompatibilities with CPython 3.11 were resolved. Patches by David Woods, Victor Stinner, Thomas Caswell. (Github issues :issue:`4411`, :issue:`4414`, :issue:`4415`, :issue:`4416`, :issue:`4420`, :issue:`4428`, :issue:`4473`, :issue:`4479`, :issue:`4480`) * Some C compiler warnings were resolved. Patches by Lisandro Dalcin and others. (Github issue :issue:`4439`) * C++ ``std::move()`` should only be used automatically in MSVC versions that support it. Patch by Max Bachmann. (Github issue :issue:`4191`) * The ``Py_hash_t`` type failed to accept arbitrary "index" values. (Github issue :issue:`2752`) * Avoid copying unaligned 16-bit values since some platforms require them to be aligned. Use memcpy() instead to let the C compiler decide how to do it. (Github issue :issue:`4343`) * Cython crashed on invalid truthiness tests on C++ types without ``operator bool``. Patch by David Woods. (Github issue :issue:`4348`) * The declaration of ``PyUnicode_CompareWithASCIIString()`` in ``cpython.unicode`` was incorrect. Patch by Max Bachmann. (Github issue :issue:`4344`) ``` ### 0.29.24 ``` ==================== Bugs fixed ---------- * Inline functions in pxd files that used memory views could lead to invalid C code if the module that imported from them does not use memory views. Patch by David Woods. (Github issue :issue:`1415`) * Several declarations in ``libcpp.string`` were added and corrected. Patch by Janek Bevendorff. (Github issue :issue:`4268`) * Pickling unbound Cython compiled methods failed. Patch by Pierre Glaser. (Github issue :issue:`2972`) * The tracing code was adapted to work with CPython 3.10. * The optimised ``in`` operator failed on unicode strings in Py3.9 and later that were constructed from an external ``wchar_t`` source. Also, related C compiler warnings about deprecated C-API usage were resolved. (Github issue :issue:`3925`) * Some compiler crashes were resolved. Patch by David Woods. (Github issues :issue:`4214`, :issue:`2811`) * An incorrect warning about 'unused' generator expressions was removed. (GIthub issue :issue:`1699`) * The attributes ``gen.gi_frame`` and ``coro.cr_frame`` of Cython compiled generators and coroutines now return an actual frame object for introspection, instead of ``None``. (Github issue :issue:`2306`) ```
Links - PyPI: https://pypi.org/project/cython - Changelog: https://data.safetycli.com/changelogs/cython/ - Homepage: https://cython.org/

Update numpy from 1.21.0 to 1.25.2.

Changelog ### 1.25.2 ``` discovered after the 1.25.1 release. This is the last planned release in the 1.25.x series, the next release will be 1.26.0, which will use the meson build system and support Python 3.12. The Python versions supported by this release are 3.9-3.11. Contributors A total of 13 people contributed to this release. People with a \"+\" by their names contributed a patch for the first time. - Aaron Meurer - Andrew Nelson - Charles Harris - Kevin Sheppard - Matti Picus - Nathan Goldbaum - Peter Hawkins - Ralf Gommers - Randy Eckenrode + - Sam James + - Sebastian Berg - Tyler Reddy - dependabot\[bot\] Pull requests merged A total of 19 pull requests were merged for this release. - [24148](https://github.com/numpy/numpy/pull/24148): MAINT: prepare 1.25.x for further development - [24174](https://github.com/numpy/numpy/pull/24174): ENH: Improve clang-cl compliance - [24179](https://github.com/numpy/numpy/pull/24179): MAINT: Upgrade various build dependencies. - [24182](https://github.com/numpy/numpy/pull/24182): BLD: use `-ftrapping-math` with Clang on macOS - [24183](https://github.com/numpy/numpy/pull/24183): BUG: properly handle negative indexes in ufunc_at fast path - [24184](https://github.com/numpy/numpy/pull/24184): BUG: PyObject_IsTrue and PyObject_Not error handling in setflags - [24185](https://github.com/numpy/numpy/pull/24185): BUG: histogram small range robust - [24186](https://github.com/numpy/numpy/pull/24186): MAINT: Update meson.build files from main branch - [24234](https://github.com/numpy/numpy/pull/24234): MAINT: exclude min, max and round from `np.__all__` - [24241](https://github.com/numpy/numpy/pull/24241): MAINT: Dependabot updates - [24242](https://github.com/numpy/numpy/pull/24242): BUG: Fix the signature for np.array_api.take - [24243](https://github.com/numpy/numpy/pull/24243): BLD: update OpenBLAS to an intermeidate commit - [24244](https://github.com/numpy/numpy/pull/24244): BUG: Fix reference count leak in str(scalar). - [24245](https://github.com/numpy/numpy/pull/24245): BUG: fix invalid function pointer conversion error - [24255](https://github.com/numpy/numpy/pull/24255): BUG: Factor out slow `getenv` call used for memory policy warning - [24292](https://github.com/numpy/numpy/pull/24292): CI: correct URL in cirrus.star - [24293](https://github.com/numpy/numpy/pull/24293): BUG: Fix C types in scalartypes - [24294](https://github.com/numpy/numpy/pull/24294): BUG: do not modify the input to ufunc_at - [24295](https://github.com/numpy/numpy/pull/24295): BUG: Further fixes to indexing loop and added tests Checksums MD5 33518ccb4da8ee11f1dee4b9fef1e468 numpy-1.25.2-cp310-cp310-macosx_10_9_x86_64.whl b5cb0c3b33ef6d93ec2888f25b065636 numpy-1.25.2-cp310-cp310-macosx_11_0_arm64.whl ae027dd38bd73f09c07220b2f516f148 numpy-1.25.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 88cf69dc3c0d293492c4c7e75dccf3d8 numpy-1.25.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 3e4e3ad02375ba71ae2cd05ccd97aba4 numpy-1.25.2-cp310-cp310-musllinux_1_1_x86_64.whl f52bb644682deb26c35ddec77198b65c numpy-1.25.2-cp310-cp310-win32.whl 4944cf36652be7560a6bcd0d5d56e8ea numpy-1.25.2-cp310-cp310-win_amd64.whl 5a56e639defebb7b871c8c5613960ca3 numpy-1.25.2-cp311-cp311-macosx_10_9_x86_64.whl 3988b96944e7218e629255214f2598bd numpy-1.25.2-cp311-cp311-macosx_11_0_arm64.whl 302d65015ddd908a862fb3761a2a0363 numpy-1.25.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl e54a2e23272d1c5e5b278bd7e304c948 numpy-1.25.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 961d390e8ccaf11b1b0d6200d2c8b1c0 numpy-1.25.2-cp311-cp311-musllinux_1_1_x86_64.whl e113865b90f97079d344100c41226fbe numpy-1.25.2-cp311-cp311-win32.whl 834a147aa1adaec97655018b882232bd numpy-1.25.2-cp311-cp311-win_amd64.whl fb55f93a8033bde854c8a2b994045686 numpy-1.25.2-cp39-cp39-macosx_10_9_x86_64.whl d96e754217d29bf045e082b695667e62 numpy-1.25.2-cp39-cp39-macosx_11_0_arm64.whl beab540edebecbb257e482dd9e498b44 numpy-1.25.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl e0d608c9e09cd8feba48567586cfefc0 numpy-1.25.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl fe1fc32c8bb005ca04b8f10ebdcff6dd numpy-1.25.2-cp39-cp39-musllinux_1_1_x86_64.whl 41df58a9935c8ed869c92307c95f02eb numpy-1.25.2-cp39-cp39-win32.whl a4371272c64493beb8b04ac46c4c1521 numpy-1.25.2-cp39-cp39-win_amd64.whl bbe051cbd5f8661dd054277f0b0f0c3d numpy-1.25.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl 3f68e6b4af6922989dc0133e37db34ee numpy-1.25.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl fc89421b79e8800240999d3a1d06a4d2 numpy-1.25.2-pp39-pypy39_pp73-win_amd64.whl cee1996a80032d47bdf1d9d17249c34e numpy-1.25.2.tar.gz SHA256 db3ccc4e37a6873045580d413fe79b68e47a681af8db2e046f1dacfa11f86eb3 numpy-1.25.2-cp310-cp310-macosx_10_9_x86_64.whl 90319e4f002795ccfc9050110bbbaa16c944b1c37c0baeea43c5fb881693ae1f numpy-1.25.2-cp310-cp310-macosx_11_0_arm64.whl dfe4a913e29b418d096e696ddd422d8a5d13ffba4ea91f9f60440a3b759b0187 numpy-1.25.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl f08f2e037bba04e707eebf4bc934f1972a315c883a9e0ebfa8a7756eabf9e357 numpy-1.25.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl bec1e7213c7cb00d67093247f8c4db156fd03075f49876957dca4711306d39c9 numpy-1.25.2-cp310-cp310-musllinux_1_1_x86_64.whl 7dc869c0c75988e1c693d0e2d5b26034644399dd929bc049db55395b1379e044 numpy-1.25.2-cp310-cp310-win32.whl 834b386f2b8210dca38c71a6e0f4fd6922f7d3fcff935dbe3a570945acb1b545 numpy-1.25.2-cp310-cp310-win_amd64.whl c5462d19336db4560041517dbb7759c21d181a67cb01b36ca109b2ae37d32418 numpy-1.25.2-cp311-cp311-macosx_10_9_x86_64.whl c5652ea24d33585ea39eb6a6a15dac87a1206a692719ff45d53c5282e66d4a8f numpy-1.25.2-cp311-cp311-macosx_11_0_arm64.whl 0d60fbae8e0019865fc4784745814cff1c421df5afee233db6d88ab4f14655a2 numpy-1.25.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 60e7f0f7f6d0eee8364b9a6304c2845b9c491ac706048c7e8cf47b83123b8dbf numpy-1.25.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl bb33d5a1cf360304754913a350edda36d5b8c5331a8237268c48f91253c3a364 numpy-1.25.2-cp311-cp311-musllinux_1_1_x86_64.whl 5883c06bb92f2e6c8181df7b39971a5fb436288db58b5a1c3967702d4278691d numpy-1.25.2-cp311-cp311-win32.whl 5c97325a0ba6f9d041feb9390924614b60b99209a71a69c876f71052521d42a4 numpy-1.25.2-cp311-cp311-win_amd64.whl b79e513d7aac42ae918db3ad1341a015488530d0bb2a6abcbdd10a3a829ccfd3 numpy-1.25.2-cp39-cp39-macosx_10_9_x86_64.whl eb942bfb6f84df5ce05dbf4b46673ffed0d3da59f13635ea9b926af3deb76926 numpy-1.25.2-cp39-cp39-macosx_11_0_arm64.whl 3e0746410e73384e70d286f93abf2520035250aad8c5714240b0492a7302fdca numpy-1.25.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl d7806500e4f5bdd04095e849265e55de20d8cc4b661b038957354327f6d9b295 numpy-1.25.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 8b77775f4b7df768967a7c8b3567e309f617dd5e99aeb886fa14dc1a0791141f numpy-1.25.2-cp39-cp39-musllinux_1_1_x86_64.whl 2792d23d62ec51e50ce4d4b7d73de8f67a2fd3ea710dcbc8563a51a03fb07b01 numpy-1.25.2-cp39-cp39-win32.whl 76b4115d42a7dfc5d485d358728cdd8719be33cc5ec6ec08632a5d6fca2ed380 numpy-1.25.2-cp39-cp39-win_amd64.whl 1a1329e26f46230bf77b02cc19e900db9b52f398d6722ca853349a782d4cff55 numpy-1.25.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl 4c3abc71e8b6edba80a01a52e66d83c5d14433cbcd26a40c329ec7ed09f37901 numpy-1.25.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 1b9735c27cea5d995496f46a8b1cd7b408b3f34b6d50459d9ac8fe3a20cc17bf numpy-1.25.2-pp39-pypy39_pp73-win_amd64.whl fd608e19c8d7c55021dffd43bfe5492fab8cc105cc8986f813f8c3c048b38760 numpy-1.25.2.tar.gz ``` ### 1.25.1 ``` discovered after the 1.25.0 release. The Python versions supported by this release are 3.9-3.11. Contributors A total of 10 people contributed to this release. People with a \"+\" by their names contributed a patch for the first time. - Andrew Nelson - Charles Harris - Developer-Ecosystem-Engineering - Hood Chatham - Nathan Goldbaum - Rohit Goswami - Sebastian Berg - Tim Paine + - dependabot\[bot\] - matoro + Pull requests merged A total of 14 pull requests were merged for this release. - [23968](https://github.com/numpy/numpy/pull/23968): MAINT: prepare 1.25.x for further development - [24036](https://github.com/numpy/numpy/pull/24036): BLD: Port long double identification to C for meson - [24037](https://github.com/numpy/numpy/pull/24037): BUG: Fix reduction `return NULL` to be `goto fail` - [24038](https://github.com/numpy/numpy/pull/24038): BUG: Avoid undefined behavior in array.astype() - [24039](https://github.com/numpy/numpy/pull/24039): BUG: Ensure `__array_ufunc__` works without any kwargs passed - [24117](https://github.com/numpy/numpy/pull/24117): MAINT: Pin urllib3 to avoid anaconda-client bug. - [24118](https://github.com/numpy/numpy/pull/24118): TST: Pin pydantic\<2 in Pyodide workflow - [24119](https://github.com/numpy/numpy/pull/24119): MAINT: Bump pypa/cibuildwheel from 2.13.0 to 2.13.1 - [24120](https://github.com/numpy/numpy/pull/24120): MAINT: Bump actions/checkout from 3.5.2 to 3.5.3 - [24122](https://github.com/numpy/numpy/pull/24122): BUG: Multiply or Divides using SIMD without a full vector can\... - [24127](https://github.com/numpy/numpy/pull/24127): MAINT: testing for IS_MUSL closes #24074 - [24128](https://github.com/numpy/numpy/pull/24128): BUG: Only replace dtype temporarily if dimensions changed - [24129](https://github.com/numpy/numpy/pull/24129): MAINT: Bump actions/setup-node from 3.6.0 to 3.7.0 - [24134](https://github.com/numpy/numpy/pull/24134): BUG: Fix private procedures in f2py modules Checksums MD5 d09d98643db31e892fad11b8c2b7af22 numpy-1.25.1-cp310-cp310-macosx_10_9_x86_64.whl d5b8d3b0424e2af41018f35a087c4500 numpy-1.25.1-cp310-cp310-macosx_11_0_arm64.whl 1007893b1a8bfd97d445a63d29d33642 numpy-1.25.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 6a62d7a6cee310b41dc872aa7f3d7e8b numpy-1.25.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl e81f6264aecfa2269c5d29d10c362cbc numpy-1.25.1-cp310-cp310-musllinux_1_1_x86_64.whl ab8ecd125ca86eac0b3ada67ab66dad6 numpy-1.25.1-cp310-cp310-win32.whl 5466bebeaafcc3d6e1b98858d77ff945 numpy-1.25.1-cp310-cp310-win_amd64.whl f31b059256ae09b7b83df63f52d8371e numpy-1.25.1-cp311-cp311-macosx_10_9_x86_64.whl 099f74d654888869704469c321af845d numpy-1.25.1-cp311-cp311-macosx_11_0_arm64.whl 20d04dccd2bfca5cfd88780d1dc9a3f8 numpy-1.25.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 61dfd7c00638e83a7af59b86615ee9d2 numpy-1.25.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 4eb459c3d9479c4da2fdf20e4c4085d0 numpy-1.25.1-cp311-cp311-musllinux_1_1_x86_64.whl 5e84e797866c68ba65fa89a4bf4ba8ce numpy-1.25.1-cp311-cp311-win32.whl 87bb1633b2e8029dbfa1e59f7ab22625 numpy-1.25.1-cp311-cp311-win_amd64.whl 3fcf2eb5970d848a26abdff1b10228e7 numpy-1.25.1-cp39-cp39-macosx_10_9_x86_64.whl d71e1cbe18fe05944219e5a5be1796bf numpy-1.25.1-cp39-cp39-macosx_11_0_arm64.whl 5b457e10834c991bca84aae7eaa49f34 numpy-1.25.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 5cbb4c2f2892fafdf6f34fcb37c9e743 numpy-1.25.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 7d9d1ae23cf5420652088bfe8e048d89 numpy-1.25.1-cp39-cp39-musllinux_1_1_x86_64.whl 7e5bed491b85f0d7c718d6809f9b3ed2 numpy-1.25.1-cp39-cp39-win32.whl 838e97b751bebadf47e2196b2c88ffa2 numpy-1.25.1-cp39-cp39-win_amd64.whl 9ba95d8d6004d9659d7728fe93f67be9 numpy-1.25.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl fbccb20254a2dc85bdec549a03b8eb56 numpy-1.25.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 95e36689e6dd078caf11e7e2a2d5f5f1 numpy-1.25.1-pp39-pypy39_pp73-win_amd64.whl 768d0ebf15e2242f4c7ca7565bb5dd3e numpy-1.25.1.tar.gz SHA256 77d339465dff3eb33c701430bcb9c325b60354698340229e1dff97745e6b3efa numpy-1.25.1-cp310-cp310-macosx_10_9_x86_64.whl d736b75c3f2cb96843a5c7f8d8ccc414768d34b0a75f466c05f3a739b406f10b numpy-1.25.1-cp310-cp310-macosx_11_0_arm64.whl 4a90725800caeaa160732d6b31f3f843ebd45d6b5f3eec9e8cc287e30f2805bf numpy-1.25.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 6c6c9261d21e617c6dc5eacba35cb68ec36bb72adcff0dee63f8fbc899362588 numpy-1.25.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 0def91f8af6ec4bb94c370e38c575855bf1d0be8a8fbfba42ef9c073faf2cf19 numpy-1.25.1-cp310-cp310-musllinux_1_1_x86_64.whl fd67b306320dcadea700a8f79b9e671e607f8696e98ec255915c0c6d6b818503 numpy-1.25.1-cp310-cp310-win32.whl c1516db588987450b85595586605742879e50dcce923e8973f79529651545b57 numpy-1.25.1-cp310-cp310-win_amd64.whl 6b82655dd8efeea69dbf85d00fca40013d7f503212bc5259056244961268b66e numpy-1.25.1-cp311-cp311-macosx_10_9_x86_64.whl e8f6049c4878cb16960fbbfb22105e49d13d752d4d8371b55110941fb3b17800 numpy-1.25.1-cp311-cp311-macosx_11_0_arm64.whl 41a56b70e8139884eccb2f733c2f7378af06c82304959e174f8e7370af112e09 numpy-1.25.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl d5154b1a25ec796b1aee12ac1b22f414f94752c5f94832f14d8d6c9ac40bcca6 numpy-1.25.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 38eb6548bb91c421261b4805dc44def9ca1a6eef6444ce35ad1669c0f1a3fc5d numpy-1.25.1-cp311-cp311-musllinux_1_1_x86_64.whl 791f409064d0a69dd20579345d852c59822c6aa087f23b07b1b4e28ff5880fcb numpy-1.25.1-cp311-cp311-win32.whl c40571fe966393b212689aa17e32ed905924120737194b5d5c1b20b9ed0fb171 numpy-1.25.1-cp311-cp311-win_amd64.whl 3d7abcdd85aea3e6cdddb59af2350c7ab1ed764397f8eec97a038ad244d2d105 numpy-1.25.1-cp39-cp39-macosx_10_9_x86_64.whl 1a180429394f81c7933634ae49b37b472d343cccb5bb0c4a575ac8bbc433722f numpy-1.25.1-cp39-cp39-macosx_11_0_arm64.whl d412c1697c3853c6fc3cb9751b4915859c7afe6a277c2bf00acf287d56c4e625 numpy-1.25.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 20e1266411120a4f16fad8efa8e0454d21d00b8c7cee5b5ccad7565d95eb42dd numpy-1.25.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl f76aebc3358ade9eacf9bc2bb8ae589863a4f911611694103af05346637df1b7 numpy-1.25.1-cp39-cp39-musllinux_1_1_x86_64.whl 247d3ffdd7775bdf191f848be8d49100495114c82c2bd134e8d5d075fb386a1c numpy-1.25.1-cp39-cp39-win32.whl 1d5d3c68e443c90b38fdf8ef40e60e2538a27548b39b12b73132456847f4b631 numpy-1.25.1-cp39-cp39-win_amd64.whl 35a9527c977b924042170a0887de727cd84ff179e478481404c5dc66b4170009 numpy-1.25.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl 0d3fe3dd0506a28493d82dc3cf254be8cd0d26f4008a417385cbf1ae95b54004 numpy-1.25.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 012097b5b0d00a11070e8f2e261128c44157a8689f7dedcf35576e525893f4fe numpy-1.25.1-pp39-pypy39_pp73-win_amd64.whl 9a3a9f3a61480cc086117b426a8bd86869c213fc4072e606f01c4e4b66eb92bf numpy-1.25.1.tar.gz ``` ### 1.25.0 ``` The NumPy 1.25.0 release continues the ongoing work to improve the handling and promotion of dtypes, increase the execution speed, and clarify the documentation. There has also been work to prepare for the future NumPy 2.0.0 release, resulting in a large number of new and expired deprecation. Highlights are: - Support for MUSL, there are now MUSL wheels. - Support the Fujitsu C/C++ compiler. - Object arrays are now supported in einsum - Support for inplace matrix multiplication (`=`). We will be releasing a NumPy 1.26 when Python 3.12 comes out. That is needed because distutils has been dropped by Python 3.12 and we will be switching to using meson for future builds. The next mainline release will be NumPy 2.0.0. We plan that the 2.0 series will still support downstream projects built against earlier versions of NumPy. The Python versions supported in this release are 3.9-3.11. Deprecations - `np.core.MachAr` is deprecated. It is private API. In names defined in `np.core` should generally be considered private. ([gh-22638](https://github.com/numpy/numpy/pull/22638)) - `np.finfo(None)` is deprecated. ([gh-23011](https://github.com/numpy/numpy/pull/23011)) - `np.round_` is deprecated. Use `np.round` instead. ([gh-23302](https://github.com/numpy/numpy/pull/23302)) - `np.product` is deprecated. Use `np.prod` instead. ([gh-23314](https://github.com/numpy/numpy/pull/23314)) - `np.cumproduct` is deprecated. Use `np.cumprod` instead. ([gh-23314](https://github.com/numpy/numpy/pull/23314)) - `np.sometrue` is deprecated. Use `np.any` instead. ([gh-23314](https://github.com/numpy/numpy/pull/23314)) - `np.alltrue` is deprecated. Use `np.all` instead. ([gh-23314](https://github.com/numpy/numpy/pull/23314)) - Only ndim-0 arrays are treated as scalars. NumPy used to treat all arrays of size 1 (e.g., `np.array([3.14])`) as scalars. In the future, this will be limited to arrays of ndim 0 (e.g., `np.array(3.14)`). The following expressions will report a deprecation warning: python a = np.array([3.14]) float(a) better: a[0] to get the numpy.float or a.item() b = np.array([[3.14]]) c = numpy.random.rand(10) c[0] = b better: c[0] = b[0, 0] ([gh-10615](https://github.com/numpy/numpy/pull/10615)) - `numpy.find_common_type` is now deprecated and its use should be replaced with either `numpy.result_type` or `numpy.promote_types`. Most users leave the second `scalar_types` argument to `find_common_type` as `[]` in which case `np.result_type` and `np.promote_types` are both faster and more robust. When not using `scalar_types` the main difference is that the replacement intentionally converts non-native byte-order to native byte order. Further, `find_common_type` returns `object` dtype rather than failing promotion. This leads to differences when the inputs are not all numeric. Importantly, this also happens for e.g. timedelta/datetime for which NumPy promotion rules are currently sometimes surprising. When the `scalar_types` argument is not `[]` things are more complicated. In most cases, using `np.result_type` and passing the Python values `0`, `0.0`, or `0j` has the same result as using `int`, `float`, or `complex` in `scalar_types`. When `scalar_types` is constructed, `np.result_type` is the correct replacement and it may be passed scalar values like `np.float32(0.0)`. Passing values other than 0, may lead to value-inspecting behavior (which `np.find_common_type` never used and NEP 50 may change in the future). The main possible change in behavior in this case, is when the array types are signed integers and scalar types are unsigned. If you are unsure about how to replace a use of `scalar_types` or when non-numeric dtypes are likely, please do not hesitate to open a NumPy issue to ask for help. ([gh-22539](https://github.com/numpy/numpy/pull/22539)) Expired deprecations - `np.core.machar` and `np.finfo.machar` have been removed. ([gh-22638](https://github.com/numpy/numpy/pull/22638)) - `+arr` will now raise an error when the dtype is not numeric (and positive is undefined). ([gh-22998](https://github.com/numpy/numpy/pull/22998)) - A sequence must now be passed into the stacking family of functions (`stack`, `vstack`, `hstack`, `dstack` and `column_stack`). ([gh-23019](https://github.com/numpy/numpy/pull/23019)) - `np.clip` now defaults to same-kind casting. Falling back to unsafe casting was deprecated in NumPy 1.17. ([gh-23403](https://github.com/numpy/numpy/pull/23403)) - `np.clip` will now propagate `np.nan` values passed as `min` or `max`. Previously, a scalar NaN was usually ignored. This was deprecated in NumPy 1.17. ([gh-23403](https://github.com/numpy/numpy/pull/23403)) - The `np.dual` submodule has been removed. ([gh-23480](https://github.com/numpy/numpy/pull/23480)) - NumPy now always ignores sequence behavior for an array-like (defining one of the array protocols). (Deprecation started NumPy 1.20) ([gh-23660](https://github.com/numpy/numpy/pull/23660)) - The niche `FutureWarning` when casting to a subarray dtype in `astype` or the array creation functions such as `asarray` is now finalized. The behavior is now always the same as if the subarray dtype was wrapped into a single field (which was the workaround, previously). (FutureWarning since NumPy 1.20) ([gh-23666](https://github.com/numpy/numpy/pull/23666)) - `==` and `!=` warnings have been finalized. The `==` and `!=` operators on arrays now always: - raise errors that occur during comparisons such as when the arrays have incompatible shapes (`np.array([1, 2]) == np.array([1, 2, 3])`). - return an array of all `True` or all `False` when values are fundamentally not comparable (e.g. have different dtypes). An example is `np.array(["a"]) == np.array([1])`. This mimics the Python behavior of returning `False` and `True` when comparing incompatible types like `"a" == 1` and `"a" != 1`. For a long time these gave `DeprecationWarning` or `FutureWarning`. ([gh-22707](https://github.com/numpy/numpy/pull/22707)) - Nose support has been removed. NumPy switched to using pytest in 2018 and nose has been unmaintained for many years. We have kept NumPy\'s nose support to avoid breaking downstream projects who might have been using it and not yet switched to pytest or some other testing framework. With the arrival of Python 3.12, unpatched nose will raise an error. It is time to move on. *Decorators removed*: - raises - slow - setastest - skipif - knownfailif - deprecated - parametrize - \_needs_refcount These are not to be confused with pytest versions with similar names, e.g., pytest.mark.slow, pytest.mark.skipif, pytest.mark.parametrize. *Functions removed*: - Tester - import_nose - run_module_suite ([gh-23041](https://github.com/numpy/numpy/pull/23041)) - The `numpy.testing.utils` shim has been removed. Importing from the `numpy.testing.utils` shim has been deprecated since 2019, the shim has now been removed. All imports should be made directly from `numpy.testing`. ([gh-23060](https://github.com/numpy/numpy/pull/23060)) - The environment variable to disable dispatching has been removed. Support for the `NUMPY_EXPERIMENTAL_ARRAY_FUNCTION` environment variable has been removed. This variable disabled dispatching with `__array_function__`. ([gh-23376](https://github.com/numpy/numpy/pull/23376)) - Support for `y=` as an alias of `out=` has been removed. The `fix`, `isposinf` and `isneginf` functions allowed using `y=` as a (deprecated) alias for `out=`. This is no longer supported. ([gh-23376](https://github.com/numpy/numpy/pull/23376)) Compatibility notes - The `busday_count` method now correctly handles cases where the `begindates` is later in time than the `enddates`. Previously, the `enddates` was included, even though the documentation states it is always excluded. ([gh-23229](https://github.com/numpy/numpy/pull/23229)) - When comparing datetimes and timedelta using `np.equal` or `np.not_equal` numpy previously allowed the comparison with `casting="unsafe"`. This operation now fails. Forcing the output dtype using the `dtype` kwarg can make the operation succeed, but we do not recommend it. ([gh-22707](https://github.com/numpy/numpy/pull/22707)) - When loading data from a file handle using `np.load`, if the handle is at the end of file, as can happen when reading multiple arrays by calling `np.load` repeatedly, numpy previously raised `ValueError` if `allow_pickle=False`, and `OSError` if `allow_pickle=True`. Now it raises `EOFError` instead, in both cases. ([gh-23105](https://github.com/numpy/numpy/pull/23105)) `np.pad` with `mode=wrap` pads with strict multiples of original data Code based on earlier version of `pad` that uses `mode="wrap"` will return different results when the padding size is larger than initial array. `np.pad` with `mode=wrap` now always fills the space with strict multiples of original data even if the padding size is larger than the initial array. ([gh-22575](https://github.com/numpy/numpy/pull/22575)) Cython `long_t` and `ulong_t` removed `long_t` and `ulong_t` were aliases for `longlong_t` and `ulonglong_t` and confusing (a remainder from of Python 2). This change may lead to the errors: 'long_t' is not a type identifier 'ulong_t' is not a type identifier We recommend use of bit-sized types such as `cnp.int64_t` or the use of `cnp.intp_t` which is 32 bits on 32 bit systems and 64 bits on 64 bit systems (this is most compatible with indexing). If C `long` is desired, use plain `long` or `npy_long`. `cnp.int_t` is also `long` (NumPy\'s default integer). However, `long` is 32 bit on 64 bit windows and we may wish to adjust this even in NumPy. (Please do not hesitate to contact NumPy developers if you are curious about this.) ([gh-22637](https://github.com/numpy/numpy/pull/22637)) Changed error message and type for bad `axes` argument to `ufunc` The error message and type when a wrong `axes` value is passed to `ufunc(..., axes=[...])` has changed. The message is now more indicative of the problem, and if the value is mismatched an `AxisError` will be raised. A `TypeError` will still be raised for invalidinput types. ([gh-22675](https://github.com/numpy/numpy/pull/22675)) Array-likes that define `__array_ufunc__` can now override ufuncs if used as `where` If the `where` keyword argument of a `numpy.ufunc`{.interpreted-text role="class"} is a subclass of `numpy.ndarray`{.interpreted-text role="class"} or is a duck type that defines `numpy.class.__array_ufunc__`{.interpreted-text role="func"} it can override the behavior of the ufunc using the same mechanism as the input and output arguments. Note that for this to work properly, the `where.__array_ufunc__` implementation will have to unwrap the `where` argument to pass it into the default implementation of the `ufunc` or, for `numpy.ndarray`{.interpreted-text role="class"} subclasses before using `super().__array_ufunc__`. ([gh-23240](https://github.com/numpy/numpy/pull/23240)) Compiling against the NumPy C API is now backwards compatible by default NumPy now defaults to exposing a backwards compatible subset of the C-API. This makes the use of `oldest-supported-numpy` unnecessary. Libraries can override the default minimal version to be compatible with using: define NPY_TARGET_VERSION NPY_1_22_API_VERSION before including NumPy or by passing the equivalent `-D` option to the compiler. The NumPy 1.25 default is `NPY_1_19_API_VERSION`. Because the ``` ### 1.24.4 ``` discovered after the 1.24.3 release. It is the last planned release in the 1.24.x cycle. The Python versions supported by this release are 3.8-3.11. Contributors A total of 4 people contributed to this release. People with a \"+\" by their names contributed a patch for the first time. - Bas van Beek - Charles Harris - Sebastian Berg - Hongyang Peng + Pull requests merged A total of 6 pull requests were merged for this release. - [23720](https://github.com/numpy/numpy/pull/23720): MAINT, BLD: Pin rtools to version 4.0 for Windows builds. - [23739](https://github.com/numpy/numpy/pull/23739): BUG: fix the method for checking local files for 1.24.x - [23760](https://github.com/numpy/numpy/pull/23760): MAINT: Copy rtools installation from install-rtools. - [23761](https://github.com/numpy/numpy/pull/23761): BUG: Fix masked array ravel order for A (and somewhat K) - [23890](https://github.com/numpy/numpy/pull/23890): TYP,DOC: Annotate and document the `metadata` parameter of\... - [23994](https://github.com/numpy/numpy/pull/23994): MAINT: Update rtools installation Checksums MD5 25049e3aee79dde29e7a498d3ad13379 numpy-1.24.4-cp310-cp310-macosx_10_9_x86_64.whl 579b5c357c918feaef4af03af8afb721 numpy-1.24.4-cp310-cp310-macosx_11_0_arm64.whl c873a14fa4f0210884db9c05e2904286 numpy-1.24.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 110a13ac016286059f0658b52b3646c0 numpy-1.24.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl fa67218966c0aef4094867cad7703648 numpy-1.24.4-cp310-cp310-win32.whl 6ee768803d8ebac43ee0a04e628a69f9 numpy-1.24.4-cp310-cp310-win_amd64.whl 0c918c16b58cb7f6773ea7d76e0bdaff numpy-1.24.4-cp311-cp311-macosx_10_9_x86_64.whl 20506ae8003faf097c6b3a8915b4140e numpy-1.24.4-cp311-cp311-macosx_11_0_arm64.whl 902df9d5963e89d88a1939d94207857f numpy-1.24.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 2543611d802c141c8276e4868b4d9619 numpy-1.24.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 37b23a4e4e148d61dd3a515ac5dbf7ec numpy-1.24.4-cp311-cp311-win32.whl 25e9f6bee2b65ff2a87588e717f15165 numpy-1.24.4-cp311-cp311-win_amd64.whl f39a0cc3655a482af7d300bcaff5978e numpy-1.24.4-cp38-cp38-macosx_10_9_x86_64.whl 9ed27941388fdb392e8969169f3fc600 numpy-1.24.4-cp38-cp38-macosx_11_0_arm64.whl dee3f0c7482f1dc8bd1cd27b9b028a2c numpy-1.24.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 2cc0967af29df3caef9fb3520f14e071 numpy-1.24.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 8572a3a0973fa78355bcb5f737745b47 numpy-1.24.4-cp38-cp38-win32.whl 771c63f2ef0d31466bbb12362a532265 numpy-1.24.4-cp38-cp38-win_amd64.whl 5713d9dc3dff287fb72121fe1960c48d numpy-1.24.4-cp39-cp39-macosx_10_9_x86_64.whl 4e6718e3b655219a2a733b4fa242ca32 numpy-1.24.4-cp39-cp39-macosx_11_0_arm64.whl 31487f9a52ef81f8f88ec7fce8738dad numpy-1.24.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl ea597b30187e55eb16ee31631e66f60d numpy-1.24.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 98adbf30c67154056474001c125f6188 numpy-1.24.4-cp39-cp39-win32.whl 49c444b0e572ef45f1d92c106a36004e numpy-1.24.4-cp39-cp39-win_amd64.whl cdddfdeac437b0f20b4e366f00b5c42e numpy-1.24.4-pp38-pypy38_pp73-macosx_10_9_x86_64.whl 3778338c15628caa3abd61e6f7bd46ec numpy-1.24.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl e16bd49d5295dc1b01ed50d76229fb54 numpy-1.24.4-pp38-pypy38_pp73-win_amd64.whl 3f3995540a17854a29dc79f8eeecd832 numpy-1.24.4.tar.gz SHA256 c0bfb52d2169d58c1cdb8cc1f16989101639b34c7d3ce60ed70b19c63eba0b64 numpy-1.24.4-cp310-cp310-macosx_10_9_x86_64.whl ed094d4f0c177b1b8e7aa9cba7d6ceed51c0e569a5318ac0ca9a090680a6a1b1 numpy-1.24.4-cp310-cp310-macosx_11_0_arm64.whl 79fc682a374c4a8ed08b331bef9c5f582585d1048fa6d80bc6c35bc384eee9b4 numpy-1.24.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 7ffe43c74893dbf38c2b0a1f5428760a1a9c98285553c89e12d70a96a7f3a4d6 numpy-1.24.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 4c21decb6ea94057331e111a5bed9a79d335658c27ce2adb580fb4d54f2ad9bc numpy-1.24.4-cp310-cp310-win32.whl b4bea75e47d9586d31e892a7401f76e909712a0fd510f58f5337bea9572c571e numpy-1.24.4-cp310-cp310-win_amd64.whl f136bab9c2cfd8da131132c2cf6cc27331dd6fae65f95f69dcd4ae3c3639c810 numpy-1.24.4-cp311-cp311-macosx_10_9_x86_64.whl e2926dac25b313635e4d6cf4dc4e51c8c0ebfed60b801c799ffc4c32bf3d1254 numpy-1.24.4-cp311-cp311-macosx_11_0_arm64.whl 222e40d0e2548690405b0b3c7b21d1169117391c2e82c378467ef9ab4c8f0da7 numpy-1.24.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 7215847ce88a85ce39baf9e89070cb860c98fdddacbaa6c0da3ffb31b3350bd5 numpy-1.24.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 4979217d7de511a8d57f4b4b5b2b965f707768440c17cb70fbf254c4b225238d numpy-1.24.4-cp311-cp311-win32.whl b7b1fc9864d7d39e28f41d089bfd6353cb5f27ecd9905348c24187a768c79694 numpy-1.24.4-cp311-cp311-win_amd64.whl 1452241c290f3e2a312c137a9999cdbf63f78864d63c79039bda65ee86943f61 numpy-1.24.4-cp38-cp38-macosx_10_9_x86_64.whl 04640dab83f7c6c85abf9cd729c5b65f1ebd0ccf9de90b270cd61935eef0197f numpy-1.24.4-cp38-cp38-macosx_11_0_arm64.whl a5425b114831d1e77e4b5d812b69d11d962e104095a5b9c3b641a218abcc050e numpy-1.24.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl dd80e219fd4c71fc3699fc1dadac5dcf4fd882bfc6f7ec53d30fa197b8ee22dc numpy-1.24.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 4602244f345453db537be5314d3983dbf5834a9701b7723ec28923e2889e0bb2 numpy-1.24.4-cp38-cp38-win32.whl 692f2e0f55794943c5bfff12b3f56f99af76f902fc47487bdfe97856de51a706 numpy-1.24.4-cp38-cp38-win_amd64.whl 2541312fbf09977f3b3ad449c4e5f4bb55d0dbf79226d7724211acc905049400 numpy-1.24.4-cp39-cp39-macosx_10_9_x86_64.whl 9667575fb6d13c95f1b36aca12c5ee3356bf001b714fc354eb5465ce1609e62f numpy-1.24.4-cp39-cp39-macosx_11_0_arm64.whl f3a86ed21e4f87050382c7bc96571755193c4c1392490744ac73d660e8f564a9 numpy-1.24.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl d11efb4dbecbdf22508d55e48d9c8384db795e1b7b51ea735289ff96613ff74d numpy-1.24.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 6620c0acd41dbcb368610bb2f4d83145674040025e5536954782467100aa8835 numpy-1.24.4-cp39-cp39-win32.whl befe2bf740fd8373cf56149a5c23a0f601e82869598d41f8e188a0e9869926f8 numpy-1.24.4-cp39-cp39-win_amd64.whl 31f13e25b4e304632a4619d0e0777662c2ffea99fcae2029556b17d8ff958aef numpy-1.24.4-pp38-pypy38_pp73-macosx_10_9_x86_64.whl 95f7ac6540e95bc440ad77f56e520da5bf877f87dca58bd095288dce8940532a numpy-1.24.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl e98f220aa76ca2a977fe435f5b04d7b3470c0a2e6312907b37ba6068f26787f2 numpy-1.24.4-pp38-pypy38_pp73-win_amd64.whl 80f5e3a4e498641401868df4208b74581206afbee7cf7b8329daae82676d9463 numpy-1.24.4.tar.gz ``` ### 1.24.3 ``` discovered after the 1.24.2 release. The Python versions supported by this release are 3.8-3.11. Contributors A total of 12 people contributed to this release. People with a \"+\" by their names contributed a patch for the first time. - Aleksei Nikiforov + - Alexander Heger - Bas van Beek - Bob Eldering - Brock Mendel - Charles Harris - Kyle Sunden - Peter Hawkins - Rohit Goswami - Sebastian Berg - Warren Weckesser - dependabot\[bot\] Pull requests merged A total of 17 pull requests were merged for this release. - [23206](https://github.com/numpy/numpy/pull/23206): BUG: fix for f2py string scalars (#23194) - [23207](https://github.com/numpy/numpy/pull/23207): BUG: datetime64/timedelta64 comparisons return NotImplemented - [23208](https://github.com/numpy/numpy/pull/23208): MAINT: Pin matplotlib to version 3.6.3 for refguide checks - [23221](https://github.com/numpy/numpy/pull/23221): DOC: Fix matplotlib error in documentation - [23226](https://github.com/numpy/numpy/pull/23226): CI: Ensure submodules are initialized in gitpod. - [23341](https://github.com/numpy/numpy/pull/23341): TYP: Replace duplicate reduce in ufunc type signature with reduceat. - [23342](https://github.com/numpy/numpy/pull/23342): TYP: Remove duplicate CLIP/WRAP/RAISE in `__init__.pyi`. - [23343](https://github.com/numpy/numpy/pull/23343): TYP: Mark `d` argument to fftfreq and rfftfreq as optional\... - [23344](https://github.com/numpy/numpy/pull/23344): TYP: Add type annotations for comparison operators to MaskedArray. - [23345](https://github.com/numpy/numpy/pull/23345): TYP: Remove some stray type-check-only imports of `msort` - [23370](https://github.com/numpy/numpy/pull/23370): BUG: Ensure like is only stripped for `like=` dispatched functions - [23543](https://github.com/numpy/numpy/pull/23543): BUG: fix loading and storing big arrays on s390x - [23544](https://github.com/numpy/numpy/pull/23544): MAINT: Bump larsoner/circleci-artifacts-redirector-action - [23634](https://github.com/numpy/numpy/pull/23634): BUG: Ignore invalid and overflow warnings in masked setitem - [23635](https://github.com/numpy/numpy/pull/23635): BUG: Fix masked array raveling when `
pyup-bot commented 1 year ago

Closing this in favor of #153