Numpy

Latest version: v2.2.1

Safety actively analyzes 693883 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 18 of 23

1.16.1

Not secure
==========================

The NumPy 1.16.1 release fixes bugs reported against the 1.16.0 release, and
also backports several enhancements from master that seem appropriate for a
release series that is the last to support Python 2.7. The wheels on PyPI are
linked with OpenBLAS v0.3.4+, which should fix the known threading issues
found in previous OpenBLAS versions.

Downstream developers building this release should use Cython >= 0.29.2 and, if
using OpenBLAS, OpenBLAS > v0.3.4.

If you are installing using pip, you may encounter a problem with older
installed versions of NumPy that pip did not delete becoming mixed with the
current version, resulting in an ``ImportError``. That problem is particularly
common on Debian derived distributions due to a modified pip. The fix is to
make sure all previous NumPy versions installed by pip have been removed. See
`12736 <https://github.com/numpy/numpy/issues/12736>`__ for discussion of the
issue. Note that previously this problem resulted in an ``AttributeError``.


Contributors
============

A total of 16 people contributed to this release. People with a "+" by their
names contributed a patch for the first time.

* Antoine Pitrou
* Arcesio Castaneda Medina +
* Charles Harris
* Chris Markiewicz +
* Christoph Gohlke
* Christopher J. Markiewicz +
* Daniel Hrisca +
* EelcoPeacs +
* Eric Wieser
* Kevin Sheppard
* Matti Picus
* OBATA Akio +
* Ralf Gommers
* Sebastian Berg
* Stephan Hoyer
* Tyler Reddy


Enhancements
============

* 12767: ENH: add mm->q floordiv
* 12768: ENH: port np.core.overrides to C for speed
* 12769: ENH: Add np.ctypeslib.as_ctypes_type(dtype), improve `np.ctypeslib.as_ctypes`
* 12773: ENH: add "max difference" messages to np.testing.assert_array_equal...
* 12820: ENH: Add mm->qm divmod
* 12890: ENH: add _dtype_ctype to namespace for freeze analysis


Compatibility notes
===================

* The changed error message emited by array comparison testing functions may
affect doctests. See below for detail.

* Casting from double and single denormals to float16 has been corrected. In
some rare cases, this may result in results being rounded up instead of down,
changing the last bit (ULP) of the result.


New Features
============

divmod operation is now supported for two ``timedelta64`` operands
------------------------------------------------------------------
The divmod operator now handles two ``np.timedelta64`` operands, with
type signature ``mm->qm``.


Improvements
============

Further improvements to ``ctypes`` support in ``np.ctypeslib``
--------------------------------------------------------------
A new ``np.ctypeslib.as_ctypes_type`` function has been added, which can be
used to converts a `dtype` into a best-guess `ctypes` type. Thanks to this
new function, ``np.ctypeslib.as_ctypes`` now supports a much wider range of
array types, including structures, booleans, and integers of non-native
endianness.

Array comparison assertions include maximum differences
-------------------------------------------------------
Error messages from array comparison tests such as
`np.testing.assert_allclose` now include "max absolute difference" and
"max relative difference," in addition to the previous "mismatch" percentage.
This information makes it easier to update absolute and relative error
tolerances.


Changes
=======

``timedelta64 % 0`` behavior adjusted to return ``NaT``
-------------------------------------------------------
The modulus operation with two ``np.timedelta64`` operands now returns
``NaT`` in the case of division by zero, rather than returning zero




Checksums
=========

MD5
---

456aae0a43311da1570a53baef7f5620 numpy-1.16.1-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
8f39da654cd27a96877955a2fbf3883f numpy-1.16.1-cp27-cp27m-manylinux1_i686.whl
add6fcaf9b5007dca2fc966b918d585e numpy-1.16.1-cp27-cp27m-manylinux1_x86_64.whl
b2193c7af769169229eef8d2371929c2 numpy-1.16.1-cp27-cp27m-win32.whl
3a7eba56bcebc52b223d63ab4b9bf029 numpy-1.16.1-cp27-cp27m-win_amd64.whl
3bc676163ce4d526c8305bc889f0594d numpy-1.16.1-cp27-cp27mu-manylinux1_i686.whl
55ccd6d343be1e16e70159714ac74848 numpy-1.16.1-cp27-cp27mu-manylinux1_x86_64.whl
15bebbeddc5924243a010680e184b6e8 numpy-1.16.1-cp35-cp35m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
86aacbea051b7542a8bd3486d2fa79cd numpy-1.16.1-cp35-cp35m-manylinux1_i686.whl
486ce91fd66ec19044d8faa7d00e619b numpy-1.16.1-cp35-cp35m-manylinux1_x86_64.whl
f2665475de0378467d88e6d80ac47f09 numpy-1.16.1-cp35-cp35m-win32.whl
42b9d99bf4b03e3e9ae7aee8cbdff97c numpy-1.16.1-cp35-cp35m-win_amd64.whl
269c80fde767b2b65abec775171aebed numpy-1.16.1-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
a9561d8a38ee7d52126dfe779429036d numpy-1.16.1-cp36-cp36m-manylinux1_i686.whl
2d146e75063ce8aaa255ea06d6647fa2 numpy-1.16.1-cp36-cp36m-manylinux1_x86_64.whl
3a422881207202055c7530d3c4a63cc0 numpy-1.16.1-cp36-cp36m-win32.whl
641af9183978922d4eb610c0df1abb4a numpy-1.16.1-cp36-cp36m-win_amd64.whl
8eca0834ffce217b61633a2ba16f9e98 numpy-1.16.1-cp37-cp37m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
df387b8e8ee398f2a6a46b18981ce7e3 numpy-1.16.1-cp37-cp37m-manylinux1_i686.whl
daaac731bf53b6f90bf381e30c0b0e35 numpy-1.16.1-cp37-cp37m-manylinux1_x86_64.whl
7443f622e549bf116ca561c1db6a4491 numpy-1.16.1-cp37-cp37m-win32.whl
18b7d994de469d38e26c75c27898fa4f numpy-1.16.1-cp37-cp37m-win_amd64.whl
ae2e65a2f2d7c80a3264fb038157895c numpy-1.16.1.tar.gz
dafda51934f645d888866f98424521ae numpy-1.16.1.zip

SHA256
------

