Numpy

Latest version: v2.2.4

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

Scan your dependencies

Page 22 of 24

1.13.2

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

This is a bugfix release for some problems found since 1.13.1. The most
important fixes are for CVE-2017-12852 and temporary elision. Users of earlier
versions of 1.13 should upgrade.

The Python versions supported are 2.7 and 3.4 - 3.6. The Python 3.6 wheels
available from PIP are built with Python 3.6.2 and should be compatible with
all previous versions of Python 3.6. The Windows wheels are now built
with OpenBlas instead ATLAS, which should improve the performance of the linear
algebra functions.

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

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

* Allan Haldane
* Brandon Carter
* Charles Harris
* Eric Wieser
* Iryna Shcherbina +
* James Bourbeau +
* Jonathan Helmus
* Julian Taylor
* Matti Picus
* Michael Lamparski +
* Michael Seifert
* Ralf Gommers

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

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

* 9390 BUG: Return the poly1d coefficients array directly
* 9555 BUG: Fix regression in 1.13.x in distutils.mingw32ccompiler.
* 9556 BUG: Fix true_divide when dtype=np.float64 specified.
* 9557 DOC: Fix some rst markup in numpy/doc/basics.py.
* 9558 BLD: Remove -xhost flag from IntelFCompiler.
* 9559 DOC: Removes broken docstring example (source code, png, pdf)...
* 9580 BUG: Add hypot and cabs functions to WIN32 blacklist.
* 9732 BUG: Make scalar function elision check if temp is writeable.
* 9736 BUG: Various fixes to np.gradient
* 9742 BUG: Fix np.pad for CVE-2017-12852
* 9744 BUG: Check for exception in sort functions, add tests
* 9745 DOC: Add whitespace after "versionadded::" directive so it actually...
* 9746 BUG: Memory leak in np.dot of size 0
* 9747 BUG: Adjust gfortran version search regex
* 9757 BUG: Cython 0.27 breaks NumPy on Python 3.
* 9764 BUG: Ensure `_npy_scaled_cexp{,f,l}` is defined when needed.
* 9765 BUG: PyArray_CountNonzero does not check for exceptions
* 9766 BUG: Fixes histogram monotonicity check for unsigned bin values
* 9767 BUG: Ensure consistent result dtype of count_nonzero
* 9771 BUG, MAINT: Fix mtrand for Cython 0.27.

Checksums
=========

MD5
- ---

d3ac88f752fc713ca353d6623cdff1d2 numpy-1.13.2-1.tar.gz
94c48ee8dc28793032a591c096130b84 numpy-1.13.2-1.zip
774a0d6341be6b09060efdb0040f23b3 numpy-1.13.2-1.zip.asc
dee547a38bd0ca89a7453ceecf3021ce numpy-1.13.2-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
9d1249456f45be2edde0fa44757b5838 numpy-1.13.2-cp27-cp27m-manylinux1_i686.whl
81898f48b56e55f4044b7b6e6078af8f numpy-1.13.2-cp27-cp27m-manylinux1_x86_64.whl
ae1699f501592cc53d0807a1aa2eb457 numpy-1.13.2-cp27-cp27mu-manylinux1_i686.whl
5d4ebc829dfd04dadc0e280b47992ed7 numpy-1.13.2-cp27-cp27mu-manylinux1_x86_64.whl
567df692734c11c3f340d9108b2d41ea numpy-1.13.2-cp27-none-win32.whl
022016ffb96ffc1584cebfc085b80e1d numpy-1.13.2-cp27-none-win_amd64.whl
521884f3ff3debb8e49e6d905b4c8248 numpy-1.13.2-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
32630160e7b2c6b159f1816d0f6c2719 numpy-1.13.2-cp34-cp34m-manylinux1_i686.whl
02908f86c6e6f4b5b59d139a67e63388 numpy-1.13.2-cp34-cp34m-manylinux1_x86_64.whl
7d5efcd69f664484057ed8541740bcd1 numpy-1.13.2-cp34-none-win32.whl
37c410d7e4526b4d221da08fcbf1641f numpy-1.13.2-cp34-none-win_amd64.whl
68ae514b92be35e6c0ec37946e49bc62 numpy-1.13.2-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
468fbb60b613f5c506022822e5ecd31a numpy-1.13.2-cp35-cp35m-manylinux1_i686.whl
8fee946c44aeb516048e1451805be50e numpy-1.13.2-cp35-cp35m-manylinux1_x86_64.whl
6386a7650bb29ad0fe7212ed86f9bda7 numpy-1.13.2-cp35-none-win32.whl
4972770e7b310f32421837f3106ad069 numpy-1.13.2-cp35-none-win_amd64.whl
cffc35cdbea63e4f99c3cf8ded5bdb76 numpy-1.13.2-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
227d77b146aa7536d4481641b559d728 numpy-1.13.2-cp36-cp36m-manylinux1_i686.whl
f3f057a84f8bb939612163582dc02618 numpy-1.13.2-cp36-cp36m-manylinux1_x86_64.whl
0123a37adf70070aba648e60b16977a7 numpy-1.13.2-cp36-none-win32.whl
9160e9c633bac901caf90d249aa1a745 numpy-1.13.2-cp36-none-win_amd64.whl

SHA256
- ------

f976eb3de5ae3a7f17a402380a49f0582e3f2aafcf9d0a99e969b99e32018e29 numpy-1.13.2-1.tar.gz
0a1c96a3698455f06ce21b8eb3f4a00b9b165f6e082be3a22af80f0d8eedf9b8 numpy-1.13.2-1.zip
d79d07ea093fc07a991c23fdd05bce3f400c4c11e0f9f10cde2e1f1af0358266 numpy-1.13.2-1.zip.asc
a51b0788f098b76b5750d0b2352709fbe3fb4736ed93ab60028513ea2bf10259 numpy-1.13.2-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
077dfc6c05fec867a9caaffbce22b0581894f885931111b0749eb95e3ad390be numpy-1.13.2-cp27-cp27m-manylinux1_i686.whl
cf7a17d41027551bcb198e2de061ebbe1fee1affc332b4d3add650bc21794ec2 numpy-1.13.2-cp27-cp27m-manylinux1_x86_64.whl
6eeb63d026ba8e0bf177b50819a8a9a5a808ea82d3477001eb35a9ca3e4c698c numpy-1.13.2-cp27-cp27mu-manylinux1_i686.whl
4f9dd034b88604d0f67454e879a1d07d54794650fea51186b5199bb780530a07 numpy-1.13.2-cp27-cp27mu-manylinux1_x86_64.whl
1b21a68ed1aa9e0d9eb4b72729f7e6bf6ad7a48d902a7ae2b7252926ed4616fd numpy-1.13.2-cp27-none-win32.whl
e9a2ebff47bf737e0e04e2c7545e843aab637716ab1b732e1ac0a8e1956444a9 numpy-1.13.2-cp27-none-win_amd64.whl
90eed22ffb0001e8330737b3323bd712eee7af898e726a0e8cb4c4d435f72d00 numpy-1.13.2-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
9f3b213396ad52beba7b70b1bd9cbab11bd422ba756935aff9858af26ba98d35 numpy-1.13.2-cp34-cp34m-manylinux1_i686.whl
4bdce25f2aa0cc0f83c599cf2a57dc6c44d1e71264879da6ca411fafa4a6380e numpy-1.13.2-cp34-cp34m-manylinux1_x86_64.whl
d01d6c03422d5a6663aba0022a552fb77c2e503f19a79ca4418d7da6a6165fee numpy-1.13.2-cp34-none-win32.whl
46f4da749206ca75def0eae3ce4d0985d9555c57e5121257eec56e3c351cd3c2 numpy-1.13.2-cp34-none-win_amd64.whl
8a8e5a848e362a864d40a0b99fcc4eccfc6618cd5f8c3587d74bc8c9796ee015 numpy-1.13.2-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
6fc660f6713250307f340b3dae1811ff08a55697e4ee8393ede52f757d39c3e1 numpy-1.13.2-cp35-cp35m-manylinux1_i686.whl
5c159ac450569594c1f10c118e221c234a481f9fcfa157a736c80f52c6e698ec numpy-1.13.2-cp35-cp35m-manylinux1_x86_64.whl
6930af9a8252454dc6ce037845c7d6c007671f6a156e64b1d8ff973ff42569a0 numpy-1.13.2-cp35-none-win32.whl
2f10c7042587044e9791df60c3733d9b03b4a5d5f5bf3793c9c30ac7c376cfce numpy-1.13.2-cp35-none-win_amd64.whl
2e80e8904636ce1f01d59c019f128161ae472171710b5541f6a535b3ab7f11e4 numpy-1.13.2-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
1847a3dd54240b523b383e95635c5305b785c3fe932a2b6ac0a379c5788f1401 numpy-1.13.2-cp36-cp36m-manylinux1_i686.whl
9725d3cb40dccee76df0ce7816c8d80464b2ebf3d1c68a0620c9633d1b7ffc10 numpy-1.13.2-cp36-cp36m-manylinux1_x86_64.whl
da025523172dc61dab586d31e326bc3517004dfeb8e0337d2b556d76bb5217df numpy-1.13.2-cp36-none-win32.whl
4cecc6c842762154649fd1c976d40b5903c75076924464b46645af101019e1ad numpy-1.13.2-cp36-none-win_amd64.whl
-----BEGIN PGP SIGNATURE-----

iQEcBAEBAgAGBQJZzQThAAoJEGefIoN3xSR7rX8H/3f6D0kNlOyn3YJ9eDCHwOBO
WJxJ7suMfNKgoZa6NUdNkGXA+WkhjGzROIaftF69CnPa3thzGTZguRJDHOscUEi7
YHpdqnzSP9nuDFkfbUQC1t7M6XPR7NrGd/u46fkhEeUBrR7OyBYwTTbCJc97Zwjn
9OXHAJ3vVnUFOzcYnYMue/OLHpAGYjx9y3WlM4A37aKyL6Gf3ugRGUTfOOmzrAAb
Vgqgkmt01nGCHiVGyI/exCkHsoNoUJV9abLygzwRkHirSOhL8DhSv/aULya4ZwSX
AZzdA8jHVXOxymkKPz+zQJ7EKs/Dg8kuVneqv/IisnDwJy/1xCR6kxha09ZewWQ=
=qR0v
-----END PGP SIGNATURE-----

1.13.1

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

This is a bugfix release for problems found in 1.13.0. The major changes are
fixes for the new memory overlap detection and temporary elision as well as
reversion of the removal of the boolean binary ``-`` operator. Users of 1.13.0
should upgrade.

Thr Python versions supported are 2.7 and 3.4 - 3.6. Note that the Python 3.6
wheels available from PIP are built against 3.6.1, hence will not work when
used with 3.6.0 due to Python bug 29943_. NumPy 1.13.2 will be released shortly
after Python 3.6.2 is out to fix that problem. If you are using 3.6.0 the
workaround is to upgrade to 3.6.1 or use an earlier Python version.

.. _29943: https://bugs.python.org/issue29943


Pull requests merged
====================
A total of 19 pull requests were merged for this release.