e9c88f173d31909d881a60f08a8494e63f1aff2a4052476b24d4f50e82c47e24 numpy-1.16.1-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
69c152f7c11bf3b4fc11bc4cc62eb0334371c0db6844ebace43b7c815b602805 numpy-1.16.1-cp27-cp27m-manylinux1_i686.whl
ae602ba425fb2b074e16d125cdce4f0194903da935b2e7fe284ebecca6d92e76 numpy-1.16.1-cp27-cp27m-manylinux1_x86_64.whl
4341a39fc085f31a583be505eabf00e17c619b469fef78dc7e8241385bfddaa4 numpy-1.16.1-cp27-cp27m-win32.whl
a863957192855c4c57f60a75a1ac06ce5362ad18506d362dd807e194b4baf3ce numpy-1.16.1-cp27-cp27m-win_amd64.whl
62784b35df7de7ca4d0d81c5b6af5983f48c5cdef32fc3635b445674e56e3266 numpy-1.16.1-cp27-cp27mu-manylinux1_i686.whl
6ccfdcefd287f252cf1ea7a3f1656070da330c4a5658e43ad223269165cdf977 numpy-1.16.1-cp27-cp27mu-manylinux1_x86_64.whl
8bbee788d82c0ac656536de70e817af09b7694f5326b0ef08e5c1014fcb96bb3 numpy-1.16.1-cp35-cp35m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
f69dde0c5a137d887676a8129373e44366055cf19d1b434e853310c7a1e68f93 numpy-1.16.1-cp35-cp35m-manylinux1_i686.whl
575cefd28d3e0da85b0864506ae26b06483ee4a906e308be5a7ad11083f9d757 numpy-1.16.1-cp35-cp35m-manylinux1_x86_64.whl
45080f065dcaa573ebecbfe13cdd86e8c0a68c4e999aa06bd365374ea7137706 numpy-1.16.1-cp35-cp35m-win32.whl
34dd4922aab246c39bf5df03ca653d6265e65971deca6784c956bf356bca6197 numpy-1.16.1-cp35-cp35m-win_amd64.whl
c2c39d69266621dd7464e2bb740d6eb5abc64ddc339cc97aa669f3bb4d75c103 numpy-1.16.1-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
392e2ea22b41a22c0289a88053204b616181288162ba78e6823e1760309d5277 numpy-1.16.1-cp36-cp36m-manylinux1_i686.whl
7298fbd73c0b3eff1d53dc9b9bdb7add8797bb55eeee38c8ccd7906755ba28af numpy-1.16.1-cp36-cp36m-manylinux1_x86_64.whl
384e2dfa03da7c8d54f8f934f61b6a5e4e1ebb56a65b287567629d6c14578003 numpy-1.16.1-cp36-cp36m-win32.whl
2b0cca1049bd39d1879fa4d598624cafe82d35529c72de1b3d528d68031cdd95 numpy-1.16.1-cp36-cp36m-win_amd64.whl
b13faa258b20fa66d29011f99fdf498641ca74a0a6d9266bc27d83c70fea4a6a numpy-1.16.1-cp37-cp37m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
485cb1eb4c9962f4cd042fed9424482ec1d83fee5dc2ef3f2552ac47852cb259 numpy-1.16.1-cp37-cp37m-manylinux1_i686.whl
0cdbbaa30ae69281b18dd995d3079c4e552ad6d5426977f66b9a2a95f11f552a numpy-1.16.1-cp37-cp37m-manylinux1_x86_64.whl
79463d918d1bf3aeb9186e3df17ddb0baca443f41371df422f99ee94f4f2bbfe numpy-1.16.1-cp37-cp37m-win32.whl
f1a29267ac29fff0913de0f11f3a9edfcd3f39595f467026c29376fad243ebe3 numpy-1.16.1-cp37-cp37m-win_amd64.whl
748369f4d5f60caf93e1d86cb22ad7fc5f82693f18804638f22bc55df27792ec numpy-1.16.1.tar.gz
31d3fe5b673e99d33d70cfee2ea8fe8dccd60f265c3ed990873a88647e3dd288 numpy-1.16.1.zip

1.16.0

Not secure
==========================

This NumPy release is the last one to support Python 2.7 and will be maintained
as a long term release with bug fixes until 2020. Support for Python 3.4 been
dropped, the supported Python versions are 2.7 and 3.5-3.7. The wheels on PyPI
are linked with OpenBLAS v0.3.4+, which should fix the known threading issues
found in previous OpenBLAS versions.

Downstream developers building this release should use Cython >= 0.29 and, if
using OpenBLAS, OpenBLAS > v0.3.4.

This release has seen a lot of refactoring and features many bug fixes, improved
code organization, and better cross platform compatibility. Not all of these
improvements will be visible to users, but they should help make maintenance
easier going forward.


Highlights
==========

* Experimental support for overriding numpy functions,
see ``__array_function__`` below.

* The ``matmul`` function is now a ufunc. This provides better
performance and allows overriding with ``__array_ufunc__``.

* Improved support for the ARM and POWER architectures.

* Improved support for AIX and PyPy.

* Improved interop with ctypes.

* Improved support for PEP 3118.



New functions
=============

* New functions added to the `numpy.lib.recfuntions` module to ease the
structured assignment changes:

* ``assign_fields_by_name``
* ``structured_to_unstructured``
* ``unstructured_to_structured``
* ``apply_along_fields``
* ``require_fields``

See the user guide at <https://docs.scipy.org/doc/numpy/user/basics.rec.html>
for more info.


New deprecations
================

* The type dictionaries `numpy.core.typeNA` and `numpy.core.sctypeNA` are
deprecated. They were buggy and not documented and will be removed in the
1.18 release. Use`numpy.sctypeDict` instead.

* The `numpy.asscalar` function is deprecated. It is an alias to the more
powerful `numpy.ndarray.item`, not tested, and fails for scalars.

* The `numpy.set_array_ops` and `numpy.get_array_ops` functions are deprecated.
As part of `NEP 15`, they have been deprecated along with the C-API functions
:c:func:`PyArray_SetNumericOps` and :c:func:`PyArray_GetNumericOps`. Users
who wish to override the inner loop functions in built-in ufuncs should use
:c:func:`PyUFunc_ReplaceLoopBySignature`.

* The `numpy.unravel_index` keyword argument ``dims`` is deprecated, use
``shape`` instead.

* The `numpy.histogram` ``normed`` argument is deprecated. It was deprecated
previously, but no warning was issued.

* The ``positive`` operator (``+``) applied to non-numerical arrays is
deprecated. See below for details.

* Passing an iterator to the stack functions is deprecated


Expired deprecations
====================

* NaT comparisons now return ``False`` without a warning, finishing a
deprecation cycle begun in NumPy 1.11.

* ``np.lib.function_base.unique`` was removed, finishing a deprecation cycle
begun in NumPy 1.4. Use `numpy.unique` instead.

* multi-field indexing now returns views instead of copies, finishing a
deprecation cycle begun in NumPy 1.7. The change was previously attempted in
NumPy 1.14 but reverted until now.

* ``np.PackageLoader`` and ``np.pkgload`` have been removed. These were
deprecated in 1.10, had no tests, and seem to no longer work in 1.15.


Future changes
==============

* NumPy 1.17 will drop support for Python 2.7.


Compatibility notes
===================

f2py script on Windows
----------------------
On Windows, the installed script for running f2py is now an ``.exe`` file
rather than a ``*.py`` file and should be run from the command line as ``f2py``
whenever the ``Scripts`` directory is in the path. Running ``f2py`` as a module
``python -m numpy.f2py [...]`` will work without path modification in any
version of NumPy.

NaT comparisons
---------------
Consistent with the behavior of NaN, all comparisons other than inequality
checks with datetime64 or timedelta64 NaT ("not-a-time") values now always
return ``False``, and inequality checks with NaT now always return ``True``.
This includes comparisons beteween NaT values. For compatibility with the
old behavior, use ``np.isnat`` to explicitly check for NaT or convert
datetime64/timedelta64 arrays with ``.astype(np.int64)`` before making
comparisons.

complex64/128 alignment has changed
-----------------------------------
The memory alignment of complex types is now the same as a C-struct composed of
two floating point values, while before it was equal to the size of the type.
For many users (for instance on x64/unix/gcc) this means that complex64 is now
4-byte aligned instead of 8-byte aligned. An important consequence is that
aligned structured dtypes may now have a different size. For instance,
``np.dtype('c8,u1', align=True)`` used to have an itemsize of 16 (on x64/gcc)
but now it is 12.