* 9240 DOC: BLD: fix lots of Sphinx warnings/errors.
* 9255 Revert "DEP: Raise TypeError for subtract(bool_, bool_)."
* 9261 BUG: don't elide into readonly and updateifcopy temporaries for...
* 9262 BUG: fix missing keyword rename for common block in numpy.f2py
* 9263 BUG: handle resize of 0d array
* 9267 DOC: update f2py front page and some doc build metadata.
* 9299 BUG: Fix Intel compilation on Unix.
* 9317 BUG: fix wrong ndim used in empty where check
* 9319 BUG: Make extensions compilable with MinGW on Py2.7
* 9339 BUG: Prevent crash if ufunc doc string is null
* 9340 BUG: umath: un-break ufunc where= when no out= is given
* 9371 DOC: Add isnat/positive ufunc to documentation
* 9372 BUG: Fix error in fromstring function from numpy.core.records...
* 9373 BUG: ')' is printed at the end pointer of the buffer in numpy.f2py.
* 9374 DOC: Create NumPy 1.13.1 release notes.
* 9376 BUG: Prevent hang traversing ufunc userloop linked list
* 9377 DOC: Use x1 and x2 in the heaviside docstring.
* 9378 DOC: Add $PARAMS to the isnat docstring
* 9379 DOC: Update the 1.13.1 release notes


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

* Andras Deak +
* Bob Eldering +
* Charles Harris
* Daniel Hrisca +
* Eric Wieser
* Joshua Leahy +
* Julian Taylor
* Michael Seifert
* Pauli Virtanen
* Ralf Gommers
* Roland Kaufmann
* Warren Weckesser

Checksums
=========

MD5
---

010a6325ec8e7df2f305e716c871880a numpy-1.13.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
7774a1a5f93b45bfa7045b98eb102cca numpy-1.13.1-cp27-cp27m-manylinux1_i686.whl
7906018278f3471a9a166a3975523ddd numpy-1.13.1-cp27-cp27m-manylinux1_x86_64.whl
7ecd9304c319fc6b9ea481d6bf2e5051 numpy-1.13.1-cp27-cp27mu-manylinux1_i686.whl
de272621d41b7856e1580307be9d1fba numpy-1.13.1-cp27-cp27mu-manylinux1_x86_64.whl
21c4dc286991347f506c0e27475f9058 numpy-1.13.1-cp27-none-win32.whl
245e3ebe32cf60d9d16e7267aa4292fc numpy-1.13.1-cp27-none-win_amd64.whl
3eee3605dd61f02583264eb5697d8207 numpy-1.13.1-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
4a9f08ad5f3073ecaeea939158eaf955 numpy-1.13.1-cp34-cp34m-manylinux1_i686.whl
c51520d0d3836c91cba18d1fa8cf299c numpy-1.13.1-cp34-cp34m-manylinux1_x86_64.whl
b1f13004ee992203d8c15940d60d0e7c numpy-1.13.1-cp34-none-win32.whl
062bf4ed9e0fd5af995a17360e7bdec9 numpy-1.13.1-cp34-none-win_amd64.whl
b14a4749abbab74c21ef0743f7426245 numpy-1.13.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
a5b6bffc5a0e4950748ab0969457a728 numpy-1.13.1-cp35-cp35m-manylinux1_i686.whl
4558a2357849d9ef7b80260a76b7c990 numpy-1.13.1-cp35-cp35m-manylinux1_x86_64.whl
dd062ef029279bd795653a768d50180d numpy-1.13.1-cp35-none-win32.whl
4df5bb3eb4787ff9850c1a5694922ab4 numpy-1.13.1-cp35-none-win_amd64.whl
449926c081bd27655d8bf76e03c5c75c numpy-1.13.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
6ab8632d38c0313d9e063841a7e43edf numpy-1.13.1-cp36-cp36m-manylinux1_i686.whl
a3664260fc73c6c2645a00b22109a2b8 numpy-1.13.1-cp36-cp36m-manylinux1_x86_64.whl
0a5d74ebce74e2a557d7bc0183398ac1 numpy-1.13.1-cp36-none-win32.whl
ab789d91bc6e423084df7fc73e667270 numpy-1.13.1-cp36-none-win_amd64.whl
6d459e4a24f5035f720dda3c57716a92 numpy-1.13.1.tar.gz
2c3c0f4edf720c3a7b525dacc825b9ae numpy-1.13.1.zip

SHA256
------

91a4f5c6594a61b57b0ab6031a084fa3686b1e847cc2215983e444583594b529 numpy-1.13.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
ab6abc2083013dd86a8fcba2ba16bab00690cb81db62588781d656572809c9a9 numpy-1.13.1-cp27-cp27m-manylinux1_i686.whl
02e6279d95081086469e6ed83c708c4c48ed03a28ab87c71bea28af3b95fa56d numpy-1.13.1-cp27-cp27m-manylinux1_x86_64.whl
05a7a81397e1391ae34cc0d14764a31ab6f73dbd0abe0952b3550d3ad4df265d numpy-1.13.1-cp27-cp27mu-manylinux1_i686.whl
73fd54d9787f4f8747f823a7e2d0693da94c66b670ccf436e4bb488bbcd5ce8c numpy-1.13.1-cp27-cp27mu-manylinux1_x86_64.whl
4b7da62ba159bfc5fee6f54709b0708686ee15081f16dc5f81cda7f1e0e77941 numpy-1.13.1-cp27-none-win32.whl
1980c4bc1eb495624c8414f3763da83b91d37c3c69772ab6912e9a857a143cdb numpy-1.13.1-cp27-none-win_amd64.whl
436d47018c3cd2b9723ed3cd4ed4698ea7641449c71096781478ef6a20ae3bd0 numpy-1.13.1-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
43722270fbfb07d91558985a3da37aa92a2d4e2d271182526959a5773f9fb12a numpy-1.13.1-cp34-cp34m-manylinux1_i686.whl
838e48df3703c8747f355cd6386e0680b906a2f7b2bbd304e8a2d531692484ce numpy-1.13.1-cp34-cp34m-manylinux1_x86_64.whl
1400ec59c7f6c4f9390cc3bc5e56a6cbae2c30b39024eef317a0b52fe9c174c6 numpy-1.13.1-cp34-none-win32.whl
ed6a909a78e29a4056e30f918a26b231e33edc77bd785bbceb461877baf9feb5 numpy-1.13.1-cp34-none-win_amd64.whl
c1833829526ce8f5177a3e07554b6c98c194072f66f018839ecd1ef2d15e6c4a numpy-1.13.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
a09a4707066fe9431c6b79a1be922bc126f4bc50502ae7e9f67d40917d0cc6d4 numpy-1.13.1-cp35-cp35m-manylinux1_i686.whl
9a8515002f143a5934f25ad2aacdfd1fcf57a7f5da6142c439eb8787ef65e8a6 numpy-1.13.1-cp35-cp35m-manylinux1_x86_64.whl
b49caeb170e54cc59863017a199667a51526bd906bcd5ee340fcf0e01bd7fa94 numpy-1.13.1-cp35-none-win32.whl
405c3dbb6a57415ec8576ff1c0248f332ac1c3be2e5eea04d498dad8431bf57b numpy-1.13.1-cp35-none-win_amd64.whl
42b3cf886701bb16f3bdf2ae6c39af67b464cdd67d5fc86619ef2a876a23de27 numpy-1.13.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
94cb6ef9ffd15d7d904d0825ada642a51dc8890cdc06f1e4fb8e46cff79fe2ef numpy-1.13.1-cp36-cp36m-manylinux1_i686.whl
d910a24f536f926bd56fb30d6f17ae8b89a1406e105087a49e014e000b00e8db numpy-1.13.1-cp36-cp36m-manylinux1_x86_64.whl
b064211a4d86fc8009ef90c66d1443ba4a0c56d481659e085a190299569955e3 numpy-1.13.1-cp36-none-win32.whl
f4b4b2da8c1b4f7c212742d2be03aa9277d46fd7b309025d930ad554e5739932 numpy-1.13.1-cp36-none-win_amd64.whl
de020ec06f1e9ce1115a50161a38bf8d4c2525379900f9cb478cc613a1e7cd93 numpy-1.13.1.tar.gz
c9b0283776085cb2804efff73e9955ca279ba4edafd58d3ead70b61d209c4fbb numpy-1.13.1.zip

1.13.0

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

This release supports Python 2.7 and 3.4 - 3.6.


Highlights
==========

* Operations like ``a + b + c`` will reuse temporaries on some platforms,
resulting in less memory use and faster execution.
* Inplace operations check if inputs overlap outputs and create temporaries
to avoid problems.
* New ``__array_ufunc__`` attribute provides improved ability for classes to
override default ufunc behavior.
* New ``np.block`` function for creating blocked arrays.


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

* New ``np.positive`` ufunc.
* New ``np.divmod`` ufunc provides more efficient divmod.
* New ``np.isnat`` ufunc tests for NaT special values.
* New ``np.heaviside`` ufunc computes the Heaviside function.
* New ``np.isin`` function, improves on ``in1d``.
* New ``np.block`` function for creating blocked arrays.
* New ``PyArray_MapIterArrayCopyIfOverlap`` added to NumPy C-API.

See below for details.


Deprecations
============

* Calling ``np.fix``, ``np.isposinf``, and ``np.isneginf`` with ``f(x, y=out)``
is deprecated - the argument should be passed as ``f(x, out=out)``, which
matches other ufunc-like interfaces.
* Use of the C-API ``NPY_CHAR`` type number deprecated since version 1.7 will
now raise deprecation warnings at runtime. Extensions built with older f2py
versions need to be recompiled to remove the warning.
* ``np.ma.argsort``, ``np.ma.minimum.reduce``, and ``np.ma.maximum.reduce``
should be called with an explicit `axis` argument when applied to arrays with
more than 2 dimensions, as the default value of this argument (``None``) is
inconsistent with the rest of numpy (``-1``, ``0``, and ``0``, respectively).
* ``np.ma.MaskedArray.mini`` is deprecated, as it almost duplicates the
functionality of ``np.MaskedArray.min``. Exactly equivalent behaviour
can be obtained with ``np.ma.minimum.reduce``.
* The single-argument form of ``np.ma.minimum`` and ``np.ma.maximum`` is
deprecated. ``np.maximum``. ``np.ma.minimum(x)`` should now be spelt
``np.ma.minimum.reduce(x)``, which is consistent with how this would be done
with ``np.minimum``.
* Calling ``ndarray.conjugate`` on non-numeric dtypes is deprecated (it
should match the behavior of ``np.conjugate``, which throws an error).


Future Changes
==============

* Assignment between structured arrays with different field names will change
in NumPy 1.14. Previously, fields in the dst would be set to the value of the
identically-named field in the src. In numpy 1.14 fields will instead be
assigned 'by position': The n-th field of the dst will be set to the n-th
field of the src array. Note that the ``FutureWarning`` raised in NumPy 1.12
incorrectly reported this change as scheduled for NumPy 1.13 rather than
NumPy 1.14.


Build System Changes
====================

* ``numpy.distutils`` now automatically determines C-file dependencies with
GCC compatible compilers.


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

Error type changes
------------------