More in detail, the complex64 type now has the same alignment as a C-struct
``struct {float r, i;}``, according to the compiler used to compile numpy, and
similarly for the complex128 and complex256 types.

nd_grid __len__ removal
-----------------------
``len(np.mgrid)`` and ``len(np.ogrid)`` are now considered nonsensical
and raise a ``TypeError``.

``np.unravel_index`` now accepts ``shape`` keyword argument
-----------------------------------------------------------
Previously, only the ``dims`` keyword argument was accepted
for specification of the shape of the array to be used
for unraveling. ``dims`` remains supported, but is now deprecated.

multi-field views return a view instead of a copy
-------------------------------------------------
Indexing a structured array with multiple fields, e.g., ``arr[['f1', 'f3']]``,
returns a view into the original array instead of a copy. The returned view
will often have extra padding bytes corresponding to intervening fields in the
original array, unlike before, which will affect code such as
``arr[['f1', 'f3']].view('float64')``. This change has been planned since numpy
1.7. Operations hitting this path have emitted ``FutureWarnings`` since then.
Additional ``FutureWarnings`` about this change were added in 1.12.

To help users update their code to account for these changes, a number of
functions have been added to the ``numpy.lib.recfunctions`` module which
safely allow such operations. For instance, the code above can be replaced
with ``structured_to_unstructured(arr[['f1', 'f3']], dtype='float64')``.
See the "accessing multiple fields" section of the
`user guide <https://docs.scipy.org/doc/numpy/user/basics.rec.html#accessing-multiple-fields>`__.


C API changes
=============

The :c:data:`NPY_API_VERSION` was incremented to 0x0000D, due to the addition
of:

* :c:member:`PyUFuncObject.core_dim_flags`
* :c:member:`PyUFuncObject.core_dim_sizes`
* :c:member:`PyUFuncObject.identity_value`
* :c:function:`PyUFunc_FromFuncAndDataAndSignatureAndIdentity`


New Features
============

Integrated squared error (ISE) estimator added to ``histogram``
---------------------------------------------------------------
This method (``bins='stone'``) for optimizing the bin number is a
generalization of the Scott's rule. The Scott's rule assumes the distribution
is approximately Normal, while the ISE_ is a non-parametric method based on
cross-validation.

.. _ISE: https://en.wikipedia.org/wiki/Histogram#Minimizing_cross-validation_estimated_squared_error

``max_rows`` keyword added for ``np.loadtxt``
---------------------------------------------
New keyword ``max_rows`` in `numpy.loadtxt` sets the maximum rows of the
content to be read after ``skiprows``, as in `numpy.genfromtxt`.

modulus operator support added for ``np.timedelta64`` operands
--------------------------------------------------------------
The modulus (remainder) operator is now supported for two operands
of type ``np.timedelta64``. The operands may have different units
and the return value will match the type of the operands.


Improvements
============

no-copy pickling of numpy arrays
--------------------------------
Up to protocol 4, numpy array pickling created 2 spurious copies of the data
being serialized. With pickle protocol 5, and the ``PickleBuffer`` API, a
large variety of numpy arrays can now be serialized without any copy using
out-of-band buffers, and with one less copy using in-band buffers. This
results, for large arrays, in an up to 66% drop in peak memory usage.

build shell independence
------------------------
NumPy builds should no longer interact with the host machine
shell directly. ``exec_command`` has been replaced with
``subprocess.check_output`` where appropriate.

`np.polynomial.Polynomial` classes render in LaTeX in Jupyter notebooks
-----------------------------------------------------------------------
When used in a front-end that supports it, `Polynomial` instances are now
rendered through LaTeX. The current format is experimental, and is subject to
change.

``randint`` and ``choice`` now work on empty distributions
----------------------------------------------------------
Even when no elements needed to be drawn, ``np.random.randint`` and
``np.random.choice`` raised an error when the arguments described an empty
distribution. This has been fixed so that e.g.
``np.random.choice([], 0) == np.array([], dtype=float64)``.

``linalg.lstsq``, ``linalg.qr``, and ``linalg.svd`` now work with empty arrays
------------------------------------------------------------------------------
Previously, a ``LinAlgError`` would be raised when an empty matrix/empty
matrices (with zero rows and/or columns) is/are passed in. Now outputs of
appropriate shapes are returned.

Chain exceptions to give better error messages for invalid PEP3118 format strings
---------------------------------------------------------------------------------
This should help track down problems.

Einsum optimization path updates and efficiency improvements
------------------------------------------------------------
Einsum was synchronized with the current upstream work.

`numpy.angle` and `numpy.expand_dims` now work on ``ndarray`` subclasses
------------------------------------------------------------------------
In particular, they now work for masked arrays.

``NPY_NO_DEPRECATED_API`` compiler warning suppression
------------------------------------------------------
Setting ``NPY_NO_DEPRECATED_API`` to a value of 0 will suppress the current compiler
warnings when the deprecated numpy API is used.

``np.diff`` Added kwargs prepend and append
-------------------------------------------
New kwargs ``prepend`` and ``append``, allow for values to be inserted on
either end of the differences. Similar to options for `ediff1d`. Now the
inverse of `cumsum` can be obtained easily via ``prepend=0``.

ARM support updated
-------------------
Support for ARM CPUs has been updated to accommodate 32 and 64 bit targets,
and also big and little endian byte ordering. AARCH32 memory alignment issues
have been addressed. CI testing has been expanded to include AARCH64 targets
via the services of shippable.com.

Appending to build flags
------------------------
`numpy.distutils` has always overridden rather than appended to `LDFLAGS` and
other similar such environment variables for compiling Fortran extensions.
Now, if the `NPY_DISTUTILS_APPEND_FLAGS` environment variable is set to 1, the
behavior will be appending. This applied to: `LDFLAGS`, `F77FLAGS`,
`F90FLAGS`, `FREEFLAGS`, `FOPT`, `FDEBUG`, and `FFLAGS`. See gh-11525 for more
details.

Generalized ufunc signatures now allow fixed-size dimensions
------------------------------------------------------------
By using a numerical value in the signature of a generalized ufunc, one can
indicate that the given function requires input or output to have dimensions
with the given size. E.g., the signature of a function that converts a polar
angle to a two-dimensional cartesian unit vector would be ``()->(2)``; that
for one that converts two spherical angles to a three-dimensional unit vector
would be ``(),()->(3)``; and that for the cross product of two
three-dimensional vectors would be ``(3),(3)->(3)``.

Note that to the elementary function these dimensions are not treated any
differently from variable ones indicated with a name starting with a letter;
the loop still is passed the corresponding size, but it can now count on that
size being equal to the fixed one given in the signature.

Generalized ufunc signatures now allow flexible dimensions
----------------------------------------------------------
Some functions, in particular numpy's implementation of ` as ``matmul``,
are very similar to generalized ufuncs in that they operate over core
dimensions, but one could not present them as such because they were able to
deal with inputs in which a dimension is missing. To support this, it is now
allowed to postfix a dimension name with a question mark to indicate that the
dimension does not necessarily have to be present.

With this addition, the signature for ``matmul`` can be expressed as
``(m?,n),(n,p?)->(m?,p?)``. This indicates that if, e.g., the second operand
has only one dimension, for the purposes of the elementary function it will be
treated as if that input has core shape ``(n, 1)``, and the output has the
corresponding core shape of ``(m, 1)``. The actual output array, however, has
the flexible dimension removed, i.e., it will have shape ``(..., m)``.
Similarly, if both arguments have only a single dimension, the inputs will be
presented as having shapes ``(1, n)`` and ``(n, 1)`` to the elementary
function, and the output as ``(1, 1)``, while the actual output array returned
will have shape ``()``. In this way, the signature allows one to use a
single elementary function for four related but different signatures,
``(m,n),(n,p)->(m,p)``, ``(n),(n,p)->(p)``, ``(m,n),(n)->(m)`` and
``(n),(n)->()``.

``np.clip`` and the ``clip`` method check for memory overlap
------------------------------------------------------------
The ``out`` argument to these functions is now always tested for memory overlap
to avoid corrupted results when memory overlap occurs.

New value ``unscaled`` for option ``cov`` in ``np.polyfit''
-----------------------------------------------------------
A further possible value has been added to the ``cov`` parameter of the
``np.polyfit`` function. With ``cov='unscaled'`` the scaling of the covariance
matrix is disabled completely (similar to setting ``absolute_sigma=True'' in
``scipy.optimize.curve_fit``). This would be useful in occasions, where the
weights are given by 1/sigma with sigma being the (known) standard errors of
(Gaussian distributed) data points, in which case the unscaled matrix is
already a correct estimate for the covariance matrix.

Detailed docstrings for scalar numeric types
--------------------------------------------
The ``help`` function, when applied to numeric types such as `numpy.intc`,
`numpy.int_`, and `numpy.longlong`, now lists all of the aliased names for that
type, distinguishing between platform -dependent and -independent aliases.

``__module__`` attribute now points to public modules
-----------------------------------------------------
The ``__module__`` attribute on most NumPy functions has been updated to refer
to the preferred public module from which to access a function, rather than
the module in which the function happens to be defined. This produces more
informative displays for functions in tools such as IPython, e.g., instead of
``<function 'numpy.core.fromnumeric.sum'>`` you now see
``<function 'numpy.sum'>``.

Large allocations marked as suitable for transparent hugepages
--------------------------------------------------------------
On systems that support transparent hugepages over the madvise system call
numpy now marks that large memory allocations can be backed by hugepages which
reduces page fault overhead and can in some fault heavy cases improve
performance significantly. On Linux the setting for huge pages to be used,
`/sys/kernel/mm/transparent_hugepage/enabled`, must be at least `madvise`.
Systems which already have it set to `always` will not see much difference as
the kernel will automatically use huge pages where appropriate.

Users of very old Linux kernels (~3.x and older) should make sure that
`/sys/kernel/mm/transparent_hugepage/defrag` is not set to `always` to avoid
performance problems due concurrency issues in the memory defragmentation.

Alpine Linux (and other musl c library distros) support
-------------------------------------------------------
We now default to use `fenv.h` for floating point status error reporting.
Previously we had a broken default that sometimes would not report underflow,
overflow, and invalid floating point operations. Now we can support non-glibc
distrubutions like Alpine Linux as long as they ship `fenv.h`.

Speedup ``np.block`` for large arrays
-------------------------------------
Large arrays (greater than ``512 * 512``) now use a blocking algorithm based on
copying the data directly into the appropriate slice of the resulting array.
This results in significant speedups for these large arrays, particularly for
arrays being blocked along more than 2 dimensions.

``arr.ctypes.data_as(...)`` holds a reference to arr
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Previously the caller was responsible for keeping the array alive for the
lifetime of the pointer.

Speedup ``np.take`` for read-only arrays
----------------------------------------
The implementation of ``np.take`` no longer makes an unnecessary copy of the
source array when its ``writeable`` flag is set to ``False``.

Support path-like objects for more functions
--------------------------------------------
The ``np.core.records.fromfile`` function now supports ``pathlib.Path``
and other path-like objects in addition to a file object. Furthermore, the
``np.load`` function now also supports path-like objects when using memory
mapping (``mmap_mode`` keyword argument).

Better behaviour of ufunc identities during reductions
------------------------------------------------------
Universal functions have an ``.identity`` which is used when ``.reduce`` is
called on an empty axis.

As of this release, the logical binary ufuncs, `logical_and`, `logical_or`,
and `logical_xor`, now have ``identity`` s of type `bool`, where previously they
were of type `int`. This restores the 1.14 behavior of getting ``bool`` s when
reducing empty object arrays with these ufuncs, while also keeping the 1.15
behavior of getting ``int`` s when reducing empty object arrays with arithmetic
ufuncs like ``add`` and ``multiply``.

Additionally, `logaddexp` now has an identity of ``-inf``, allowing it to be
called on empty sequences, where previously it could not be.

This is possible thanks to the new
:c:function:`PyUFunc_FromFuncAndDataAndSignatureAndIdentity`, which allows
arbitrary values to be used as identities now.

Improved conversion from ctypes objects
---------------------------------------
Numpy has always supported taking a value or type from ``ctypes`` and
converting it into an array or dtype, but only behaved correctly for simpler
types. As of this release, this caveat is lifted - now:

* The ``_pack_`` attribute of ``ctypes.Structure``, used to emulate C's
``__attribute__((packed))``, is respected.
* Endianness of all ctypes objects is preserved
* ``ctypes.Union`` is supported
* Non-representable constructs raise exceptions, rather than producing
dangerously incorrect results:

* Bitfields are no longer interpreted as sub-arrays
* Pointers are no longer replaced with the type that they point to

A new ``ndpointer.contents`` member
-----------------------------------
This matches the ``.contents`` member of normal ctypes arrays, and can be used
to construct an ``np.array`` around the pointers contents. This replaces
``np.array(some_nd_pointer)``, which stopped working in 1.15. As a side effect
of this change, ``ndpointer`` now supports dtypes with overlapping fields and
padding.

``matmul`` is now a ``ufunc``
-----------------------------
`numpy.matmul` is now a ufunc which means that both the function and the
``__matmul__`` operator can now be overridden by ``__array_ufunc__``. Its
implementation has also changed. It uses the same BLAS routines as
`numpy.dot`, ensuring its performance is similar for large matrices.

Start and stop arrays for ``linspace``, ``logspace`` and ``geomspace``
----------------------------------------------------------------------
These functions used to be limited to scalar stop and start values, but can
now take arrays, which will be properly broadcast and result in an output
which has one axis prepended. This can be used, e.g., to obtain linearly
interpolated points between sets of points.

CI extended with additional services
------------------------------------
We now use additional free CI services, thanks to the companies that provide:

* Codecoverage testing via codecov.io
* Arm testing via shippable.com
* Additional test runs on azure pipelines

These are in addition to our continued use of travis, appveyor (for wheels) and
LGTM


Changes
=======

Comparison ufuncs will now error rather than return NotImplemented
------------------------------------------------------------------
Previously, comparison ufuncs such as ``np.equal`` would return
`NotImplemented` if their arguments had structured dtypes, to help comparison
operators such as ``__eq__`` deal with those. This is no longer needed, as the
relevant logic has moved to the comparison operators proper (which thus do
continue to return `NotImplemented` as needed). Hence, like all other ufuncs,
the comparison ufuncs will now error on structured dtypes.