* ``numpy.hstack()`` now throws ``ValueError`` instead of ``IndexError`` when
input is empty.
* Functions taking an axis argument, when that argument is out of range, now
throw ``np.AxisError`` instead of a mixture of ``IndexError`` and
``ValueError``. For backwards compatibility, ``AxisError`` subclasses both of
these.

Tuple object dtypes
-------------------

Support has been removed for certain obscure dtypes that were unintentionally
allowed, of the form ``(old_dtype, new_dtype)``, where either of the dtypes
is or contains the ``object`` dtype. As an exception, dtypes of the form
``(object, [('name', object)])`` are still supported due to evidence of
existing use.

DeprecationWarning to error
---------------------------
See Changes section for more detail.

* ``partition``, TypeError when non-integer partition index is used.
* ``NpyIter_AdvancedNew``, ValueError when ``oa_ndim == 0`` and ``op_axes`` is NULL
* ``negative(bool_)``, TypeError when negative applied to booleans.
* ``subtract(bool_, bool_)``, TypeError when subtracting boolean from boolean.
* ``np.equal, np.not_equal``, object identity doesn't override failed comparison.
* ``np.equal, np.not_equal``, object identity doesn't override non-boolean comparison.
* Deprecated boolean indexing behavior dropped. See Changes below for details.
* Deprecated ``np.alterdot()`` and ``np.restoredot()`` removed.

FutureWarning to changed behavior
---------------------------------
See Changes section for more detail.

* ``numpy.average`` preserves subclasses
* ``array == None`` and ``array != None`` do element-wise comparison.
* ``np.equal, np.not_equal``, object identity doesn't override comparison result.

dtypes are now always true
--------------------------

Previously ``bool(dtype)`` would fall back to the default python
implementation, which checked if ``len(dtype) > 0``. Since ``dtype`` objects
implement ``__len__`` as the number of record fields, ``bool`` of scalar dtypes
would evaluate to ``False``, which was unintuitive. Now ``bool(dtype) == True``
for all dtypes.

``__getslice__`` and ``__setslice__`` are no longer needed in ``ndarray`` subclasses
------------------------------------------------------------------------------------
When subclassing np.ndarray in Python 2.7, it is no longer _necessary_ to
implement ``__*slice__`` on the derived class, as ``__*item__`` will intercept
these calls correctly.

Any code that did implement these will work exactly as before. Code that
invokes``ndarray.__getslice__`` (e.g. through ``super(...).__getslice__``) will
now issue a DeprecationWarning - ``.__getitem__(slice(start, end))`` should be
used instead.


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

GUfuncs on empty arrays and NpyIter axis removal
------------------------------------------------
It is now allowed to remove a zero-sized axis from NpyIter. Which may mean
that code removing axes from NpyIter has to add an additional check when
accessing the removed dimensions later on.

The largest followup change is that gufuncs are now allowed to have zero-sized
inner dimensions. This means that a gufunc now has to anticipate an empty inner
dimension, while this was never possible and an error raised instead.

For most gufuncs no change should be necessary. However, it is now possible
for gufuncs with a signature such as ``(..., N, M) -> (..., M)`` to return
a valid result if ``N=0`` without further wrapping code.

``PyArray_MapIterArrayCopyIfOverlap`` added to NumPy C-API
----------------------------------------------------------
Similar to ``PyArray_MapIterArray`` but with an additional ``copy_if_overlap``
argument. If ``copy_if_overlap != 0``, checks if input has memory overlap with
any of the other arrays and make copies as appropriate to avoid problems if the
input is modified during the iteration. See the documentation for more complete
documentation.


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

``__array_ufunc__`` added
-------------------------
This is the renamed and redesigned ``__numpy_ufunc__``. Any class, ndarray
subclass or not, can define this method or set it to ``None`` in order to
override the behavior of NumPy's ufuncs. This works quite similarly to Python's
``__mul__`` and other binary operation routines. See the documentation for a
more detailed description of the implementation and behavior of this new
option. The API is provisional, we do not yet guarantee backward compatibility
as modifications may be made pending feedback. See the NEP_ and
documentation_ for more details.

.. _NEP: https://github.com/numpy/numpy/blob/master/doc/neps/ufunc-overrides.rst
.. _documentation: https://github.com/charris/numpy/blob/master/doc/source/reference/arrays.classes.rst

New ``positive`` ufunc
----------------------
This ufunc corresponds to unary `+`, but unlike `+` on an ndarray it will raise
an error if array values do not support numeric operations.

New ``divmod`` ufunc
--------------------
This ufunc corresponds to the Python builtin `divmod`, and is used to implement
`divmod` when called on numpy arrays. ``np.divmod(x, y)`` calculates a result
equivalent to ``(np.floor_divide(x, y), np.remainder(x, y))`` but is
approximately twice as fast as calling the functions separately.

``np.isnat`` ufunc tests for NaT special datetime and timedelta values
----------------------------------------------------------------------
The new ufunc ``np.isnat`` finds the positions of special NaT values
within datetime and timedelta arrays. This is analogous to ``np.isnan``.