Positive will now raise a deprecation warning for non-numerical arrays
----------------------------------------------------------------------
Previously, ``+array`` unconditionally returned a copy. Now, it will
raise a ``DeprecationWarning`` if the array is not numerical (i.e.,
if ``np.positive(array)`` raises a ``TypeError``. For ``ndarray``
subclasses that override the default ``__array_ufunc__`` implementation,
the ``TypeError`` is passed on.

``NDArrayOperatorsMixin`` now implements matrix multiplication
--------------------------------------------------------------
Previously, ``np.lib.mixins.NDArrayOperatorsMixin`` did not implement the
special methods for Python's matrix multiplication operator (`). This has
changed now that ``matmul`` is a ufunc and can be overridden using
``__array_ufunc__``.

The scaling of the covariance matrix in ``np.polyfit`` is different
-------------------------------------------------------------------
So far, ``np.polyfit`` used a non-standard factor in the scaling of the the
covariance matrix. Namely, rather than using the standard ``chisq/(M-N)``, it
scaled it with ``chisq/(M-N-2)`` where M is the number of data points and N is the
number of parameters. This scaling is inconsistent with other fitting programs
such as e.g. ``scipy.optimize.curve_fit`` and was changed to ``chisq/(M-N)``.

``maximum`` and ``minimum`` no longer emit warnings
---------------------------------------------------
As part of code introduced in 1.10, ``float32`` and ``float64`` set invalid
float status when a Nan is encountered in `numpy.maximum` and `numpy.minimum`,
when using SSE2 semantics. This caused a `RuntimeWarning` to sometimes be
emitted. In 1.15 we fixed the inconsistencies which caused the warnings to
become more conspicuous. Now no warnings will be emitted.

Umath and multiarray c-extension modules merged into a single module
--------------------------------------------------------------------
The two modules were merged, according to `NEP 15`_. Previously `np.core.umath`
and `np.core.multiarray` were seperate c-extension modules. They are now python
wrappers to the single `np.core/_multiarray_math` c-extension module.

.. _`NEP 15` : http://www.numpy.org/neps/nep-0015-merge-multiarray-umath.html

``getfield`` validity checks extended
-------------------------------------
`numpy.ndarray.getfield` now checks the dtype and offset arguments to prevent
accessing invalid memory locations.

NumPy functions now support overrides with ``__array_function__``
-----------------------------------------------------------------
It is now possible to override the implementation of almost all NumPy functions
on non-NumPy arrays by defining a ``__array_function__`` method, as described
in `NEP 18`_. The sole exception are functions for explicitly casting to NumPy
arrays such as ``np.array``. As noted in the NEP, this feature remains
experimental and the details of how to implement such overrides may change in
the future.

.. _`NEP 15` : http://www.numpy.org/neps/nep-0015-merge-multiarray-umath.html
.. _`NEP 18` : http://www.numpy.org/neps/nep-0018-array-function-protocol.html

Arrays based off readonly buffers cannot be set ``writeable``
-------------------------------------------------------------
We now disallow setting the ``writeable`` flag True on arrays created
from ``fromstring(readonly-buffer)``.

Checksums
=========

MD5
---

4cfd167c553c15cbffacad828e37fa1b numpy-1.16.0rc1-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
fc7acd76d8f2f5b69af7b14435ff6e5f numpy-1.16.0rc1-cp27-cp27m-manylinux1_i686.whl
d3d05c0ade6bd5ed26c0d2f045cc2545 numpy-1.16.0rc1-cp27-cp27m-manylinux1_x86_64.whl
78acdc2844f3711e670b5b0d6112fd46 numpy-1.16.0rc1-cp27-cp27m-win32.whl
e24b99a1b2584e5c89a8bb25b755a229 numpy-1.16.0rc1-cp27-cp27m-win_amd64.whl
28df62b2e4162a0be66a65b0405d2974 numpy-1.16.0rc1-cp27-cp27mu-manylinux1_i686.whl
443d09ffded8b4f52d4158e7e53d5e02 numpy-1.16.0rc1-cp27-cp27mu-manylinux1_x86_64.whl
4709d3b87b56e8d706baf998a746baa0 numpy-1.16.0rc1-cp35-cp35m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
e3895e61d89db8219e01e263f342c91b numpy-1.16.0rc1-cp35-cp35m-manylinux1_i686.whl
b0e7842ece6d07568341ec8c4e850466 numpy-1.16.0rc1-cp35-cp35m-manylinux1_x86_64.whl
4f5de37348d5ab67661277a713e26317 numpy-1.16.0rc1-cp35-cp35m-win32.whl
a629f86585a6a7f22afdcc953df543b5 numpy-1.16.0rc1-cp35-cp35m-win_amd64.whl
69860375de9a74698322e9608d039e24 numpy-1.16.0rc1-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
d75b3ec49d27915ea9ee0866a45b1606 numpy-1.16.0rc1-cp36-cp36m-manylinux1_i686.whl
b103bc43115f9c5760e0f86de7191682 numpy-1.16.0rc1-cp36-cp36m-manylinux1_x86_64.whl
b3c6cbd582b502b6069b9a85a4b52d3f numpy-1.16.0rc1-cp36-cp36m-win32.whl
efde86e04767a20af7d7b671aa43a74e numpy-1.16.0rc1-cp36-cp36m-win_amd64.whl
0da1b6b0fddea9eebcc6d06c161b109d numpy-1.16.0rc1-cp37-cp37m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
439fefdac5de6e80c0213aa5dd3aed83 numpy-1.16.0rc1-cp37-cp37m-manylinux1_i686.whl
a238bdbdaece30f8bdd68cb17b8fc0f3 numpy-1.16.0rc1-cp37-cp37m-manylinux1_x86_64.whl
f27e4791cc0696451572350a64fc3509 numpy-1.16.0rc1-cp37-cp37m-win32.whl
b90d6fefb38650b5a343171dfabe1e38 numpy-1.16.0rc1-cp37-cp37m-win_amd64.whl
acfd5138cd9ba5a0ee434c112866e1d1 numpy-1.16.0rc1.tar.gz
f9a9356b066174b1375d509d7fdf03a6 numpy-1.16.0rc1.zip

SHA256
------

1d94a5649fb8412784d9edda539b266801ee87fc89b812ebf5ec0fdab96444a3 numpy-1.16.0rc1-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
f901fa2232562abf9250e4a86d2b50f008b2fe0f9d91bc1ca6a3ffd17c81d2a4 numpy-1.16.0rc1-cp27-cp27m-manylinux1_i686.whl
4c725b6557eb043b963a8b4b5da560fec4500b5e2a9c4794adb408de838aeb94 numpy-1.16.0rc1-cp27-cp27m-manylinux1_x86_64.whl
867ed40b1bebb50f8b060a1b2a76c227a436a7d9fc73bf873dbc8e79862a56af numpy-1.16.0rc1-cp27-cp27m-win32.whl
70279fa434b878692c15bdb9b3376765ff63a91d5f1f6e5973eb34b0bddd7aa5 numpy-1.16.0rc1-cp27-cp27m-win_amd64.whl
c5db80fc344977d3df5435ded1a8ce05719283aeacaaf60a818a4baf63c756e4 numpy-1.16.0rc1-cp27-cp27mu-manylinux1_i686.whl
026a3b7c46e01a736bdf27853ce2a4f56a4feb3147ff879dbd463ed4da0a511b numpy-1.16.0rc1-cp27-cp27mu-manylinux1_x86_64.whl
2a17337e1980e753d4bac3dd4859bc1300e995ddf05fc09828b8d60d932ce4d3 numpy-1.16.0rc1-cp35-cp35m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
0efbe5f61044e7b0ed5583380aca26995c10cd625266f09b2d6ccef243499f2e numpy-1.16.0rc1-cp35-cp35m-manylinux1_i686.whl
60dd924257899a44d55a7e548aba2a41c12e5d963b900ec138e0b15f3e6f3ef5 numpy-1.16.0rc1-cp35-cp35m-manylinux1_x86_64.whl
078efe4fc53079acb4a70f378a1fbf97f22a1f864321788ae1fd9ca4c952bb10 numpy-1.16.0rc1-cp35-cp35m-win32.whl
3dd416deba0e6b734e653961354ac2bee2888c832835304853b14299a8c3169a numpy-1.16.0rc1-cp35-cp35m-win_amd64.whl
ff9859fffc4a03b196d742fe683684921e3d3819aa97d935b92d573b7ff0bf7b numpy-1.16.0rc1-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
ad0a948011cafe20323944aea7570cea77c3659cf970ee4e94993a75fdf1bf3a numpy-1.16.0rc1-cp36-cp36m-manylinux1_i686.whl
b53714c56ee9a1f1b46f7558ca1aa005704dba35334ff61288390be01b96b3b0 numpy-1.16.0rc1-cp36-cp36m-manylinux1_x86_64.whl
e299aaed551f16c3822e261adc6d5685ad7067536ae6af00e53837b637dc1270 numpy-1.16.0rc1-cp36-cp36m-win32.whl
9c76c0f114b729606081b0e4c49d2f7887946004872576f51b8bd50461f4110b numpy-1.16.0rc1-cp36-cp36m-win_amd64.whl
bcf57e4694e32d7ebb9402cd3fcd9c4fd913a29f372fbefc8edd675a32262558 numpy-1.16.0rc1-cp37-cp37m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
c953969e4b9a65998be1d7e895613be77bd42d438b54f9ce8c2453616ca8f5c9 numpy-1.16.0rc1-cp37-cp37m-manylinux1_i686.whl
09d327e93f2b13dfbfd6a7c2534441478896a24e9521f59f1ec64c775eff0066 numpy-1.16.0rc1-cp37-cp37m-manylinux1_x86_64.whl
ff73c826d81442f00b38360e52618d94f811c8db9047546d135c0e56117f3812 numpy-1.16.0rc1-cp37-cp37m-win32.whl
f735dad0d72598ca0e19f50a0891e83e496288038628addd86c05650fab49181 numpy-1.16.0rc1-cp37-cp37m-win_amd64.whl
90aa92d9c1bf0cbde34c0eb3964b87d15f2a6de01da99af18615925e3b7d8a05 numpy-1.16.0rc1.tar.gz
6e638a8d56af542aebf625efdacdfb555943c08044795ee7550789407f5b905c numpy-1.16.0rc1.zip

1.16.0rc2

==========================

1.16.0rc1

==========================

1.15.4

Not secure
==========================

This is a bugfix release for bugs and regressions reported following the 1.15.3
release. The Python versions supported by this release are 2.7, 3.4-3.7. The
wheels are linked with OpenBLAS v0.3.0, which should fix some of the linalg
problems reported for NumPy 1.14.

Compatibility Note
==================

The NumPy 1.15.x OS X wheels released on PyPI no longer contain 32-bit
binaries. That will also be the case in future releases. See
`11625 <https://github.com/numpy/numpy/issues/11625>`__ for the related
discussion. Those needing 32-bit support should look elsewhere or build
from source.

Contributors
============

A total of 4 people contributed to this release. People with a "+" by their
names contributed a patch for the first time.

* Charles Harris
* Matti Picus
* Sebastian Berg
* bbbbbbbbba +

Pull requests merged
====================

A total of 4 pull requests were merged for this release.

* 12296: BUG: Dealloc cached buffer info
* 12297: BUG: Fix fill value in masked array '==' and '!=' ops.
* 12307: DOC: Correct the default value of `optimize` in `numpy.einsum`
* 12320: REL: Prepare for the NumPy 1.15.4 release

Checksums
=========

MD5
---

277c501cfcc67767d73d83a53ba69ecb numpy-1.15.4-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
4c687d8cd7833e0b549d4a20905f29a2 numpy-1.15.4-cp27-cp27m-manylinux1_i686.whl
988d0b321d0b7576b105528fc948ddc3 numpy-1.15.4-cp27-cp27m-manylinux1_x86_64.whl
ea6bd39d05539847a0ebb12ff955251a numpy-1.15.4-cp27-cp27mu-manylinux1_i686.whl
8ef2d1ea4571cdd0e7e8dfd5128436b4 numpy-1.15.4-cp27-cp27mu-manylinux1_x86_64.whl
b550d4cc012623a0c38f1392e08f4805 numpy-1.15.4-cp27-none-win32.whl
cb38e4778d9db33199dc7bb6a69ce089 numpy-1.15.4-cp27-none-win_amd64.whl
fa0acf5b2f852454346df5486a4ff4d9 numpy-1.15.4-cp34-cp34m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
a7614f6318899aa1bfbc337232c4647f numpy-1.15.4-cp34-cp34m-manylinux1_i686.whl
ae16e02274996ff926a30f23f6d6d7e8 numpy-1.15.4-cp34-cp34m-manylinux1_x86_64.whl
c1e1f381de7abc96509d4c5463903755 numpy-1.15.4-cp34-none-win32.whl
c269c8f2fce6cefdffe5e3821fc04fb5 numpy-1.15.4-cp34-none-win_amd64.whl
8906282c374b9b008c5c6401e5dc750b numpy-1.15.4-cp35-cp35m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
537949e404ecc5814cb0db534bdfef36 numpy-1.15.4-cp35-cp35m-manylinux1_i686.whl
3b10a2fcf8610bbbfe08161e1d9d176e numpy-1.15.4-cp35-cp35m-manylinux1_x86_64.whl
b67621a1c9b8dcac707ca22055629e9f numpy-1.15.4-cp35-none-win32.whl
25b45b69d624cb07a8c05a5f82779b0a numpy-1.15.4-cp35-none-win_amd64.whl
76ed46a4d4e9cdb7076bf1359d9df1d4 numpy-1.15.4-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
b98cbad7770856dc12c827dca7c201b4 numpy-1.15.4-cp36-cp36m-manylinux1_i686.whl
6293fa6db83849aab3a8b1a606cf3d03 numpy-1.15.4-cp36-cp36m-manylinux1_x86_64.whl
21df485f92248c13cab3838762d717f6 numpy-1.15.4-cp36-none-win32.whl
c9cf7a267f8d2f57dc6384cc8b9f5acf numpy-1.15.4-cp36-none-win_amd64.whl
1f6990e094c6b2bb47c6a528ac7b1263 numpy-1.15.4-cp37-cp37m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
e79239cd9a3ce3cbfa5e7345bfb2ca56 numpy-1.15.4-cp37-cp37m-manylinux1_i686.whl
fc046ba978ef4dd0556af09643c57d30 numpy-1.15.4-cp37-cp37m-manylinux1_x86_64.whl
6291159933eb5a7f9c0bf28ae9707739 numpy-1.15.4-cp37-none-win32.whl
6097910d675f9e81d5d131b91a6c5c61 numpy-1.15.4-cp37-none-win_amd64.whl
b3626fec2f39ab01cad8bbb63a103742 numpy-1.15.4.tar.gz
219ac537d12cf06ed14f478662096ebc numpy-1.15.4.zip

SHA256
------

18e84323cdb8de3325e741a7a8dd4a82db74fde363dce32b625324c7b32aa6d7 numpy-1.15.4-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
154c35f195fd3e1fad2569930ca51907057ae35e03938f89a8aedae91dd1b7c7 numpy-1.15.4-cp27-cp27m-manylinux1_i686.whl
4d8d3e5aa6087490912c14a3c10fbdd380b40b421c13920ff468163bc50e016f numpy-1.15.4-cp27-cp27m-manylinux1_x86_64.whl
c857ae5dba375ea26a6228f98c195fec0898a0fd91bcf0e8a0cae6d9faf3eca7 numpy-1.15.4-cp27-cp27mu-manylinux1_i686.whl
0df89ca13c25eaa1621a3f09af4c8ba20da849692dcae184cb55e80952c453fb numpy-1.15.4-cp27-cp27mu-manylinux1_x86_64.whl
36e36b6868e4440760d4b9b44587ea1dc1f06532858d10abba98e851e154ca70 numpy-1.15.4-cp27-none-win32.whl
99d59e0bcadac4aa3280616591fb7bcd560e2218f5e31d5223a2e12a1425d495 numpy-1.15.4-cp27-none-win_amd64.whl
edfa6fba9157e0e3be0f40168eb142511012683ac3dc82420bee4a3f3981b30e numpy-1.15.4-cp34-cp34m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
b261e0cb0d6faa8fd6863af26d30351fd2ffdb15b82e51e81e96b9e9e2e7ba16 numpy-1.15.4-cp34-cp34m-manylinux1_i686.whl
db9814ff0457b46f2e1d494c1efa4111ca089e08c8b983635ebffb9c1573361f numpy-1.15.4-cp34-cp34m-manylinux1_x86_64.whl
df04f4bad8a359daa2ff74f8108ea051670cafbca533bb2636c58b16e962989e numpy-1.15.4-cp34-none-win32.whl
7da99445fd890206bfcc7419f79871ba8e73d9d9e6b82fe09980bc5bb4efc35f numpy-1.15.4-cp34-none-win_amd64.whl
56994e14b386b5c0a9b875a76d22d707b315fa037affc7819cda08b6d0489756 numpy-1.15.4-cp35-cp35m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
ecf81720934a0e18526177e645cbd6a8a21bb0ddc887ff9738de07a1df5c6b61 numpy-1.15.4-cp35-cp35m-manylinux1_i686.whl
cf5bb4a7d53a71bb6a0144d31df784a973b36d8687d615ef6a7e9b1809917a9b numpy-1.15.4-cp35-cp35m-manylinux1_x86_64.whl
561ef098c50f91fbac2cc9305b68c915e9eb915a74d9038ecf8af274d748f76f numpy-1.15.4-cp35-none-win32.whl
4f41fd159fba1245e1958a99d349df49c616b133636e0cf668f169bce2aeac2d numpy-1.15.4-cp35-none-win_amd64.whl
416a2070acf3a2b5d586f9a6507bb97e33574df5bd7508ea970bbf4fc563fa52 numpy-1.15.4-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
24fd645a5e5d224aa6e39d93e4a722fafa9160154f296fd5ef9580191c755053 numpy-1.15.4-cp36-cp36m-manylinux1_i686.whl
23557bdbca3ccbde3abaa12a6e82299bc92d2b9139011f8c16ca1bb8c75d1e95 numpy-1.15.4-cp36-cp36m-manylinux1_x86_64.whl
b1853df739b32fa913cc59ad9137caa9cc3d97ff871e2bbd89c2a2a1d4a69451 numpy-1.15.4-cp36-none-win32.whl
73a1f2a529604c50c262179fcca59c87a05ff4614fe8a15c186934d84d09d9a5 numpy-1.15.4-cp36-none-win_amd64.whl
1e8956c37fc138d65ded2d96ab3949bd49038cc6e8a4494b1515b0ba88c91565 numpy-1.15.4-cp37-cp37m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
a4cc09489843c70b22e8373ca3dfa52b3fab778b57cf81462f1203b0852e95e3 numpy-1.15.4-cp37-cp37m-manylinux1_i686.whl
4a22dc3f5221a644dfe4a63bf990052cc674ef12a157b1056969079985c92816 numpy-1.15.4-cp37-cp37m-manylinux1_x86_64.whl
b1f44c335532c0581b77491b7715a871d0dd72e97487ac0f57337ccf3ab3469b numpy-1.15.4-cp37-none-win32.whl
a61dc29cfca9831a03442a21d4b5fd77e3067beca4b5f81f1a89a04a71cf93fa numpy-1.15.4-cp37-none-win_amd64.whl
766e09248298e3ad4ae4a805159f358610bbe7dcc7b4a14e5df2128c05655b80 numpy-1.15.4.tar.gz
3d734559db35aa3697dadcea492a423118c5c55d176da2f3be9c98d4803fc2a7 numpy-1.15.4.zip

1.15.3

Not secure
==========================

This is a bugfix release for bugs and regressions reported following the 1.15.2
release. The Python versions supported by this release are 2.7, 3.4-3.7. The
wheels are linked with OpenBLAS v0.3.0, which should fix some of the linalg
problems reported for NumPy 1.14.

Compatibility Note
==================

The NumPy 1.15.x OS X wheels released on PyPI no longer contain 32-bit
binaries. That will also be the case in future releases. See
`11625 <https://github.com/numpy/numpy/issues/11625>`__ for the related
discussion. Those needing 32-bit support should look elsewhere or build
from source.

Contributors
============

A total of 7 people contributed to this release. People with a "+" by their
names contributed a patch for the first time.

* Allan Haldane
* Charles Harris
* Jeroen Demeyer
* Kevin Sheppard
* Matthew Bowden +
* Matti Picus
* Tyler Reddy

Pull requests merged
====================

A total of 12 pull requests were merged for this release.

* 12080: MAINT: Blacklist some MSVC complex functions.
* 12083: TST: Add azure CI testing to 1.15.x branch.
* 12084: BUG: test_path() now uses Path.resolve()
* 12085: TST, MAINT: Fix some failing tests on azure-pipelines mac and...
* 12187: BUG: Fix memory leak in mapping.c
* 12188: BUG: Allow boolean subtract in histogram
* 12189: BUG: Fix in-place permutation
* 12190: BUG: limit default for get_num_build_jobs() to 8
* 12191: BUG: OBJECT_to_* should check for errors
* 12192: DOC: Prepare for NumPy 1.15.3 release.
* 12237: BUG: Fix MaskedArray fill_value type conversion.
* 12238: TST: Backport azure-pipeline testing fixes for Mac

Checksums
=========

MD5
---

fc1ae8356a65804d02e5c7d9c1c07f65 numpy-1.15.3-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
85faf750ff68d76dad812eb6410cc417 numpy-1.15.3-cp27-cp27m-manylinux1_i686.whl
6d92d50f6235501475b642fc35212ad7 numpy-1.15.3-cp27-cp27m-manylinux1_x86_64.whl
f7430f4ca8d179a9e34072c0d1c1ca9c numpy-1.15.3-cp27-cp27mu-manylinux1_i686.whl
ebd394af280ee41b55add821f84dc180 numpy-1.15.3-cp27-cp27mu-manylinux1_x86_64.whl
3bac2fd14dc19c20a0ced77bb8c395de numpy-1.15.3-cp27-none-win32.whl
da69a44d0292379a261f1bf33b2afe3e numpy-1.15.3-cp27-none-win_amd64.whl
c021f69eeed541202947d11c0ec3c2f4 numpy-1.15.3-cp34-cp34m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
4c2a4a7685c7431937aa0b5e6425b7de numpy-1.15.3-cp34-cp34m-manylinux1_i686.whl
2eb4e845844b91853743bb4d4316e237 numpy-1.15.3-cp34-cp34m-manylinux1_x86_64.whl
47b03a3e34152c7e1ae7056f672674a5 numpy-1.15.3-cp34-none-win32.whl
64ebc4e0a722e5a6f1bd697309c3f951 numpy-1.15.3-cp34-none-win_amd64.whl
f7a9b021b45372fa39e009ae396d6108 numpy-1.15.3-cp35-cp35m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
7a7578978757cb69507ab680a2f9b8f3 numpy-1.15.3-cp35-cp35m-manylinux1_i686.whl
52d5bd16e06561e735cb7f461370e697 numpy-1.15.3-cp35-cp35m-manylinux1_x86_64.whl
c1421e59a425b6cd1307a45612c4911f numpy-1.15.3-cp35-none-win32.whl
2ea2c18feb7f92ebd6b64261265d1b7f numpy-1.15.3-cp35-none-win_amd64.whl
ed7b1d79ad554f59c65b6c2d15924624 numpy-1.15.3-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
bece3ef7768bfa7b354b8d1014aa85b3 numpy-1.15.3-cp36-cp36m-manylinux1_i686.whl
4ed669d22449b6e1759b320ff9b37eb7 numpy-1.15.3-cp36-cp36m-manylinux1_x86_64.whl
a3c7ce17e1fdf009950f2f41adcde29b numpy-1.15.3-cp36-none-win32.whl
890f23c488a00a2c64578bcb3737533e numpy-1.15.3-cp36-none-win_amd64.whl
c3a332b97d53c60d8c129a1a8e062652 numpy-1.15.3-cp37-cp37m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
096f70a3a147a596a9317ce8ac9bf1bd numpy-1.15.3-cp37-cp37m-manylinux1_i686.whl
2317122b49e79ffad91250a428ca54f9 numpy-1.15.3-cp37-cp37m-manylinux1_x86_64.whl
2719106f42758fd285bce25fa3c1a78e numpy-1.15.3-cp37-none-win32.whl
9a692a2bbcbaabf98f19fbd9c0c5c163 numpy-1.15.3-cp37-none-win_amd64.whl
274dd6db3a13c6b6c47a05b5365e1749 numpy-1.15.3.tar.gz
7f1b9e521c2a662cecf3708026e8bdad numpy-1.15.3.zip

SHA256
------

3c7959f750b54b445f14962a3ddc41b9eadbab00b86da55fbb1967b2b79aad10 numpy-1.15.3-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
9d1598573d310104acb90377f0a8c2319f737084689f5eb18012becaf345cda5 numpy-1.15.3-cp27-cp27m-manylinux1_i686.whl
a988db28f54e104a01e8573ceb6f28202b4c15635b1450b2e3b2b822c6564f9b numpy-1.15.3-cp27-cp27m-manylinux1_x86_64.whl
3d8f9273c763a139a99e65c2a3c10f1109df30bedae7f011b10d95c538364704 numpy-1.15.3-cp27-cp27mu-manylinux1_i686.whl
919f65e0732195474897b1cafefb4d4e7c2bb8174a725e506b62e9096e4df28d numpy-1.15.3-cp27-cp27mu-manylinux1_x86_64.whl
d263f8f14f2da0c079c0297e829e550d8f2c4e0ffef215506bd1d0ddd2bff3de numpy-1.15.3-cp27-none-win32.whl
b12fe6f31babb9477aa0f9692730654b3ee0e71f33b4568170dfafd439caf0a2 numpy-1.15.3-cp27-none-win_amd64.whl
febd31cd0d2fd2509ca2ec53cb339f8bf593c1bd245b9fc55c1917a68532a0af numpy-1.15.3-cp34-cp34m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
d0f36a24cf8061a2c03e151be3418146717505b9b4ec17502fa3bbdb04ec1431 numpy-1.15.3-cp34-cp34m-manylinux1_i686.whl
63bca71691339d2d6f8a7c970821f2b12098a53afccc0190d4e1555e75e5223a numpy-1.15.3-cp34-cp34m-manylinux1_x86_64.whl
b7599ff4acd23f5de983e3aec772153b1043e131487a5c6ad0f94b41a828877a numpy-1.15.3-cp34-none-win32.whl
c9f4dafd6065c4c782be84cd67ceeb9b1d4380af60a7af32be10ebecd723385e numpy-1.15.3-cp34-none-win_amd64.whl
32a07241cb624e104b88b08dea2851bf4ec5d65a1f599d7735041ced7171fd7a numpy-1.15.3-cp35-cp35m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
8bc4b92a273659e44ca3f3a2f8786cfa39d8302223bcfe7df794429c63d5f5a1 numpy-1.15.3-cp35-cp35m-manylinux1_i686.whl
2f5ebc7a04885c7d69e5daa05208faef4db7f1ae6a99f4d36962df8cd54cdc76 numpy-1.15.3-cp35-cp35m-manylinux1_x86_64.whl
ce3622b73ccd844ba301c1aea65d36cf9d8331e7c25c16b1725d0f14db99aaf4 numpy-1.15.3-cp35-none-win32.whl
9fff90c88bfaad2901be50453d5cd7897a826c1d901f0654ee1d73ab3a48cd18 numpy-1.15.3-cp35-none-win_amd64.whl
032df9b6571c5f1d41ea6f6a189223208cb488990373aa686aca55570fcccb42 numpy-1.15.3-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
866a7c8774ccc7d603667fad95456b4cf56d79a2bb5a7648ac9f0082e0b9416e numpy-1.15.3-cp36-cp36m-manylinux1_i686.whl
7ae9c3baff3b989859c88e0168ad10902118595b996bf781eaf011bb72428798 numpy-1.15.3-cp36-cp36m-manylinux1_x86_64.whl
d8837ff272800668aabdfe70b966631914b0d6513aed4fc1b1428446f771834d numpy-1.15.3-cp36-none-win32.whl
fa337b6bd5fe2b8c4e705f4102186feb9985de9bb8536d32d5129a658f1789e0 numpy-1.15.3-cp36-none-win_amd64.whl
2aa0910eaeb603b1a5598193cc3bc8eacf1baf6c95cbc3955eb8e15fa380c133 numpy-1.15.3-cp37-cp37m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
ef694fe72a3995aa778a5095bda946e0d31f7efabd5e8063ad8c6238ab7d3f78 numpy-1.15.3-cp37-cp37m-manylinux1_i686.whl
f1fd1a6f40a501ba4035f5ed2c1f4faa68245d1407bf97d2ee401e4f23d1720b numpy-1.15.3-cp37-cp37m-manylinux1_x86_64.whl
094f8a83e5bd0a44a7557fa24a46db6ba7d5299c389ddbc9e0e18722f567fb63 numpy-1.15.3-cp37-none-win32.whl
a245464ddf6d90e2d6287e9cef6bcfda2a99467fdcf1b677b99cd0b6c7b43de2 numpy-1.15.3-cp37-none-win_amd64.whl
4656ea0d66a3724fd88aafa39a0c5cef216d1257a71b40534fe589abd46ba77b numpy-1.15.3.tar.gz
1c0c80e74759fa4942298044274f2c11b08c86230b25b8b819e55e644f5ff2b6 numpy-1.15.3.zip

Page 18 of 23

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.