``np.heaviside`` ufunc computes the Heaviside function
------------------------------------------------------
The new function ``np.heaviside(x, h0)`` (a ufunc) computes the Heaviside
function:
.. code::
{ 0 if x < 0,
heaviside(x, h0) = { h0 if x == 0,
{ 1 if x > 0.

``np.block`` function for creating blocked arrays
-------------------------------------------------
Add a new ``block`` function to the current stacking functions ``vstack``,
``hstack``, and ``stack``. This allows concatenation across multiple axes
simultaneously, with a similar syntax to array creation, but where elements
can themselves be arrays. For instance::

>>> A = np.eye(2) * 2
>>> B = np.eye(3) * 3
>>> np.block([
... [A, np.zeros((2, 3))],
... [np.ones((3, 2)), B ]
... ])
array([[ 2., 0., 0., 0., 0.],
[ 0., 2., 0., 0., 0.],
[ 1., 1., 3., 0., 0.],
[ 1., 1., 0., 3., 0.],
[ 1., 1., 0., 0., 3.]])

While primarily useful for block matrices, this works for arbitrary dimensions
of arrays.

It is similar to Matlab's square bracket notation for creating block matrices.

``isin`` function, improving on ``in1d``
----------------------------------------
The new function ``isin`` tests whether each element of an N-dimensonal
array is present anywhere within a second array. It is an enhancement
of ``in1d`` that preserves the shape of the first array.

Temporary elision
-----------------
On platforms providing the ``backtrace`` function NumPy will now not create
temporaries in expression when possible.
For example ``d = a + b + c`` is transformed to ``d = a + b; d += c`` which can
improve performance for large arrays as less memory bandwidth is required to
perform the operation.

``axes`` argument for ``unique``
--------------------------------
In an N-dimensional array, the user can now choose the axis along which to look
for duplicate N-1-dimensional elements using ``numpy.unique``. The original
behaviour is recovered if ``axis=None`` (default).

``np.gradient`` now supports unevenly spaced data
-------------------------------------------------
Users can now specify a not-constant spacing for data.
In particular ``np.gradient`` can now take:

1. A single scalar to specify a sample distance for all dimensions.
2. N scalars to specify a constant sample distance for each dimension.
i.e. ``dx``, ``dy``, ``dz``, ...
3. N arrays to specify the coordinates of the values along each dimension of F.
The length of the array must match the size of the corresponding dimension
4. Any combination of N scalars/arrays with the meaning of 2. and 3.

This means that, e.g., it is now possible to do the following::

>>> f = np.array([[1, 2, 6], [3, 4, 5]], dtype=np.float)
>>> dx = 2.
>>> y = [1., 1.5, 3.5]
>>> np.gradient(f, dx, y)
[array([[ 1. , 1. , -0.5], [ 1. , 1. , -0.5]]),
array([[ 2. , 2. , 2. ], [ 2. , 1.7, 0.5]])]

Support for returning arrays of arbitrary dimensions in ``apply_along_axis``
----------------------------------------------------------------------------
Previously, only scalars or 1D arrays could be returned by the function passed
to ``apply_along_axis``. Now, it can return an array of any dimensionality
(including 0D), and the shape of this array replaces the axis of the array
being iterated over.

``.ndim`` property added to ``dtype`` to complement ``.shape``
--------------------------------------------------------------
For consistency with ``ndarray`` and ``broadcast``, ``d.ndim`` is a shorthand
for ``len(d.shape)``.

Support for tracemalloc in Python 3.6
-------------------------------------
NumPy now supports memory tracing with tracemalloc_ module of Python 3.6 or
newer. Memory allocations from NumPy are placed into the domain defined by
``numpy.lib.tracemalloc_domain``.
Note that NumPy allocation will not show up in tracemalloc_ of earlier Python
versions.

.. _tracemalloc: https://docs.python.org/3/library/tracemalloc.html

NumPy may be built with relaxed stride checking debugging
---------------------------------------------------------
Setting NPY_RELAXED_STRIDES_DEBUG=1 in the environment when relaxed stride
checking is enabled will cause NumPy to be compiled with the affected strides
set to the maximum value of npy_intp in order to help detect invalid usage of
the strides in downstream projects. When enabled, invalid usage often results
in an error being raised, but the exact type of error depends on the details of
the code. TypeError and OverflowError have been observed in the wild.

It was previously the case that this option was disabled for releases and
enabled in master and changing between the two required editing the code. It is
now disabled by default but can be enabled for test builds.


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

Ufunc behavior for overlapping inputs
-------------------------------------

Operations where ufunc input and output operands have memory overlap
produced undefined results in previous NumPy versions, due to data
dependency issues. In NumPy 1.13.0, results from such operations are
now defined to be the same as for equivalent operations where there is
no memory overlap.

Operations affected now make temporary copies, as needed to eliminate
data dependency. As detecting these cases is computationally
expensive, a heuristic is used, which may in rare cases result to
needless temporary copies. For operations where the data dependency
is simple enough for the heuristic to analyze, temporary copies will
not be made even if the arrays overlap, if it can be deduced copies
are not necessary. As an example,``np.add(a, b, out=a)`` will not
involve copies.

To illustrate a previously undefined operation::

>>> x = np.arange(16).astype(float)
>>> np.add(x[1:], x[:-1], out=x[1:])

In NumPy 1.13.0 the last line is guaranteed to be equivalent to::

>>> np.add(x[1:].copy(), x[:-1].copy(), out=x[1:])

A similar operation with simple non-problematic data dependence is::

>>> x = np.arange(16).astype(float)
>>> np.add(x[1:], x[:-1], out=x[:-1])

It will continue to produce the same results as in previous NumPy
versions, and will not involve unnecessary temporary copies.

The change applies also to in-place binary operations, for example::

>>> x = np.random.rand(500, 500)
>>> x += x.T

This statement is now guaranteed to be equivalent to ``x[...] = x + x.T``,
whereas in previous NumPy versions the results were undefined.

Partial support for 64-bit f2py extensions with MinGW
-----------------------------------------------------
Extensions that incorporate Fortran libraries can now be built using the free
MinGW_ toolset, also under Python 3.5. This works best for extensions that only
do calculations and uses the runtime modestly (reading and writing from files,
for instance). Note that this does not remove the need for Mingwpy; if you make
extensive use of the runtime, you will most likely run into issues_. Instead,
it should be regarded as a band-aid until Mingwpy is fully functional.

Extensions can also be compiled using the MinGW toolset using the runtime
library from the (moveable) WinPython 3.4 distribution, which can be useful for
programs with a PySide1/Qt4 front-end.

.. _MinGW: https://sf.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/6.2.0/threads-win32/seh/

.. _issues: https://mingwpy.github.io/issues.html

Performance improvements for ``packbits`` and ``unpackbits``
------------------------------------------------------------
The functions ``numpy.packbits`` with boolean input and ``numpy.unpackbits`` have
been optimized to be a significantly faster for contiguous data.

Fix for PPC long double floating point information
--------------------------------------------------
In previous versions of NumPy, the ``finfo`` function returned invalid
information about the `double double`_ format of the ``longdouble`` float type
on Power PC (PPC). The invalid values resulted from the failure of the NumPy
algorithm to deal with the variable number of digits in the significand
that are a feature of `PPC long doubles`. This release by-passes the failing
algorithm by using heuristics to detect the presence of the PPC double double
format. A side-effect of using these heuristics is that the ``finfo``
function is faster than previous releases.

.. _PPC long doubles: https://www.ibm.com/support/knowledgecenter/en/ssw_aix_71/com.ibm.aix.genprogc/128bit_long_double_floating-point_datatype.htm

.. _double double: https://en.wikipedia.org/wiki/Quadruple-precision_floating-point_format#Double-double_arithmetic

Better default repr for ``ndarray`` subclasses
----------------------------------------------
Subclasses of ndarray with no ``repr`` specialization now correctly indent
their data and type lines.

More reliable comparisons of masked arrays
------------------------------------------
Comparisons of masked arrays were buggy for masked scalars and failed for
structured arrays with dimension higher than one. Both problems are now
solved. In the process, it was ensured that in getting the result for a
structured array, masked fields are properly ignored, i.e., the result is equal
if all fields that are non-masked in both are equal, thus making the behaviour
identical to what one gets by comparing an unstructured masked array and then
doing ``.all()`` over some axis.

np.matrix with booleans elements can now be created using the string syntax
---------------------------------------------------------------------------
``np.matrix`` failed whenever one attempts to use it with booleans, e.g.,
``np.matrix('True')``. Now, this works as expected.

More ``linalg`` operations now accept empty vectors and matrices
----------------------------------------------------------------
All of the following functions in ``np.linalg`` now work when given input
arrays with a 0 in the last two dimensions: ``det``, ``slogdet``, ``pinv``,
``eigvals``, ``eigvalsh``, ``eig``, ``eigh``.

1.13.0rc2

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

1.13.0rc1

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

1.12.1

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

NumPy 1.12.1 supports Python 2.7 and 3.4 - 3.6 and fixes bugs and regressions
found in NumPy 1.12.0. In particular, the regression in f2py constant parsing
is fixed. Wheels for Linux, Windows, and OSX can be found on pypi,


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

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

* Charles Harris
* Eric Wieser
* Greg Young
* Joerg Behrmann +
* John Kirkham
* Julian Taylor
* Marten van Kerkwijk
* Matthew Brett
* Shota Kawabuchi
* Jean Utke +

Fixes Backported
================

* 8483: BUG: Fix wrong future nat warning and equiv type logic error...
* 8489: BUG: Fix wrong masked median for some special cases
* 8490: DOC: Place np.average in inline code
* 8491: TST: Work around isfinite inconsistency on i386
* 8494: BUG: Guard against replacing constants without `'_'` spec in f2py.
* 8524: BUG: Fix mean for float 16 non-array inputs for 1.12
* 8571: BUG: Fix calling python api with error set and minor leaks for...
* 8602: BUG: Make iscomplexobj compatible with custom dtypes again
* 8618: BUG: Fix undefined behaviour induced by bad `__array_wrap__`
* 8648: BUG: Fix `MaskedArray.__setitem__`
* 8659: BUG: PPC64el machines are POWER for Fortran in f2py
* 8665: BUG: Look up methods on MaskedArray in `_frommethod`
* 8674: BUG: Remove extra digit in `binary_repr` at limit
* 8704: BUG: Fix deepcopy regression for empty arrays.
* 8707: BUG: Fix ma.median for empty ndarrays

Checksums
=========

MD5
---

6f9da159637b542d847d43e56b3c04e1 numpy-1.12.1rc1-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
2008f7244c850700d57e55316b9a74a3 numpy-1.12.1rc1-cp27-cp27m-manylinux1_i686.whl
d2d1a41a75e6fe7ffb8a648bf4f37306 numpy-1.12.1rc1-cp27-cp27m-manylinux1_x86_64.whl
68965b257291ae47c14aa2308aa873c6 numpy-1.12.1rc1-cp27-cp27mu-manylinux1_i686.whl
c9a592fc298ef7d6a788c2936e56e941 numpy-1.12.1rc1-cp27-cp27mu-manylinux1_x86_64.whl
9f788341df108abaf5a73642fb227a3a numpy-1.12.1rc1-cp27-none-win32.whl
470850b934b3e1bbffb983007e4002a9 numpy-1.12.1rc1-cp27-none-win_amd64.whl
a1ca4a95536fa7aa552de94721b4e212 numpy-1.12.1rc1-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
ae62f3a079daf3e480c9b82d2baf9250 numpy-1.12.1rc1-cp34-cp34m-manylinux1_i686.whl
fc6dfaec9735cfd61ad5271c2f8f7c4d numpy-1.12.1rc1-cp34-cp34m-manylinux1_x86_64.whl
6a2c6058ae104df1298d57695f5e4a01 numpy-1.12.1rc1-cp34-none-win32.whl
67cc902f361323bba7f60cf236d72fc7 numpy-1.12.1rc1-cp34-none-win_amd64.whl
4bcb3d5b7946e828402c4d0922493e2c numpy-1.12.1rc1-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
48961a54ae03fb68f1269d66d7ba006a numpy-1.12.1rc1-cp35-cp35m-manylinux1_i686.whl
cf11aa3abfed14578986b6cbdbfd09c3 numpy-1.12.1rc1-cp35-cp35m-manylinux1_x86_64.whl
ea49287c2e2fcecd34b9ef68f6519380 numpy-1.12.1rc1-cp35-none-win32.whl
cfc541c007f2dc5694f2ab530cefff25 numpy-1.12.1rc1-cp35-none-win_amd64.whl
24f835878000b1bbf54045eda1cf32ec numpy-1.12.1rc1-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
d1825676d2590a828c1589bc89a05ddc numpy-1.12.1rc1-cp36-cp36m-manylinux1_i686.whl
296335a1576f38d6b0c59b493a0d7ba8 numpy-1.12.1rc1-cp36-cp36m-manylinux1_x86_64.whl
782ee95bc89bcc1966034c84c8b217b4 numpy-1.12.1rc1-cp36-none-win32.whl
c140f50a4a560dd18b2dbde287925964 numpy-1.12.1rc1-cp36-none-win_amd64.whl
23e08c029b3d44fe92da20fc2566bf7f numpy-1.12.1rc1.tar.gz
091bc6601fe74d0e5a00c22c3d97d9bc numpy-1.12.1rc1.zip

SHA256
------

f99955e69570d37fd457127b995506e4148ac5c4b523e31a61bf2295398532d8 numpy-1.12.1rc1-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
03f6a31c62db7b5f4eb31be4d74b3ebad507da8cbe574ec6378680548681446b numpy-1.12.1rc1-cp27-cp27m-manylinux1_i686.whl
aa260f0290992d13c51121282de6e25cbc9b78344c99265193aae7f62b330bd8 numpy-1.12.1rc1-cp27-cp27m-manylinux1_x86_64.whl
3952e8e3b6cdf99d172c9f2399ecf49d0b0c3ca43ff30c067a53c80b1ae3feeb numpy-1.12.1rc1-cp27-cp27mu-manylinux1_i686.whl
866ab7c8ecd14458efb486f1866f1551430ca04a04b0d7c5e79c8b20bb0bea84 numpy-1.12.1rc1-cp27-cp27mu-manylinux1_x86_64.whl
85612e2923ecf3a14e99bd44f46ab73a7bbb2374d3ff279c84de8336849ed49e numpy-1.12.1rc1-cp27-none-win32.whl
e7637f111588f46b3b2962835baa06699893fb67867f55c58f6169fd5158a504 numpy-1.12.1rc1-cp27-none-win_amd64.whl
990848d22127cd30bd13609e7a6f2a593069d8219d24e5d40cc9c4f8e8d96f36 numpy-1.12.1rc1-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
0da5dd9fa119d2e18d0a868cf79ae8a8ac09f20a5825d2dddc0d76b2aff2d47a numpy-1.12.1rc1-cp34-cp34m-manylinux1_i686.whl
7975dd70ef1527d4a2059650e4802a3f2087edd62f22a3e10fcc636e53914d85 numpy-1.12.1rc1-cp34-cp34m-manylinux1_x86_64.whl
4844b346d033eb4e6aaeffce368b23fc7a63fe25a4dba989f96519ffa63334e2 numpy-1.12.1rc1-cp34-none-win32.whl
a9021bccaea36190ef87a6de024c10f46198a172e8805c97f0841a3f50ad8f27 numpy-1.12.1rc1-cp34-none-win_amd64.whl
818e70d06a9d7ad24d9e20277e739203665bbbc00309f942f737ae97c727c5cb numpy-1.12.1rc1-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
e29f6b34aa1ba296a2e3ee50e53ee50773a2cf63b8e74670b41c86276c5845a1 numpy-1.12.1rc1-cp35-cp35m-manylinux1_i686.whl
263d83c480732753162110cc7d29b7dbbd6039042ba789a01feb6ddf82845171 numpy-1.12.1rc1-cp35-cp35m-manylinux1_x86_64.whl
a439c27f9e726d4e2da38a3caaa5bcafd6460a74f614f3c66c461935774fccae numpy-1.12.1rc1-cp35-none-win32.whl
9cea6070ff563a03236bbda56424093e1b6bfec7a0e719fcbb06370e166366f1 numpy-1.12.1rc1-cp35-none-win_amd64.whl
9b746a5a767025e520476fb3ffe923cc565953fa0006cc5ce83daa5ac4fa8eb6 numpy-1.12.1rc1-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
f89fb559c21b51f28f56eca900011adef1ed2478d340641b78d81b00ab048ae0 numpy-1.12.1rc1-cp36-cp36m-manylinux1_i686.whl
14754935eba11505c2b92e02f334460c55414c107c6f45ec0ef45b072c2759c8 numpy-1.12.1rc1-cp36-cp36m-manylinux1_x86_64.whl
73a6407e6a46bf022bcd0c810865367623e28ce374dfd34cb777a220a0ca9149 numpy-1.12.1rc1-cp36-none-win32.whl
ace43661d923540bec2e98590d4d108168beebec32c51bf6e84d13b5367f1136 numpy-1.12.1rc1-cp36-none-win_amd64.whl
63bfae3adb227f38d4ce13aa55dad0eaf50e997394849021b1bf070707a6ab88 numpy-1.12.1rc1.tar.gz
eeaffa7be017c7f3bc8f88b6c7d7f5b3388c18a792b4f87a447a988fde883d30 numpy-1.12.1rc1.zip

Page 22 of 24

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.