numpy

The fundamental package for scientific computing with Python.

OTHER License

Downloads
343M
Stars
26.2K
Committers
1.8K

Bot releases are hidden (Show)

numpy -

Published by charris about 4 years ago

NumPy 1.19.1 Release Notes

NumPy 1.19.1 fixes several bugs found in the 1.19.0 release, replaces
several functions deprecated in the upcoming Python-3.9 release, has
improved support for AIX, and has a number of development related
updates to keep CI working with recent upstream changes.

This release supports Python 3.6-3.8. Cython >= 0.29.21 needs to be
used when building with Python 3.9 for testing purposes.

Contributors

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

  • Abhinav Reddy +
  • Anirudh Subramanian
  • Antonio Larrosa +
  • Charles Harris
  • Chunlin Fang
  • Eric Wieser
  • Etienne Guesnet +
  • Kevin Sheppard
  • Matti Picus
  • Raghuveer Devulapalli
  • Roman Yurchak
  • Ross Barnowski
  • Sayed Adel
  • Sebastian Berg
  • Tyler Reddy

Pull requests merged

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

  • #16649: MAINT, CI: disable Shippable cache
  • #16652: MAINT: Replace PyUString_GET_SIZE with PyUnicode_GetLength.
  • #16654: REL: Fix outdated docs link
  • #16656: BUG: raise IEEE exception on AIX
  • #16672: BUG: Fix bug in AVX complex absolute while processing array of...
  • #16693: TST: Add extra debugging information to CPU features detection
  • #16703: BLD: Add CPU entry for Emscripten / WebAssembly
  • #16705: TST: Disable Python 3.9-dev testing.
  • #16714: MAINT: Disable use_hugepages in case of ValueError
  • #16724: BUG: Fix PyArray_SearchSorted signature.
  • #16768: MAINT: Fixes for deprecated functions in scalartypes.c.src
  • #16772: MAINT: Remove unneeded call to PyUnicode_READY
  • #16776: MAINT: Fix deprecated functions in scalarapi.c
  • #16779: BLD, ENH: Add RPATH support for AIX
  • #16780: BUG: Fix default fallback in genfromtxt
  • #16784: BUG: Added missing return after raising error in methods.c
  • #16795: BLD: update cython to 0.29.21
  • #16832: MAINT: setuptools 49.2.0 emits a warning, avoid it
  • #16872: BUG: Validate output size in bin- and multinomial
  • #16875: BLD, MAINT: Pin setuptools
  • #16904: DOC: Reconstruct Testing Guideline.
  • #16905: TST, BUG: Re-raise MemoryError exception in test_large_zip's...
  • #16906: BUG, DOC: Fix bad MPL kwarg.
  • #16916: BUG: Fix string/bytes to complex assignment
  • #16922: REL: Prepare for NumPy 1.19.1 release

Checksums

MD5

a57df319841a487b22b932aa99562fd8  numpy-1.19.1-cp36-cp36m-macosx_10_9_x86_64.whl
c86be0ba1efc221cdd3aba05c21ab7a6  numpy-1.19.1-cp36-cp36m-manylinux1_i686.whl
09bb5d4ff277bc2caddc107af963f006  numpy-1.19.1-cp36-cp36m-manylinux1_x86_64.whl
c150ffb56704ff319e8ea525773de49e  numpy-1.19.1-cp36-cp36m-manylinux2010_i686.whl
e7c22cfc5956330df8fc107968472e28  numpy-1.19.1-cp36-cp36m-manylinux2010_x86_64.whl
9255520a51c6aa591489f68ac7a4cb0e  numpy-1.19.1-cp36-cp36m-manylinux2014_aarch64.whl
7de3e77a0cda438724e1d8f312805742  numpy-1.19.1-cp36-cp36m-win32.whl
d6d00a2e7b5bbfa7f5f097e8f99d17a7  numpy-1.19.1-cp36-cp36m-win_amd64.whl
c8bc9f328f3a89ab35c374e9cf36dd80  numpy-1.19.1-cp37-cp37m-macosx_10_9_x86_64.whl
8e2eb1614b6a7ce286a5ddf39805564c  numpy-1.19.1-cp37-cp37m-manylinux1_i686.whl
884540e9a94a9da88cd35311a40e1f98  numpy-1.19.1-cp37-cp37m-manylinux1_x86_64.whl
c8dea76ce437f9795a2c38fc3a94cc64  numpy-1.19.1-cp37-cp37m-manylinux2010_i686.whl
fceff6d052e0729e0bc4725d415a0424  numpy-1.19.1-cp37-cp37m-manylinux2010_x86_64.whl
8a40347a7aa0a78ad652761b18646b94  numpy-1.19.1-cp37-cp37m-manylinux2014_aarch64.whl
6f83733af7f25219b1309ed6e2125b40  numpy-1.19.1-cp37-cp37m-win32.whl
5ffe9aaa1be9790546bf0805349d11de  numpy-1.19.1-cp37-cp37m-win_amd64.whl
9fc17dd30d41000be08a5e76bda7cd13  numpy-1.19.1-cp38-cp38-macosx_10_9_x86_64.whl
e164a68bb255e40835243843fd748786  numpy-1.19.1-cp38-cp38-manylinux1_i686.whl
831327c74d9d0c69adba8c626e09a842  numpy-1.19.1-cp38-cp38-manylinux1_x86_64.whl
8d5cfc3f45d07874d427e9d62dfe6b0d  numpy-1.19.1-cp38-cp38-manylinux2010_i686.whl
08a1030ceea2f30f51e6c39264aec2e3  numpy-1.19.1-cp38-cp38-manylinux2010_x86_64.whl
a4dab4ffba3b1b2600400f89ab065112  numpy-1.19.1-cp38-cp38-manylinux2014_aarch64.whl
3b7770f38ed195e24692d6581e4634a1  numpy-1.19.1-cp38-cp38-win32.whl
8ec6183c736b4eacec8de80c98261af1  numpy-1.19.1-cp38-cp38-win_amd64.whl
a15c1aec844788f6e55c1da12f6bfa86  numpy-1.19.1-pp36-pypy36_pp73-manylinux2010_x86_64.whl
bb6f87f7b2d15a2e2a983b972afbcde5  numpy-1.19.1.tar.gz
2ccca1881b2766040149629614d22a3f  numpy-1.19.1.zip

SHA256

b1cca51512299841bf69add3b75361779962f9cee7d9ee3bb446d5982e925b69  numpy-1.19.1-cp36-cp36m-macosx_10_9_x86_64.whl
c9591886fc9cbe5532d5df85cb8e0cc3b44ba8ce4367bd4cf1b93dc19713da72  numpy-1.19.1-cp36-cp36m-manylinux1_i686.whl
cf1347450c0b7644ea142712619533553f02ef23f92f781312f6a3553d031fc7  numpy-1.19.1-cp36-cp36m-manylinux1_x86_64.whl
ed8a311493cf5480a2ebc597d1e177231984c818a86875126cfd004241a73c3e  numpy-1.19.1-cp36-cp36m-manylinux2010_i686.whl
3673c8b2b29077f1b7b3a848794f8e11f401ba0b71c49fbd26fb40b71788b132  numpy-1.19.1-cp36-cp36m-manylinux2010_x86_64.whl
56ef7f56470c24bb67fb43dae442e946a6ce172f97c69f8d067ff8550cf782ff  numpy-1.19.1-cp36-cp36m-manylinux2014_aarch64.whl
aaf42a04b472d12515debc621c31cf16c215e332242e7a9f56403d814c744624  numpy-1.19.1-cp36-cp36m-win32.whl
082f8d4dd69b6b688f64f509b91d482362124986d98dc7dc5f5e9f9b9c3bb983  numpy-1.19.1-cp36-cp36m-win_amd64.whl
e4f6d3c53911a9d103d8ec9518190e52a8b945bab021745af4939cfc7c0d4a9e  numpy-1.19.1-cp37-cp37m-macosx_10_9_x86_64.whl
5b6885c12784a27e957294b60f97e8b5b4174c7504665333c5e94fbf41ae5d6a  numpy-1.19.1-cp37-cp37m-manylinux1_i686.whl
1bc0145999e8cb8aed9d4e65dd8b139adf1919e521177f198529687dbf613065  numpy-1.19.1-cp37-cp37m-manylinux1_x86_64.whl
5a936fd51049541d86ccdeef2833cc89a18e4d3808fe58a8abeb802665c5af93  numpy-1.19.1-cp37-cp37m-manylinux2010_i686.whl
ef71a1d4fd4858596ae80ad1ec76404ad29701f8ca7cdcebc50300178db14dfc  numpy-1.19.1-cp37-cp37m-manylinux2010_x86_64.whl
b9792b0ac0130b277536ab8944e7b754c69560dac0415dd4b2dbd16b902c8954  numpy-1.19.1-cp37-cp37m-manylinux2014_aarch64.whl
b12e639378c741add21fbffd16ba5ad25c0a1a17cf2b6fe4288feeb65144f35b  numpy-1.19.1-cp37-cp37m-win32.whl
8343bf67c72e09cfabfab55ad4a43ce3f6bf6e6ced7acf70f45ded9ebb425055  numpy-1.19.1-cp37-cp37m-win_amd64.whl
e45f8e981a0ab47103181773cc0a54e650b2aef8c7b6cd07405d0fa8d869444a  numpy-1.19.1-cp38-cp38-macosx_10_9_x86_64.whl
667c07063940e934287993366ad5f56766bc009017b4a0fe91dbd07960d0aba7  numpy-1.19.1-cp38-cp38-manylinux1_i686.whl
480fdd4dbda4dd6b638d3863da3be82873bba6d32d1fc12ea1b8486ac7b8d129  numpy-1.19.1-cp38-cp38-manylinux1_x86_64.whl
935c27ae2760c21cd7354402546f6be21d3d0c806fffe967f745d5f2de5005a7  numpy-1.19.1-cp38-cp38-manylinux2010_i686.whl
309cbcfaa103fc9a33ec16d2d62569d541b79f828c382556ff072442226d1968  numpy-1.19.1-cp38-cp38-manylinux2010_x86_64.whl
7ed448ff4eaffeb01094959b19cbaf998ecdee9ef9932381420d514e446601cd  numpy-1.19.1-cp38-cp38-manylinux2014_aarch64.whl
de8b4a9b56255797cbddb93281ed92acbc510fb7b15df3f01bd28f46ebc4edae  numpy-1.19.1-cp38-cp38-win32.whl
92feb989b47f83ebef246adabc7ff3b9a59ac30601c3f6819f8913458610bdcc  numpy-1.19.1-cp38-cp38-win_amd64.whl
e1b1dc0372f530f26a03578ac75d5e51b3868b9b76cd2facba4c9ee0eb252ab1  numpy-1.19.1-pp36-pypy36_pp73-manylinux2010_x86_64.whl
1396e6c3d20cbfc119195303b0272e749610b7042cc498be4134f013e9a3215c  numpy-1.19.1.tar.gz
b8456987b637232602ceb4d663cb34106f7eb780e247d51a260b84760fd8f491  numpy-1.19.1.zip
numpy -

Published by charris over 4 years ago

NumPy 1.19.0 Release Notes

This NumPy release is marked by the removal of much technical debt:
support for Python 2 has been removed, many deprecations have been
expired, and documentation has been improved. The polishing of the
random module continues apace with bug fixes and better usability from
Cython.

The Python versions supported for this release are 3.6-3.8. Downstream
developers should use Cython >= 0.29.16 for Python 3.8 support and
OpenBLAS >= 3.7 to avoid problems on the Skylake architecture.

Highlights

  • Code compatibility with Python versions < 3.6 (including Python 2)
    was dropped from both the python and C code. The shims in
    numpy.compat will remain to support third-party packages, but they
    may be deprecated in a future release. Note that 1.19.x will not
    compile with earlier versions of Python due to the use of f-strings.

    (gh-15233)

Expired deprecations

numpy.insert and numpy.delete can no longer be passed an axis on 0d arrays

This concludes a deprecation from 1.9, where when an axis argument was
passed to a call to ~numpy.insert and ~numpy.delete on a 0d array,
the axis and obj argument and indices would be completely ignored.
In these cases, insert(arr, "nonsense", 42, axis=0) would actually
overwrite the entire array, while delete(arr, "nonsense", axis=0)
would be arr.copy()

Now passing axis on a 0d array raises ~numpy.AxisError.

(gh-15802)

numpy.delete no longer ignores out-of-bounds indices

This concludes deprecations from 1.8 and 1.9, where np.delete would
ignore both negative and out-of-bounds items in a sequence of indices.
This was at odds with its behavior when passed a single index.

Now out-of-bounds items throw IndexError, and negative items index
from the end.

(gh-15804)

numpy.insert and numpy.delete no longer accept non-integral indices

This concludes a deprecation from 1.9, where sequences of non-integers
indices were allowed and cast to integers. Now passing sequences of
non-integral indices raises IndexError, just like it does when passing
a single non-integral scalar.

(gh-15805)

numpy.delete no longer casts boolean indices to integers

This concludes a deprecation from 1.8, where np.delete would cast
boolean arrays and scalars passed as an index argument into integer
indices. The behavior now is to treat boolean arrays as a mask, and to
raise an error on boolean scalars.

(gh-15815)

Compatibility notes

Changed random variate stream from numpy.random.Generator.dirichlet

A bug in the generation of random variates for the Dirichlet
distribution with small 'alpha' values was fixed by using a different
algorithm when max(alpha) < 0.1. Because of the change, the stream of
variates generated by dirichlet in this case will be different from
previous releases.

(gh-14924)

Scalar promotion in PyArray_ConvertToCommonType

The promotion of mixed scalars and arrays in
PyArray_ConvertToCommonType has been changed to adhere to those used
by np.result_type. This means that input such as
(1000, np.array([1], dtype=np.uint8))) will now return uint16
dtypes. In most cases the behaviour is unchanged. Note that the use of
this C-API function is generally discouraged. This also fixes
np.choose to behave the same way as the rest of NumPy in this respect.

(gh-14933)

Fasttake and fastputmask slots are deprecated and NULL'ed

The fasttake and fastputmask slots are now never used and must always be
set to NULL. This will result in no change in behaviour. However, if a
user dtype should set one of these a DeprecationWarning will be given.

(gh-14942)

np.ediff1d casting behaviour with to_end and to_begin

np.ediff1d now uses the "same_kind" casting rule for its additional
to_end and to_begin arguments. This ensures type safety except when
the input array has a smaller integer type than to_begin or to_end.
In rare cases, the behaviour will be more strict than it was previously
in 1.16 and 1.17. This is necessary to solve issues with floating point
NaN.

(gh-14981)

Converting of empty array-like objects to NumPy arrays

Objects with len(obj) == 0 which implement an "array-like"
interface, meaning an object implementing obj.__array__(),
obj.__array_interface__, obj.__array_struct__, or the python buffer
interface and which are also sequences (i.e. Pandas objects) will now
always retain there shape correctly when converted to an array. If such
an object has a shape of (0, 1) previously, it could be converted into
an array of shape (0,) (losing all dimensions after the first 0).

(gh-14995)

Removed multiarray.int_asbuffer

As part of the continued removal of Python 2 compatibility,
multiarray.int_asbuffer was removed. On Python 3, it threw a
NotImplementedError and was unused internally. It is expected that
there are no downstream use cases for this method with Python 3.

(gh-15229)

numpy.distutils.compat has been removed

This module contained only the function get_exception(), which was
used as:

try:
    ...
except Exception:
    e = get_exception()

Its purpose was to handle the change in syntax introduced in Python 2.6,
from except Exception, e: to except Exception as e:, meaning it was
only necessary for codebases supporting Python 2.5 and older.

(gh-15255)

issubdtype no longer interprets float as np.floating

numpy.issubdtype had a FutureWarning since NumPy 1.14 which has
expired now. This means that certain input where the second argument was
neither a datatype nor a NumPy scalar type (such as a string or a python
type like int or float) will now be consistent with passing in
np.dtype(arg2).type. This makes the result consistent with
expectations and leads to a false result in some cases which previously
returned true.

(gh-15773)

Change output of round on scalars to be consistent with Python

Output of the __round__ dunder method and consequently the Python
built-in round has been changed to be a Python int to be consistent
with calling it on Python float objects when called with no arguments.
Previously, it would return a scalar of the np.dtype that was passed
in.

(gh-15840)

The numpy.ndarray constructor no longer interprets strides=() as strides=None

The former has changed to have the expected meaning of setting
numpy.ndarray.strides to (), while the latter continues to result in
strides being chosen automatically.

(gh-15882)

C-Level string to datetime casts changed

The C-level casts from strings were simplified. This changed also fixes
string to datetime and timedelta casts to behave correctly (i.e. like
Python casts using string_arr.astype("M8") while previously the cast
would behave like string_arr.astype(np.int_).astype("M8"). This only
affects code using low-level C-API to do manual casts (not full array
casts) of single scalar values or using e.g. PyArray_GetCastFunc, and
should thus not affect the vast majority of users.

(gh-16068)

SeedSequence with small seeds no longer conflicts with spawning

Small seeds (less than 2**96) were previously implicitly 0-padded out
to 128 bits, the size of the internal entropy pool. When spawned, the
spawn key was concatenated before the 0-padding. Since the first spawn
key is (0,), small seeds before the spawn created the same states as
the first spawned SeedSequence. Now, the seed is explicitly 0-padded
out to the internal pool size before concatenating the spawn key.
Spawned SeedSequences will produce different results than in the
previous release. Unspawned SeedSequences will still produce the same
results.

(gh-16551)

Deprecations

Deprecate automatic dtype=object for ragged input

Calling np.array([[1, [1, 2, 3]]) will issue a DeprecationWarning as
per NEP 34. Users should
explicitly use dtype=object to avoid the warning.

(gh-15119)

Passing shape=0 to factory functions in numpy.rec is deprecated

0 is treated as a special case and is aliased to None in the
functions:

  • numpy.core.records.fromarrays
  • numpy.core.records.fromrecords
  • numpy.core.records.fromstring
  • numpy.core.records.fromfile

In future, 0 will not be special cased, and will be treated as an
array length like any other integer.

(gh-15217)

Deprecation of probably unused C-API functions

The following C-API functions are probably unused and have been
deprecated:

  • PyArray_GetArrayParamsFromObject
  • PyUFunc_GenericFunction
  • PyUFunc_SetUsesArraysAsData

In most cases PyArray_GetArrayParamsFromObject should be replaced by
converting to an array, while PyUFunc_GenericFunction can be replaced
with PyObject_Call (see documentation for details).

(gh-15427)

Converting certain types to dtypes is Deprecated

The super classes of scalar types, such as np.integer, np.generic,
or np.inexact will now give a deprecation warning when converted to a
dtype (or used in a dtype keyword argument). The reason for this is that
np.integer is converted to np.int_, while it would be expected to
represent any integer (e.g. also int8, int16, etc. For example,
dtype=np.floating is currently identical to dtype=np.float64, even
though also np.float32 is a subclass of np.floating.

(gh-15534)

Deprecation of round for np.complexfloating scalars

Output of the __round__ dunder method and consequently the Python
built-in round has been deprecated on complex scalars. This does not
affect np.round.

(gh-15840)

numpy.ndarray.tostring() is deprecated in favor of tobytes()

~numpy.ndarray.tobytes has existed since the 1.9 release, but until
this release ~numpy.ndarray.tostring emitted no warning. The change to
emit a warning brings NumPy in line with the builtin array.array
methods of the same name.

(gh-15867)

C API changes

Better support for const dimensions in API functions

The following functions now accept a constant array of npy_intp:

  • PyArray_BroadcastToShape
  • PyArray_IntTupleFromIntp
  • PyArray_OverflowMultiplyList

Previously the caller would have to cast away the const-ness to call
these functions.

(gh-15251)

Const qualify UFunc inner loops

UFuncGenericFunction now expects pointers to const dimension and
strides as arguments. This means inner loops may no longer modify
either dimension or strides. This change leads to an
incompatible-pointer-types warning forcing users to either ignore the
compiler warnings or to const qualify their own loop signatures.

(gh-15355)

New Features

numpy.frompyfunc now accepts an identity argument

This allows the `numpy.ufunc.identity{.interpreted-text
role="attr"}[ attribute to be set on the resulting ufunc, meaning it can
be used for empty and multi-dimensional calls to
:meth:]{.title-ref}[numpy.ufunc.reduce]{.title-ref}`.

(gh-8255)

np.str_ scalars now support the buffer protocol

np.str_ arrays are always stored as UCS4, so the corresponding scalars
now expose this through the buffer interface, meaning
memoryview(np.str_('test')) now works.

(gh-15385)

subok option for numpy.copy

A new kwarg, subok, was added to numpy.copy to allow users to toggle
the behavior of numpy.copy with respect to array subclasses. The
default value is False which is consistent with the behavior of
numpy.copy for previous numpy versions. To create a copy that
preserves an array subclass with numpy.copy, call
np.copy(arr, subok=True). This addition better documents that the
default behavior of numpy.copy differs from the numpy.ndarray.copy
method which respects array subclasses by default.

(gh-15685)

numpy.linalg.multi_dot now accepts an out argument

out can be used to avoid creating unnecessary copies of the final
product computed by numpy.linalg.multidot.

(gh-15715)

keepdims parameter for numpy.count_nonzero

The parameter keepdims was added to numpy.count_nonzero. The
parameter has the same meaning as it does in reduction functions such as
numpy.sum or numpy.mean.

(gh-15870)

equal_nan parameter for numpy.array_equal

The keyword argument equal_nan was added to numpy.array_equal.
equal_nan is a boolean value that toggles whether or not nan values
are considered equal in comparison (default is False). This matches
API used in related functions such as numpy.isclose and
numpy.allclose.

(gh-16128)

Improvements

Improve detection of CPU features

Replace npy_cpu_supports which was a gcc specific mechanism to test
support of AVX with more general functions npy_cpu_init and
npy_cpu_have, and expose the results via a NPY_CPU_HAVE c-macro as
well as a python-level __cpu_features__ dictionary.

(gh-13421)

Use 64-bit integer size on 64-bit platforms in fallback lapack_lite

Use 64-bit integer size on 64-bit platforms in the fallback LAPACK
library, which is used when the system has no LAPACK installed, allowing
it to deal with linear algebra for large arrays.

(gh-15218)

Use AVX512 intrinsic to implement np.exp when input is np.float64

Use AVX512 intrinsic to implement np.exp when input is np.float64,
which can improve the performance of np.exp with np.float64 input
5-7x faster than before. The _multiarray_umath.so module has grown
about 63 KB on linux64.

(gh-15648)

Ability to disable madvise hugepages

On Linux NumPy has previously added support for madavise hugepages which
can improve performance for very large arrays. Unfortunately, on older
Kernel versions this led to peformance regressions, thus by default the
support has been disabled on kernels before version 4.6. To override the
default, you can use the environment variable:

NUMPY_MADVISE_HUGEPAGE=0

or set it to 1 to force enabling support. Note that this only makes a
difference if the operating system is set up to use madvise transparent
hugepage.

(gh-15769)

numpy.einsum accepts NumPy int64 type in subscript list

There is no longer a type error thrown when numpy.einsum is passed a
NumPy int64 array as its subscript list.

(gh-16080)

np.logaddexp2.identity changed to -inf

The ufunc ~numpy.logaddexp2 now has an identity of -inf, allowing it
to be called on empty sequences. This matches the identity of
~numpy.logaddexp.

(gh-16102)

Changes

Remove handling of extra argument to __array__

A code path and test have been in the code since NumPy 0.4 for a
two-argument variant of __array__(dtype=None, context=None). It was
activated when calling ufunc(op) or ufunc.reduce(op) if
op.__array__ existed. However that variant is not documented, and it
is not clear what the intention was for its use. It has been removed.

(gh-15118)

numpy.random._bit_generator moved to numpy.random.bit_generator

In order to expose numpy.random.BitGenerator and
numpy.random.SeedSequence to Cython, the _bitgenerator module is now
public as numpy.random.bit_generator

Cython access to the random distributions is provided via a pxd file

c_distributions.pxd provides access to the c functions behind many of
the random distributions from Cython, making it convenient to use and
extend them.

(gh-15463)

Fixed eigh and cholesky methods in numpy.random.multivariate_normal

Previously, when passing method='eigh' or method='cholesky',
numpy.random.multivariate_normal produced samples from the wrong
distribution. This is now fixed.

(gh-15872)

Fixed the jumping implementation in MT19937.jumped

This fix changes the stream produced from jumped MT19937 generators. It
does not affect the stream produced using RandomState or MT19937
that are directly seeded.

The translation of the jumping code for the MT19937 contained a reversed
loop ordering. MT19937.jumped matches the Makoto Matsumoto's original
implementation of the Horner and Sliding Window jump methods.

(gh-16153)

Checksums

MD5

17e9b15e5b54f6963da30e9de93437b8  numpy-1.19.0-cp36-cp36m-macosx_10_9_x86_64.whl
2117953099e3343e6ac642de66c7127f  numpy-1.19.0-cp36-cp36m-manylinux1_i686.whl
fe0d7f18fd5af93cb027fe0e2462b3bc  numpy-1.19.0-cp36-cp36m-manylinux1_x86_64.whl
23a76cbf0cec80d59d48f2342de13cb2  numpy-1.19.0-cp36-cp36m-manylinux2010_i686.whl
3b35908cd21ce6558ec61806bbc9efee  numpy-1.19.0-cp36-cp36m-manylinux2010_x86_64.whl
b35af24ffa550054aadb620f6afb7d67  numpy-1.19.0-cp36-cp36m-manylinux2014_aarch64.whl
5d2a0e9c23383abed01c2795c6e9f2c1  numpy-1.19.0-cp36-cp36m-win32.whl
e0548c4ec436abb249d2e59ed5fd727f  numpy-1.19.0-cp36-cp36m-win_amd64.whl
3f939fa2f3b2f881862f7e02a0116970  numpy-1.19.0-cp37-cp37m-macosx_10_9_x86_64.whl
012026c54f196b8f342e4b49cb4b9294  numpy-1.19.0-cp37-cp37m-manylinux1_i686.whl
27227fdd6329f098fc9a85e9d40b1916  numpy-1.19.0-cp37-cp37m-manylinux1_x86_64.whl
a471c34d7a07468c09696165eae0cd57  numpy-1.19.0-cp37-cp37m-manylinux2010_i686.whl
27af6195869cd518f5d2a71885f21806  numpy-1.19.0-cp37-cp37m-manylinux2010_x86_64.whl
62dbe6623e9aebd2bb1aef6d1e0f815d  numpy-1.19.0-cp37-cp37m-manylinux2014_aarch64.whl
760e6b5681eea93cf6c85bcd1a739068  numpy-1.19.0-cp37-cp37m-win32.whl
d75a6104a6cce3c669e2363470d567bc  numpy-1.19.0-cp37-cp37m-win_amd64.whl
09f870d54906d964bd0f93b22695f9ae  numpy-1.19.0-cp38-cp38-macosx_10_9_x86_64.whl
ea9f4248d9ba0c647e07427cb542c2bf  numpy-1.19.0-cp38-cp38-manylinux1_i686.whl
11b7a5b055bb1417c8935d267b7d88de  numpy-1.19.0-cp38-cp38-manylinux1_x86_64.whl
6f6dec62163fa21259b7157516cc9e84  numpy-1.19.0-cp38-cp38-manylinux2010_i686.whl
ca83ee74cbdac0ffe3ec2c8c79294d67  numpy-1.19.0-cp38-cp38-manylinux2010_x86_64.whl
560567c2b3017ed146c3d08b0a58cadb  numpy-1.19.0-cp38-cp38-manylinux2014_aarch64.whl
d160b64e914c5f2e4807943c83dae54a  numpy-1.19.0-cp38-cp38-win32.whl
4e563e6434af5b90f1f99d9b916b2525  numpy-1.19.0-cp38-cp38-win_amd64.whl
a26c769ffe249f02cb73e6fbec7ff9ca  numpy-1.19.0-pp36-pypy36_pp73-manylinux2010_x86_64.whl
d59aadf47354bd10c7b9996032ba4da0  numpy-1.19.0.tar.gz
3f5ce88a859302f0a1aceb5f75b563fc  numpy-1.19.0.zip

SHA256

63d971bb211ad3ca37b2adecdd5365f40f3b741a455beecba70fd0dde8b2a4cb  numpy-1.19.0-cp36-cp36m-macosx_10_9_x86_64.whl
b6aaeadf1e4866ca0fdf7bb4eed25e521ae21a7947c59f78154b24fc7abbe1dd  numpy-1.19.0-cp36-cp36m-manylinux1_i686.whl
13af0184177469192d80db9bd02619f6fa8b922f9f327e077d6f2a6acb1ce1c0  numpy-1.19.0-cp36-cp36m-manylinux1_x86_64.whl
356f96c9fbec59974a592452ab6a036cd6f180822a60b529a975c9467fcd5f23  numpy-1.19.0-cp36-cp36m-manylinux2010_i686.whl
fa1fe75b4a9e18b66ae7f0b122543c42debcf800aaafa0212aaff3ad273c2596  numpy-1.19.0-cp36-cp36m-manylinux2010_x86_64.whl
cbe326f6d364375a8e5a8ccb7e9cd73f4b2f6dc3b2ed205633a0db8243e2a96a  numpy-1.19.0-cp36-cp36m-manylinux2014_aarch64.whl
a2e3a39f43f0ce95204beb8fe0831199542ccab1e0c6e486a0b4947256215632  numpy-1.19.0-cp36-cp36m-win32.whl
7b852817800eb02e109ae4a9cef2beda8dd50d98b76b6cfb7b5c0099d27b52d4  numpy-1.19.0-cp36-cp36m-win_amd64.whl
d97a86937cf9970453c3b62abb55a6475f173347b4cde7f8dcdb48c8e1b9952d  numpy-1.19.0-cp37-cp37m-macosx_10_9_x86_64.whl
a86c962e211f37edd61d6e11bb4df7eddc4a519a38a856e20a6498c319efa6b0  numpy-1.19.0-cp37-cp37m-manylinux1_i686.whl
d34fbb98ad0d6b563b95de852a284074514331e6b9da0a9fc894fb1cdae7a79e  numpy-1.19.0-cp37-cp37m-manylinux1_x86_64.whl
658624a11f6e1c252b2cd170d94bf28c8f9410acab9f2fd4369e11e1cd4e1aaf  numpy-1.19.0-cp37-cp37m-manylinux2010_i686.whl
4d054f013a1983551254e2379385e359884e5af105e3efe00418977d02f634a7  numpy-1.19.0-cp37-cp37m-manylinux2010_x86_64.whl
26a45798ca2a4e168d00de75d4a524abf5907949231512f372b217ede3429e98  numpy-1.19.0-cp37-cp37m-manylinux2014_aarch64.whl
3c40c827d36c6d1c3cf413694d7dc843d50997ebffbc7c87d888a203ed6403a7  numpy-1.19.0-cp37-cp37m-win32.whl
be62aeff8f2f054eff7725f502f6228298891fd648dc2630e03e44bf63e8cee0  numpy-1.19.0-cp37-cp37m-win_amd64.whl
dd53d7c4a69e766e4900f29db5872f5824a06827d594427cf1a4aa542818b796  numpy-1.19.0-cp38-cp38-macosx_10_9_x86_64.whl
30a59fb41bb6b8c465ab50d60a1b298d1cd7b85274e71f38af5a75d6c475d2d2  numpy-1.19.0-cp38-cp38-manylinux1_i686.whl
df1889701e2dfd8ba4dc9b1a010f0a60950077fb5242bb92c8b5c7f1a6f2668a  numpy-1.19.0-cp38-cp38-manylinux1_x86_64.whl
33c623ef9ca5e19e05991f127c1be5aeb1ab5cdf30cb1c5cf3960752e58b599b  numpy-1.19.0-cp38-cp38-manylinux2010_i686.whl
26f509450db547e4dfa3ec739419b31edad646d21fb8d0ed0734188b35ff6b27  numpy-1.19.0-cp38-cp38-manylinux2010_x86_64.whl
7b57f26e5e6ee2f14f960db46bd58ffdca25ca06dd997729b1b179fddd35f5a3  numpy-1.19.0-cp38-cp38-manylinux2014_aarch64.whl
a8705c5073fe3fcc297fb8e0b31aa794e05af6a329e81b7ca4ffecab7f2b95ef  numpy-1.19.0-cp38-cp38-win32.whl
c2edbb783c841e36ca0fa159f0ae97a88ce8137fb3a6cd82eae77349ba4b607b  numpy-1.19.0-cp38-cp38-win_amd64.whl
8cde829f14bd38f6da7b2954be0f2837043e8b8d7a9110ec5e318ae6bf706610  numpy-1.19.0-pp36-pypy36_pp73-manylinux2010_x86_64.whl
153cf8b0176e57a611931981acfe093d2f7fef623b48f91176efa199798a6b90  numpy-1.19.0.tar.gz
76766cc80d6128750075378d3bb7812cf146415bd29b588616f72c943c00d598  numpy-1.19.0.zip
numpy -

Published by charris over 4 years ago

NumPy 1.18.5 Release Notes

This is a short release to allow pickle protocol=5 to be used in
Python3.5. It is motivated by the recent backport of pickle5 to
Python3.5.

The Python versions supported in this release are 3.5-3.8. Downstream
developers should use Cython >= 0.29.15 for Python 3.8 support and
OpenBLAS >= 3.7 to avoid errors on the Skylake architecture.

Contributors

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

  • Charles Harris
  • Matti Picus
  • Siyuan Zhuang +

Pull requests merged

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

  • #16439: ENH: enable pickle protocol 5 support for python3.5
  • #16441: BUG: relpath fails for different drives on windows

Checksums

MD5

f923519347ba9f6bca59dce0583bdbd5  numpy-1.18.5-cp35-cp35m-macosx_10_9_intel.whl
79990253bda9ffa2db75152e77c318e9  numpy-1.18.5-cp35-cp35m-manylinux1_i686.whl
d5bf77d6caf4f83ed871ab9e4f9d1f72  numpy-1.18.5-cp35-cp35m-manylinux1_x86_64.whl
2cc7cc1b1640d6b50c50d96a35624698  numpy-1.18.5-cp35-cp35m-win32.whl
5a93e72e30c56462492a29315e19c0cc  numpy-1.18.5-cp35-cp35m-win_amd64.whl
caef5b4785e5deb6891f118a49d48ccc  numpy-1.18.5-cp36-cp36m-macosx_10_9_x86_64.whl
402be8c771c2541c7ee936ef63c9ebc0  numpy-1.18.5-cp36-cp36m-manylinux1_i686.whl
259dbb8694209921d56ffb091ae42b5b  numpy-1.18.5-cp36-cp36m-manylinux1_x86_64.whl
9188a301a9640836322f2dc926640515  numpy-1.18.5-cp36-cp36m-win32.whl
acfa82d4e66601386dad19ad3a3983a5  numpy-1.18.5-cp36-cp36m-win_amd64.whl
bc1ebaa1ecf20f22b72cbb824c9cbc21  numpy-1.18.5-cp37-cp37m-macosx_10_9_x86_64.whl
97f27a6e2e6951cf8107132e7c628004  numpy-1.18.5-cp37-cp37m-manylinux1_i686.whl
f261237ab3d47b9b6e859bf240014a48  numpy-1.18.5-cp37-cp37m-manylinux1_x86_64.whl
08bdf2289600c5c728a2668b585fdd02  numpy-1.18.5-cp37-cp37m-win32.whl
8b793d97dae258d06e63c452a2684b16  numpy-1.18.5-cp37-cp37m-win_amd64.whl
2b9153362bf0e53574abc2df048a1578  numpy-1.18.5-cp38-cp38-macosx_10_9_x86_64.whl
1715c674b3070ccd90f56fa2cd48cce1  numpy-1.18.5-cp38-cp38-manylinux1_i686.whl
2347f759a1b8bc27423bb5ece6ae1c79  numpy-1.18.5-cp38-cp38-manylinux1_x86_64.whl
b66c03695208dd843b78acb32557a765  numpy-1.18.5-cp38-cp38-win32.whl
81c9e86442602529b3c52d4af7a515b7  numpy-1.18.5-cp38-cp38-win_amd64.whl
ca23173650ded5585f7030fee91005bf  numpy-1.18.5.tar.gz
0d426af04e17cd480ecf3cd70743eaf4  numpy-1.18.5.zip

SHA256

e91d31b34fc7c2c8f756b4e902f901f856ae53a93399368d9a0dc7be17ed2ca0  numpy-1.18.5-cp35-cp35m-macosx_10_9_intel.whl
7d42ab8cedd175b5ebcb39b5208b25ba104842489ed59fbb29356f671ac93583  numpy-1.18.5-cp35-cp35m-manylinux1_i686.whl
a78e438db8ec26d5d9d0e584b27ef25c7afa5a182d1bf4d05e313d2d6d515271  numpy-1.18.5-cp35-cp35m-manylinux1_x86_64.whl
a87f59508c2b7ceb8631c20630118cc546f1f815e034193dc72390db038a5cb3  numpy-1.18.5-cp35-cp35m-win32.whl
965df25449305092b23d5145b9bdaeb0149b6e41a77a7d728b1644b3c99277c1  numpy-1.18.5-cp35-cp35m-win_amd64.whl
ac792b385d81151bae2a5a8adb2b88261ceb4976dbfaaad9ce3a200e036753dc  numpy-1.18.5-cp36-cp36m-macosx_10_9_x86_64.whl
ef627986941b5edd1ed74ba89ca43196ed197f1a206a3f18cc9faf2fb84fd675  numpy-1.18.5-cp36-cp36m-manylinux1_i686.whl
f718a7949d1c4f622ff548c572e0c03440b49b9531ff00e4ed5738b459f011e8  numpy-1.18.5-cp36-cp36m-manylinux1_x86_64.whl
4064f53d4cce69e9ac613256dc2162e56f20a4e2d2086b1956dd2fcf77b7fac5  numpy-1.18.5-cp36-cp36m-win32.whl
b03b2c0badeb606d1232e5f78852c102c0a7989d3a534b3129e7856a52f3d161  numpy-1.18.5-cp36-cp36m-win_amd64.whl
a7acefddf994af1aeba05bbbafe4ba983a187079f125146dc5859e6d817df824  numpy-1.18.5-cp37-cp37m-macosx_10_9_x86_64.whl
cd49930af1d1e49a812d987c2620ee63965b619257bd76eaaa95870ca08837cf  numpy-1.18.5-cp37-cp37m-manylinux1_i686.whl
b39321f1a74d1f9183bf1638a745b4fd6fe80efbb1f6b32b932a588b4bc7695f  numpy-1.18.5-cp37-cp37m-manylinux1_x86_64.whl
cae14a01a159b1ed91a324722d746523ec757357260c6804d11d6147a9e53e3f  numpy-1.18.5-cp37-cp37m-win32.whl
0172304e7d8d40e9e49553901903dc5f5a49a703363ed756796f5808a06fc233  numpy-1.18.5-cp37-cp37m-win_amd64.whl
e15b382603c58f24265c9c931c9a45eebf44fe2e6b4eaedbb0d025ab3255228b  numpy-1.18.5-cp38-cp38-macosx_10_9_x86_64.whl
3676abe3d621fc467c4c1469ee11e395c82b2d6b5463a9454e37fe9da07cd0d7  numpy-1.18.5-cp38-cp38-manylinux1_i686.whl
4674f7d27a6c1c52a4d1aa5f0881f1eff840d2206989bae6acb1c7668c02ebfb  numpy-1.18.5-cp38-cp38-manylinux1_x86_64.whl
9c9d6531bc1886454f44aa8f809268bc481295cf9740827254f53c30104f074a  numpy-1.18.5-cp38-cp38-win32.whl
3dd6823d3e04b5f223e3e265b4a1eae15f104f4366edd409e5a5e413a98f911f  numpy-1.18.5-cp38-cp38-win_amd64.whl
2c095bd1c5290966cceee8b6ef5cd66f13cd0e9d6d0e8d6fc8961abd64a8e51f  numpy-1.18.5.tar.gz
34e96e9dae65c4839bd80012023aadd6ee2ccb73ce7fdf3074c62f301e63120b  numpy-1.18.5.zip
numpy -

Published by charris over 4 years ago

NumPy 1.19.0 Release Notes

This NumPy release is marked by the removal of much technical debt:
support for Python 2 has been removed, many deprecations have been
expired, and documentation has been improved. The polishing of the
random module continues apace with bug fixes and better usability from
Cython.

The Python versions supported for this release are 3.6-3.8. Downstream
developers should use Cython >= 0.29.16 for Python 3.8 support and
OpenBLAS >= 3.7 to avoid problems on the Skylake architecture.

Highlights

  • Code compatibility with Python versions < 3.6 (including Python 2)
    was dropped from both the python and C code. The shims in
    numpy.compat will remain to support third-party packages, but they
    may be deprecated in a future release. Note that 1.19.x will not
    compile with earlier versions of Python due to the use of f-strings.

    (gh-15233)

Expired deprecations

numpy.insert and numpy.delete can no longer be passed an axis on 0d arrays

This concludes a deprecation from 1.9, where when an axis argument was
passed to a call to ~numpy.insert and ~numpy.delete on a 0d array,
the axis and obj argument and indices would be completely ignored.
In these cases, insert(arr, "nonsense", 42, axis=0) would actually
overwrite the entire array, while delete(arr, "nonsense", axis=0)
would be arr.copy()

Now passing axis on a 0d array raises ~numpy.AxisError.

(gh-15802)

numpy.delete no longer ignores out-of-bounds indices

This concludes deprecations from 1.8 and 1.9, where np.delete would
ignore both negative and out-of-bounds items in a sequence of indices.
This was at odds with its behavior when passed a single index.

Now out-of-bounds items throw IndexError, and negative items index
from the end.

(gh-15804)

numpy.insert and numpy.delete no longer accept non-integral indices

This concludes a deprecation from 1.9, where sequences of non-integers
indices were allowed and cast to integers. Now passing sequences of
non-integral indices raises IndexError, just like it does when passing
a single non-integral scalar.

(gh-15805)

numpy.delete no longer casts boolean indices to integers

This concludes a deprecation from 1.8, where np.delete would cast
boolean arrays and scalars passed as an index argument into integer
indices. The behavior now is to treat boolean arrays as a mask, and to
raise an error on boolean scalars.

(gh-15815)

Compatibility notes

Changed random variate stream from numpy.random.Generator.dirichlet

A bug in the generation of random variates for the Dirichlet
distribution with small 'alpha' values was fixed by using a different
algorithm when max(alpha) < 0.1. Because of the change, the stream of
variates generated by dirichlet in this case will be different from
previous releases.

(gh-14924)

Scalar promotion in PyArray_ConvertToCommonType

The promotion of mixed scalars and arrays in
PyArray_ConvertToCommonType has been changed to adhere to those used
by np.result_type. This means that input such as
(1000, np.array([1], dtype=np.uint8))) will now return uint16
dtypes. In most cases the behaviour is unchanged. Note that the use of
this C-API function is generally discouraged. This also fixes
np.choose to behave the same way as the rest of NumPy in this respect.

(gh-14933)

Fasttake and fastputmask slots are deprecated and NULL'ed

The fasttake and fastputmask slots are now never used and must always be
set to NULL. This will result in no change in behaviour. However, if a
user dtype should set one of these a DeprecationWarning will be given.

(gh-14942)

np.ediff1d casting behaviour with to_end and to_begin

np.ediff1d now uses the "same_kind" casting rule for its additional
to_end and to_begin arguments. This ensures type safety except when
the input array has a smaller integer type than to_begin or to_end.
In rare cases, the behaviour will be more strict than it was previously
in 1.16 and 1.17. This is necessary to solve issues with floating point
NaN.

(gh-14981)

Converting of empty array-like objects to NumPy arrays

Objects with len(obj) == 0 which implement an "array-like"
interface, meaning an object implementing obj.__array__(),
obj.__array_interface__, obj.__array_struct__, or the python buffer
interface and which are also sequences (i.e. Pandas objects) will now
always retain there shape correctly when converted to an array. If such
an object has a shape of (0, 1) previously, it could be converted into
an array of shape (0,) (losing all dimensions after the first 0).

(gh-14995)

Removed multiarray.int_asbuffer

As part of the continued removal of Python 2 compatibility,
multiarray.int_asbuffer was removed. On Python 3, it threw a
NotImplementedError and was unused internally. It is expected that
there are no downstream use cases for this method with Python 3.

(gh-15229)

numpy.distutils.compat has been removed

This module contained only the function get_exception(), which was
used as:

try:
    ...
except Exception:
    e = get_exception()

Its purpose was to handle the change in syntax introduced in Python 2.6,
from except Exception, e: to except Exception as e:, meaning it was
only necessary for codebases supporting Python 2.5 and older.

(gh-15255)

issubdtype no longer interprets float as np.floating

numpy.issubdtype had a FutureWarning since NumPy 1.14 which has
expired now. This means that certain input where the second argument was
neither a datatype nor a NumPy scalar type (such as a string or a python
type like int or float) will now be consistent with passing in
np.dtype(arg2).type. This makes the result consistent with
expectations and leads to a false result in some cases which previously
returned true.

(gh-15773)

Change output of round on scalars to be consistent with Python

Output of the __round__ dunder method and consequently the Python
built-in round has been changed to be a Python int to be consistent
with calling it on Python float objects when called with no arguments.
Previously, it would return a scalar of the np.dtype that was passed
in.

(gh-15840)

The numpy.ndarray constructor no longer interprets strides=() as strides=None

The former has changed to have the expected meaning of setting
numpy.ndarray.strides to (), while the latter continues to result in
strides being chosen automatically.

(gh-15882)

C-Level string to datetime casts changed

The C-level casts from strings were simplified. This changed also fixes
string to datetime and timedelta casts to behave correctly (i.e. like
Python casts using string_arr.astype("M8") while previously the cast
would behave like string_arr.astype(np.int_).astype("M8"). This only
affects code using low-level C-API to do manual casts (not full array
casts) of single scalar values or using e.g. PyArray_GetCastFunc, and
should thus not affect the vast majority of users.

(gh-16068)

Deprecations

Deprecate automatic dtype=object for ragged input

Calling np.array([[1, [1, 2, 3]]) will issue a DeprecationWarning as
per NEP 34. Users should
explicitly use dtype=object to avoid the warning.

(gh-15119)

Passing shape=0 to factory functions in numpy.rec is deprecated

0 is treated as a special case and is aliased to None in the
functions:

  • numpy.core.records.fromarrays
  • numpy.core.records.fromrecords
  • numpy.core.records.fromstring
  • numpy.core.records.fromfile

In future, 0 will not be special cased, and will be treated as an
array length like any other integer.

(gh-15217)

Deprecation of probably unused C-API functions

The following C-API functions are probably unused and have been
deprecated:

  • PyArray_GetArrayParamsFromObject
  • PyUFunc_GenericFunction
  • PyUFunc_SetUsesArraysAsData

In most cases PyArray_GetArrayParamsFromObject should be replaced by
converting to an array, while PyUFunc_GenericFunction can be replaced
with PyObject_Call (see documentation for details).

(gh-15427)

Converting certain types to dtypes is Deprecated

The super classes of scalar types, such as np.integer, np.generic,
or np.inexact will now give a deprecation warning when converted to a
dtype (or used in a dtype keyword argument). The reason for this is that
np.integer is converted to np.int_, while it would be expected to
represent any integer (e.g. also int8, int16, etc. For example,
dtype=np.floating is currently identical to dtype=np.float64, even
though also np.float32 is a subclass of np.floating.

(gh-15534)

Deprecation of round for np.complexfloating scalars

Output of the __round__ dunder method and consequently the Python
built-in round has been deprecated on complex scalars. This does not
affect np.round.

(gh-15840)

numpy.ndarray.tostring() is deprecated in favor of tobytes()

~numpy.ndarray.tobytes has existed since the 1.9 release, but until
this release ~numpy.ndarray.tostring emitted no warning. The change to
emit a warning brings NumPy in line with the builtin array.array
methods of the same name.

(gh-15867)

C API changes

Better support for const dimensions in API functions

The following functions now accept a constant array of npy_intp:

  • PyArray_BroadcastToShape
  • PyArray_IntTupleFromIntp
  • PyArray_OverflowMultiplyList

Previously the caller would have to cast away the const-ness to call
these functions.

(gh-15251)

Const qualify UFunc inner loops

UFuncGenericFunction now expects pointers to const dimension and
strides as arguments. This means inner loops may no longer modify
either dimension or strides. This change leads to an
incompatible-pointer-types warning forcing users to either ignore the
compiler warnings or to const qualify their own loop signatures.

(gh-15355)

New Features

numpy.frompyfunc now accepts an identity argument

This allows the `numpy.ufunc.identity{.interpreted-text
role="attr"}[ attribute to be set on the resulting ufunc, meaning it can
be used for empty and multi-dimensional calls to
:meth:]{.title-ref}[numpy.ufunc.reduce]{.title-ref}`.

(gh-8255)

np.str_ scalars now support the buffer protocol

np.str_ arrays are always stored as UCS4, so the corresponding scalars
now expose this through the buffer interface, meaning
memoryview(np.str_('test')) now works.

(gh-15385)

subok option for numpy.copy

A new kwarg, subok, was added to numpy.copy to allow users to toggle
the behavior of numpy.copy with respect to array subclasses. The
default value is False which is consistent with the behavior of
numpy.copy for previous numpy versions. To create a copy that
preserves an array subclass with numpy.copy, call
np.copy(arr, subok=True). This addition better documents that the
default behavior of numpy.copy differs from the numpy.ndarray.copy
method which respects array subclasses by default.

(gh-15685)

numpy.linalg.multi_dot now accepts an out argument

out can be used to avoid creating unnecessary copies of the final
product computed by numpy.linalg.multidot.

(gh-15715)

keepdims parameter for numpy.count_nonzero

The parameter keepdims was added to numpy.count_nonzero. The
parameter has the same meaning as it does in reduction functions such as
numpy.sum or numpy.mean.

(gh-15870)

equal_nan parameter for numpy.array_equal

The keyword argument equal_nan was added to numpy.array_equal.
equal_nan is a boolean value that toggles whether or not nan values
are considered equal in comparison (default is False). This matches
API used in related functions such as numpy.isclose and
numpy.allclose.

(gh-16128)

Improvements

Improve detection of CPU features

Replace npy_cpu_supports which was a gcc specific mechanism to test
support of AVX with more general functions npy_cpu_init and
npy_cpu_have, and expose the results via a NPY_CPU_HAVE c-macro as
well as a python-level __cpu_features__ dictionary.

(gh-13421)

Use 64-bit integer size on 64-bit platforms in fallback lapack_lite

Use 64-bit integer size on 64-bit platforms in the fallback LAPACK
library, which is used when the system has no LAPACK installed, allowing
it to deal with linear algebra for large arrays.

(gh-15218)

Use AVX512 intrinsic to implement np.exp when input is np.float64

Use AVX512 intrinsic to implement np.exp when input is np.float64,
which can improve the performance of np.exp with np.float64 input
5-7x faster than before. The _multiarray_umath.so module has grown
about 63 KB on linux64.

(gh-15648)

Ability to disable madvise hugepages

On Linux NumPy has previously added support for madavise hugepages which
can improve performance for very large arrays. Unfortunately, on older
Kernel versions this led to peformance regressions, thus by default the
support has been disabled on kernels before version 4.6. To override the
default, you can use the environment variable:

NUMPY_MADVISE_HUGEPAGE=0

or set it to 1 to force enabling support. Note that this only makes a
difference if the operating system is set up to use madvise transparent
hugepage.

(gh-15769)

numpy.einsum accepts NumPy int64 type in subscript list

There is no longer a type error thrown when numpy.einsum is passed a
NumPy int64 array as its subscript list.

(gh-16080)

np.logaddexp2.identity changed to -inf

The ufunc ~numpy.logaddexp2 now has an identity of -inf, allowing it
to be called on empty sequences. This matches the identity of
~numpy.logaddexp.

(gh-16102)

Changes

Remove handling of extra argument to __array__

A code path and test have been in the code since NumPy 0.4 for a
two-argument variant of __array__(dtype=None, context=None). It was
activated when calling ufunc(op) or ufunc.reduce(op) if
op.__array__ existed. However that variant is not documented, and it
is not clear what the intention was for its use. It has been removed.

(gh-15118)

numpy.random._bit_generator moved to numpy.random.bit_generator

In order to expose numpy.random.BitGenerator and
numpy.random.SeedSequence to Cython, the _bitgenerator module is now
public as numpy.random.bit_generator

Cython access to the random distributions is provided via a pxd file

c_distributions.pxd provides access to the c functions behind many of
the random distributions from Cython, making it convenient to use and
extend them.

(gh-15463)

Fixed eigh and cholesky methods in numpy.random.multivariate_normal

Previously, when passing method='eigh' or method='cholesky',
numpy.random.multivariate_normal produced samples from the wrong
distribution. This is now fixed.

(gh-15872)

Fixed the jumping implementation in MT19937.jumped

This fix changes the stream produced from jumped MT19937 generators. It
does not affect the stream produced using RandomState or MT19937
that are directly seeded.

The translation of the jumping code for the MT19937 contained a reversed
loop ordering. MT19937.jumped matches the Makoto Matsumoto's original
implementation of the Horner and Sliding Window jump methods.

(gh-16153)

Checksums

MD5

4402625434f1a72bbb92eb2f778746de  numpy-1.19.0rc2-cp36-cp36m-macosx_10_9_x86_64.whl
00dc464c6ea41b0455bfa2ac10743ff4  numpy-1.19.0rc2-cp36-cp36m-manylinux1_i686.whl
79329dbf55bbfd2ab0fa939121ccc78a  numpy-1.19.0rc2-cp36-cp36m-manylinux1_x86_64.whl
5e6da57e789798f724347ef60f3c92a6  numpy-1.19.0rc2-cp36-cp36m-manylinux2010_i686.whl
bdae85b54774be5b653dec764566506f  numpy-1.19.0rc2-cp36-cp36m-manylinux2010_x86_64.whl
5584ce67eb578fb27821577a5490dd50  numpy-1.19.0rc2-cp36-cp36m-manylinux2014_aarch64.whl
a59cdc4f173a0e03fea4b89c71151d2a  numpy-1.19.0rc2-cp36-cp36m-win32.whl
04be1471f39e3283a77988804fc839fe  numpy-1.19.0rc2-cp36-cp36m-win_amd64.whl
5fb6f812e8c581b1a65ef69bccdc1bb4  numpy-1.19.0rc2-cp37-cp37m-macosx_10_9_x86_64.whl
14d63aba4c1aa6ca7a757d8be68cd696  numpy-1.19.0rc2-cp37-cp37m-manylinux1_i686.whl
e253be865c122d87908218fe660862c3  numpy-1.19.0rc2-cp37-cp37m-manylinux1_x86_64.whl
78576e10b9bf48837aae9d6b7a231219  numpy-1.19.0rc2-cp37-cp37m-manylinux2010_i686.whl
790ca051a69e393ede6952c0588a4ccb  numpy-1.19.0rc2-cp37-cp37m-manylinux2010_x86_64.whl
70ff604feed46336810fc8b539d0ab79  numpy-1.19.0rc2-cp37-cp37m-manylinux2014_aarch64.whl
925bd569daf0c2d1ed441ba1022c74d8  numpy-1.19.0rc2-cp37-cp37m-win32.whl
773f795f1c9ce00beed2646b4e496155  numpy-1.19.0rc2-cp37-cp37m-win_amd64.whl
265faec32b8bd19ad46d71f0fdc23eba  numpy-1.19.0rc2-cp38-cp38-macosx_10_9_x86_64.whl
34d0ed75f82bced398cf8d42f40faf2f  numpy-1.19.0rc2-cp38-cp38-manylinux1_i686.whl
6c4e77576987f13d894cc3b763da3372  numpy-1.19.0rc2-cp38-cp38-manylinux1_x86_64.whl
be31ca0f2dbef9450dfd737fdf9ea297  numpy-1.19.0rc2-cp38-cp38-manylinux2010_i686.whl
d7a19658651a4290c289b7736a3d0471  numpy-1.19.0rc2-cp38-cp38-manylinux2010_x86_64.whl
118e4b75b557b29ea284cb1f97ab76ee  numpy-1.19.0rc2-cp38-cp38-manylinux2014_aarch64.whl
8b1325b84fa1dea25137595bcc3fba4d  numpy-1.19.0rc2-cp38-cp38-win32.whl
022defe479409b7b5604c38df63ba330  numpy-1.19.0rc2-cp38-cp38-win_amd64.whl
1ba5b606b95e0fee55ec99da3b15fae5  numpy-1.19.0rc2-pp36-pypy36_pp73-manylinux2010_x86_64.whl
b24c70ce8bed9e03ef08730127f4d30b  numpy-1.19.0rc2.tar.gz
93e7419f48a0faa2ba91531df8f2f2a6  numpy-1.19.0rc2.zip

SHA256

6068db7fc6e34aed8a2d4ea4041fbeff3485a05452524d307c70da708ea40d63  numpy-1.19.0rc2-cp36-cp36m-macosx_10_9_x86_64.whl
e1c4e32318501ec8e8fa3dead802dd1b913dcf8eddeb2b0370f35b58c71d6018  numpy-1.19.0rc2-cp36-cp36m-manylinux1_i686.whl
01e17a9c1fdc7b97c75ad926f816694397be76251222a6f6cb50bbe3218cf3e5  numpy-1.19.0rc2-cp36-cp36m-manylinux1_x86_64.whl
9e8bf8bb69ef268eaab6483b354039aabb737c3aaab4ad526e4ad7c95a87bd3c  numpy-1.19.0rc2-cp36-cp36m-manylinux2010_i686.whl
c49cc2b4e1b40bd836b2077d1cfee738577d2a411268eccace4f01dc22ef90ed  numpy-1.19.0rc2-cp36-cp36m-manylinux2010_x86_64.whl
3eb013e193de97ec196441f6bdf9a1bea84dfbfb2421d5cccfdbba3aa2d60ec0  numpy-1.19.0rc2-cp36-cp36m-manylinux2014_aarch64.whl
307da8faeb1e84bbee082004c06aa41510e52321025d4a54a16ca48f8329ca4f  numpy-1.19.0rc2-cp36-cp36m-win32.whl
7c716527392f34c217f18672aac79e88f4747e2717bd0c0c99755b197a5f5197  numpy-1.19.0rc2-cp36-cp36m-win_amd64.whl
c2f32979427df01cda8834af714dfacd06dce92f6c9275482a2e2932c67e67a1  numpy-1.19.0rc2-cp37-cp37m-macosx_10_9_x86_64.whl
d9b07673ac07cd02b1ba4d7eb920cd762d1559cc40af63d8e2b16774fdc3aa36  numpy-1.19.0rc2-cp37-cp37m-manylinux1_i686.whl
5e5b36b986a28d6651f6c8ebed084290e30833f50a7e0fe04f916b59d5113863  numpy-1.19.0rc2-cp37-cp37m-manylinux1_x86_64.whl
707be2715ca33f98335fdc84e3a79de4d85c7dd6b24aff6a57e45bf393205eb5  numpy-1.19.0rc2-cp37-cp37m-manylinux2010_i686.whl
cf6a8eb39bd191584de2f47dcc40155ffc902a32cff2a985ac58d93c035b306a  numpy-1.19.0rc2-cp37-cp37m-manylinux2010_x86_64.whl
ec6c41348e05e2bee6b34cedb5bb38f7e53dee7e0791a4a63e1425dbee5ef326  numpy-1.19.0rc2-cp37-cp37m-manylinux2014_aarch64.whl
45c0a742198566b46479231cb4f189f69c4fd8fe1331f1217f9c58496fe52fc2  numpy-1.19.0rc2-cp37-cp37m-win32.whl
32073a47eeb37172f23f4f432efb2068c6b13b04d3eb4f0558056430ee3f32c5  numpy-1.19.0rc2-cp37-cp37m-win_amd64.whl
7526a8dbc68d730785a57ec18541b194d4ac7402843addb0d706174668f5be16  numpy-1.19.0rc2-cp38-cp38-macosx_10_9_x86_64.whl
b82511ae4d8e3dbf727c91bf6c761f882750428e888e0c1795b57f3c4b8cfc1e  numpy-1.19.0rc2-cp38-cp38-manylinux1_i686.whl
159741a29c33b5e2829e4fcdcd712c35651f1b7571672002453f27fe438459d4  numpy-1.19.0rc2-cp38-cp38-manylinux1_x86_64.whl
e9ad332f8ff6f53dba38f39f3832a2f9fd4627039bc3a2baddb699fdf445adb1  numpy-1.19.0rc2-cp38-cp38-manylinux2010_i686.whl
93bb0c1f9c69e5ce97e8d6b45c472a050bfa1e433c4c70c4568718c60cc7c306  numpy-1.19.0rc2-cp38-cp38-manylinux2010_x86_64.whl
53564bfd09dda34cd74d11cbc1aad88b7fd2ad8b1d6eae6b4274ac789f30d6c0  numpy-1.19.0rc2-cp38-cp38-manylinux2014_aarch64.whl
dd21db931bdeb5d6ecffe36673bbaee4510f7e79b9afdbbdc2bf9c157ec8734c  numpy-1.19.0rc2-cp38-cp38-win32.whl
612878ef8025af60c9d43556e45d93fa07d2e6a960e252a475575d3018e361cc  numpy-1.19.0rc2-cp38-cp38-win_amd64.whl
e20452ad415c56cec51f52080adb4eccc4891ee86cf6b194e2434d09d42a183d  numpy-1.19.0rc2-pp36-pypy36_pp73-manylinux2010_x86_64.whl
39814c52f65c89385028da97da574d5e2a74de5c52d6273cae755982c91597bc  numpy-1.19.0rc2.tar.gz
a233044f7100e9f2100a4fc0f82021c827f7a82624b649059c5dd92cec4cee17  numpy-1.19.0rc2.zip
numpy -

Published by charris over 4 years ago

NumPy 1.19.0 Release Notes

This NumPy release is marked by the removal of much technical debt:
support for Python 2 has been removed, many deprecations have been
expired, and documentation has been improved. The polishing of the
random module continues apace with bug fixes and better usability from
Cython.

The Python versions supported for this release are 3.6-3.8. Downstream
developers should use Cython >= 0.29.16 for Python 3.8 support and
OpenBLAS >= 3.7 to avoid problems on the Skylake architecture.

Highlights

  • Code compatibility with Python versions < 3.5 (including Python 2)
    was dropped from both the python and C code. The shims in
    numpy.compat will remain to support third-party packages, but they
    may be deprecated in a future release.

    (gh-15233)

Expired deprecations

numpy.insert and numpy.delete can no longer be passed an axis on 0d arrays

This concludes a deprecation from 1.9, where when an axis argument was
passed to a call to ~numpy.insert and ~numpy.delete on a 0d array,
the axis and obj argument and indices would be completely ignored.
In these cases, insert(arr, "nonsense", 42, axis=0) would actually
overwrite the entire array, while delete(arr, "nonsense", axis=0)
would be arr.copy()

Now passing axis on a 0d array raises ~numpy.AxisError.

(gh-15802)

numpy.delete no longer ignores out-of-bounds indices

This concludes deprecations from 1.8 and 1.9, where np.delete would
ignore both negative and out-of-bounds items in a sequence of indices.
This was at odds with its behavior when passed a single index.

Now out-of-bounds items throw IndexError, and negative items index
from the end.

(gh-15804)

numpy.insert and numpy.delete no longer accept non-integral indices

This concludes a deprecation from 1.9, where sequences of non-integers
indices were allowed and cast to integers. Now passing sequences of
non-integral indices raises IndexError, just like it does when passing
a single non-integral scalar.

(gh-15805)

numpy.delete no longer casts boolean indices to integers

This concludes a deprecation from 1.8, where np.delete would cast
boolean arrays and scalars passed as an index argument into integer
indices. The behavior now is to treat boolean arrays as a mask, and to
raise an error on boolean scalars.

(gh-15815)

Compatibility notes

Changed random variate stream from numpy.random.Generator.dirichlet

A bug in the generation of random variates for the Dirichlet
distribution with small 'alpha' values was fixed by using a different
algorithm when max(alpha) < 0.1. Because of the change, the stream of
variates generated by dirichlet in this case will be different from
previous releases.

(gh-14924)

Scalar promotion in PyArray_ConvertToCommonType

The promotion of mixed scalars and arrays in
PyArray_ConvertToCommonType has been changed to adhere to those used
by np.result_type. This means that input such as
(1000, np.array([1], dtype=np.uint8))) will now return uint16
dtypes. In most cases the behaviour is unchanged. Note that the use of
this C-API function is generally discouraged. This also fixes
np.choose to behave the same way as the rest of NumPy in this respect.

(gh-14933)

Fasttake and fastputmask slots are deprecated and NULL'ed

The fasttake and fastputmask slots are now never used and must always be
set to NULL. This will result in no change in behaviour. However, if a
user dtype should set one of these a DeprecationWarning will be given.

(gh-14942)

np.ediff1d casting behaviour with to_end and to_begin

np.ediff1d now uses the "same_kind" casting rule for its additional
to_end and to_begin arguments. This ensures type safety except when
the input array has a smaller integer type than to_begin or to_end.
In rare cases, the behaviour will be more strict than it was previously
in 1.16 and 1.17. This is necessary to solve issues with floating point
NaN.

(gh-14981)

Converting of empty array-like objects to NumPy arrays

Objects with len(obj) == 0 which implement an "array-like"
interface, meaning an object implementing obj.__array__(),
obj.__array_interface__, obj.__array_struct__, or the python buffer
interface and which are also sequences (i.e. Pandas objects) will now
always retain there shape correctly when converted to an array. If such
an object has a shape of (0, 1) previously, it could be converted into
an array of shape (0,) (losing all dimensions after the first 0).

(gh-14995)

Removed multiarray.int_asbuffer

As part of the continued removal of Python 2 compatibility,
multiarray.int_asbuffer was removed. On Python 3, it threw a
NotImplementedError and was unused internally. It is expected that
there are no downstream use cases for this method with Python 3.

(gh-15229)

numpy.distutils.compat has been removed

This module contained only the function get_exception(), which was
used as:

try:
    ...
except Exception:
    e = get_exception()

Its purpose was to handle the change in syntax introduced in Python 2.6,
from except Exception, e: to except Exception as e:, meaning it was
only necessary for codebases supporting Python 2.5 and older.

(gh-15255)

issubdtype no longer interprets float as np.floating

numpy.issubdtype had a FutureWarning since NumPy 1.14 which has
expired now. This means that certain input where the second argument was
neither a datatype nor a NumPy scalar type (such as a string or a python
type like int or float) will now be consistent with passing in
np.dtype(arg2).type. This makes the result consistent with
expectations and leads to a false result in some cases which previously
returned true.

(gh-15773)

Change output of round on scalars to be consistent with Python

Output of the __round__ dunder method and consequently the Python
built-in round has been changed to be a Python int to be consistent
with calling it on Python float objects when called with no arguments.
Previously, it would return a scalar of the np.dtype that was passed
in.

(gh-15840)

The numpy.ndarray constructor no longer interprets strides=() as strides=None

The former has changed to have the expected meaning of setting
numpy.ndarray.strides to (), while the latter continues to result in
strides being chosen automatically.

(gh-15882)

C-Level string to datetime casts changed

The C-level casts from strings were simplified. This changed also fixes
string to datetime and timedelta casts to behave correctly (i.e. like
Python casts using string_arr.astype("M8") while previously the cast
would behave like string_arr.astype(np.int_).astype("M8"). This only
affects code using low-level C-API to do manual casts (not full array
casts) of single scalar values or using e.g. PyArray_GetCastFunc, and
should thus not affect the vast majority of users.

(gh-16068)

Deprecations

Deprecate automatic dtype=object for ragged input

Calling np.array([[1, [1, 2, 3]]) will issue a DeprecationWarning as
per NEP 34. Users should
explicitly use dtype=object to avoid the warning.

(gh-15119)

Passing shape=0 to factory functions in numpy.rec is deprecated

0 is treated as a special case and is aliased to None in the
functions:

  • numpy.core.records.fromarrays
  • numpy.core.records.fromrecords
  • numpy.core.records.fromstring
  • numpy.core.records.fromfile

In future, 0 will not be special cased, and will be treated as an
array length like any other integer.

(gh-15217)

Deprecation of probably unused C-API functions

The following C-API functions are probably unused and have been
deprecated:

  • PyArray_GetArrayParamsFromObject
  • PyUFunc_GenericFunction
  • PyUFunc_SetUsesArraysAsData

In most cases PyArray_GetArrayParamsFromObject should be replaced by
converting to an array, while PyUFunc_GenericFunction can be replaced
with PyObject_Call (see documentation for details).

(gh-15427)

Converting certain types to dtypes is Deprecated

The super classes of scalar types, such as np.integer, np.generic,
or np.inexact will now give a deprecation warning when converted to a
dtype (or used in a dtype keyword argument). The reason for this is that
np.integer is converted to np.int_, while it would be expected to
represent any integer (e.g. also int8, int16, etc. For example,
dtype=np.floating is currently identical to dtype=np.float64, even
though also np.float32 is a subclass of np.floating.

(gh-15534)

Deprecation of round for np.complexfloating scalars

Output of the __round__ dunder method and consequently the Python
built-in round has been deprecated on complex scalars. This does not
affect np.round.

(gh-15840)

numpy.ndarray.tostring() is deprecated in favor of tobytes()

~numpy.ndarray.tobytes has existed since the 1.9 release, but until
this release ~numpy.ndarray.tostring emitted no warning. The change to
emit a warning brings NumPy in line with the builtin array.array
methods of the same name.

(gh-15867)

C API changes

Better support for const dimensions in API functions

The following functions now accept a constant array of npy_intp:

  • PyArray_BroadcastToShape
  • PyArray_IntTupleFromIntp
  • PyArray_OverflowMultiplyList

Previously the caller would have to cast away the const-ness to call
these functions.

(gh-15251)

Const qualify UFunc inner loops

UFuncGenericFunction now expects pointers to const dimension and
strides as arguments. This means inner loops may no longer modify
either dimension or strides. This change leads to an
incompatible-pointer-types warning forcing users to either ignore the
compiler warnings or to const qualify their own loop signatures.

(gh-15355)

New Features

numpy.frompyfunc now accepts an identity argument

This allows the `numpy.ufunc.identity{.interpreted-text
role="attr"}[ attribute to be set on the resulting ufunc, meaning it can
be used for empty and multi-dimensional calls to
:meth:]{.title-ref}[numpy.ufunc.reduce]{.title-ref}`.

(gh-8255)

np.str_ scalars now support the buffer protocol

np.str_ arrays are always stored as UCS4, so the corresponding scalars
now expose this through the buffer interface, meaning
memoryview(np.str_('test')) now works.

(gh-15385)

subok option for numpy.copy

A new kwarg, subok, was added to numpy.copy to allow users to toggle
the behavior of numpy.copy with respect to array subclasses. The
default value is False which is consistent with the behavior of
numpy.copy for previous numpy versions. To create a copy that
preserves an array subclass with numpy.copy, call
np.copy(arr, subok=True). This addition better documents that the
default behavior of numpy.copy differs from the numpy.ndarray.copy
method which respects array subclasses by default.

(gh-15685)

numpy.linalg.multi_dot now accepts an out argument

out can be used to avoid creating unnecessary copies of the final
product computed by numpy.linalg.multidot.

(gh-15715)

keepdims parameter for numpy.count_nonzero

The parameter keepdims was added to numpy.count_nonzero. The
parameter has the same meaning as it does in reduction functions such as
numpy.sum or numpy.mean.

(gh-15870)

equal_nan parameter for numpy.array_equal

The keyword argument equal_nan was added to numpy.array_equal.
equal_nan is a boolean value that toggles whether or not nan values
are considered equal in comparison (default is False). This matches
API used in related functions such as numpy.isclose and
numpy.allclose.

(gh-16128)

Improvements

Improve detection of CPU features

Replace npy_cpu_supports which was a gcc specific mechanism to test
support of AVX with more general functions npy_cpu_init and
npy_cpu_have, and expose the results via a NPY_CPU_HAVE c-macro as
well as a python-level __cpu_features__ dictionary.

(gh-13421)

Use 64-bit integer size on 64-bit platforms in fallback lapack_lite

Use 64-bit integer size on 64-bit platforms in the fallback LAPACK
library, which is used when the system has no LAPACK installed, allowing
it to deal with linear algebra for large arrays.

(gh-15218)

Use AVX512 intrinsic to implement np.exp when input is np.float64

Use AVX512 intrinsic to implement np.exp when input is np.float64,
which can improve the performance of np.exp with np.float64 input
5-7x faster than before. The _multiarray_umath.so module has grown
about 63 KB on linux64.

(gh-15648)

Ability to disable madvise hugepages

On Linux NumPy has previously added support for madavise hugepages which
can improve performance for very large arrays. Unfortunately, on older
Kernel versions this led to peformance regressions, thus by default the
support has been disabled on kernels before version 4.6. To override the
default, you can use the environment variable:

NUMPY_MADVISE_HUGEPAGE=0

or set it to 1 to force enabling support. Note that this only makes a
difference if the operating system is set up to use madvise transparent
hugepage.

(gh-15769)

numpy.einsum accepts NumPy int64 type in subscript list

There is no longer a type error thrown when numpy.einsum is passed a
NumPy int64 array as its subscript list.

(gh-16080)

np.logaddexp2.identity changed to -inf

The ufunc ~numpy.logaddexp2 now has an identity of -inf, allowing it
to be called on empty sequences. This matches the identity of
~numpy.logaddexp.

(gh-16102)

Changes

Remove handling of extra argument to __array__

A code path and test have been in the code since NumPy 0.4 for a
two-argument variant of __array__(dtype=None, context=None). It was
activated when calling ufunc(op) or ufunc.reduce(op) if
op.__array__ existed. However that variant is not documented, and it
is not clear what the intention was for its use. It has been removed.

(gh-15118)

numpy.random._bit_generator moved to numpy.random.bit_generator

In order to expose numpy.random.BitGenerator and
numpy.random.SeedSequence to Cython, the _bitgenerator module is now
public as numpy.random.bit_generator

Cython access to the random distributions is provided via a pxd file

c_distributions.pxd provides access to the c functions behind many of
the random distributions from Cython, making it convenient to use and
extend them.

(gh-15463)

Fixed eigh and cholesky methods in numpy.random.multivariate_normal

Previously, when passing method='eigh' or method='cholesky',
numpy.random.multivariate_normal produced samples from the wrong
distribution. This is now fixed.

(gh-15872)

Fixed the jumping implementation in MT19937.jumped

This fix changes the stream produced from jumped MT19937 generators. It
does not affect the stream produced using RandomState or MT19937
that are directly seeded.

The translation of the jumping code for the MT19937 contained a reversed
loop ordering. MT19937.jumped matches the Makoto Matsumoto's original
implementation of the Horner and Sliding Window jump methods.

(gh-16153)

Checksums

MD5

dac784fdc5f86f6b4daabb8a3edb59ef  numpy-1.19.0rc1-cp36-cp36m-macosx_10_9_x86_64.whl
40df9787a18b84fbb7ab06de9e557abd  numpy-1.19.0rc1-cp36-cp36m-manylinux1_i686.whl
f54d2c826b31469e1bddf271e8ebbbfa  numpy-1.19.0rc1-cp36-cp36m-manylinux1_x86_64.whl
11da401f740d8fed948ab84f92b52490  numpy-1.19.0rc1-cp36-cp36m-manylinux2010_i686.whl
3a49ddd9cc062896b352d9914213d6c8  numpy-1.19.0rc1-cp36-cp36m-manylinux2010_x86_64.whl
426c0c9859f7384781be7fbfa1fbca28  numpy-1.19.0rc1-cp36-cp36m-manylinux2014_aarch64.whl
5e7c8d718b3e867a8c063bd18addde3f  numpy-1.19.0rc1-cp36-cp36m-win32.whl
5dfdf8b5dea6ac218a93038dc1eb5b8b  numpy-1.19.0rc1-cp36-cp36m-win_amd64.whl
10575aa075e31e1f190a802e8c784bd5  numpy-1.19.0rc1-cp37-cp37m-macosx_10_9_x86_64.whl
1cf8fa399117e8d95ef9ca8847451362  numpy-1.19.0rc1-cp37-cp37m-manylinux1_i686.whl
c832ede9b1272d32cb282ca7f951b084  numpy-1.19.0rc1-cp37-cp37m-manylinux1_x86_64.whl
3798e81e08e02c9683b03245ef181fe0  numpy-1.19.0rc1-cp37-cp37m-manylinux2010_i686.whl
fea16821dabc6563ff1475eadf18ecbb  numpy-1.19.0rc1-cp37-cp37m-manylinux2010_x86_64.whl
040b481a6ba7c613f246dac8ebc5c44c  numpy-1.19.0rc1-cp37-cp37m-manylinux2014_aarch64.whl
96698d2aa93adcc16296fa40f094bbc1  numpy-1.19.0rc1-cp37-cp37m-win32.whl
f930010f054f835d3818a2929ba66746  numpy-1.19.0rc1-cp37-cp37m-win_amd64.whl
1dc7545c2c53a95ea2523d98e6b7047e  numpy-1.19.0rc1-cp38-cp38-macosx_10_9_x86_64.whl
d9f9d3653f4a5f58c0b4fa391bbeabbe  numpy-1.19.0rc1-cp38-cp38-manylinux1_i686.whl
a89277714025de276a6c2916df470372  numpy-1.19.0rc1-cp38-cp38-manylinux1_x86_64.whl
894196d9ce2e1620a8fbc5ed95543580  numpy-1.19.0rc1-cp38-cp38-manylinux2010_i686.whl
071173ca8afca1b3fbcfc926a56ffd7f  numpy-1.19.0rc1-cp38-cp38-manylinux2010_x86_64.whl
4180d5cda1e44242e8ed5b3c8b379d88  numpy-1.19.0rc1-cp38-cp38-manylinux2014_aarch64.whl
17c1867c83b2f07621d064145a255fc1  numpy-1.19.0rc1-cp38-cp38-win32.whl
b32c7bfc056895eb78b6129045f49523  numpy-1.19.0rc1-cp38-cp38-win_amd64.whl
704bc03983673b18017e6b461d55a8c8  numpy-1.19.0rc1-pp36-pypy36_pp73-manylinux2010_x86_64.whl
fd6765ceb2074658eb40641de9ad596f  numpy-1.19.0rc1.tar.gz
cc786052918361cb08f885e3e8c257fe  numpy-1.19.0rc1.zip

SHA256

361c84cdf8e10a27d1ce7bb0404284eed2f704fb10ebbdb714fe5a51ef4f2765  numpy-1.19.0rc1-cp36-cp36m-macosx_10_9_x86_64.whl
de874f2537e4e604c1db5905c4728b6b715c66a85bc71b5bc1b236973dc7610a  numpy-1.19.0rc1-cp36-cp36m-manylinux1_i686.whl
8c4be83b9f253701ff865b6a9de26bbb67a3104486123347a3629101d3268a43  numpy-1.19.0rc1-cp36-cp36m-manylinux1_x86_64.whl
f6fe5dd6526fa6c0083fb5218a903dc9d9ea02df66996cd3be8c44c3b97894d5  numpy-1.19.0rc1-cp36-cp36m-manylinux2010_i686.whl
96578b9000e8ca35b83e96237d617345c4ac7bf8816cb950ddf76235b3b7306c  numpy-1.19.0rc1-cp36-cp36m-manylinux2010_x86_64.whl
8ac99d78e3ebc41b0dccf024a8dd36057abfa4dfcf3875259abf09da28e89fd2  numpy-1.19.0rc1-cp36-cp36m-manylinux2014_aarch64.whl
fbd9dbb96fa22ee2f2cfad5311563a9df4528d3ac70f7635a9da0c7424ba4459  numpy-1.19.0rc1-cp36-cp36m-win32.whl
c995c832ddf4ce88b6383ce8c9160e86d614141412c0c874b6df87f680783528  numpy-1.19.0rc1-cp36-cp36m-win_amd64.whl
1ae709f648755ce757ef896fb110c52cbc76bc787a1243ad9b1262be3cc01e64  numpy-1.19.0rc1-cp37-cp37m-macosx_10_9_x86_64.whl
0028da01578ddb0d7372ccd168d7e7e3b04f25881db7f520bff6c50456aa7b02  numpy-1.19.0rc1-cp37-cp37m-manylinux1_i686.whl
82a905f8d920aa1dc2d642a1e76ed54f2baa3eb23e2216bc6cd41ae2b274dded  numpy-1.19.0rc1-cp37-cp37m-manylinux1_x86_64.whl
09e0e60d6ed6417516a08f9767665ae459507dd1df63942e0c0bb69d93f05c0e  numpy-1.19.0rc1-cp37-cp37m-manylinux2010_i686.whl
164d8d2a0de07c3aba089e7db0873930ac05252d985c8825f247bd79ddf3bd9d  numpy-1.19.0rc1-cp37-cp37m-manylinux2010_x86_64.whl
1041dd124664263f1b9cde98028dd2d0f164a94b13a06183f27a7b7dd14767ad  numpy-1.19.0rc1-cp37-cp37m-manylinux2014_aarch64.whl
d5833cb9cce627e960c87b75eb1878498cdf430155062f9423cee5617032284f  numpy-1.19.0rc1-cp37-cp37m-win32.whl
59b4ace51c26d6f6698ebaee442a37d2f34415ad2d9c683e18bb462f50768697  numpy-1.19.0rc1-cp37-cp37m-win_amd64.whl
1d84d42be12fc7d3e9afc2e381136e6a4a0aa509183166b99079fd87afb8a6a6  numpy-1.19.0rc1-cp38-cp38-macosx_10_9_x86_64.whl
f45938abfa864e342f6719f05150f6458e018e22793a6fdf60e0ea4d4d15f53c  numpy-1.19.0rc1-cp38-cp38-manylinux1_i686.whl
876a0d72f16e60c34678ff52535d0ccdfb5718ed0ebac4ed50187bd6e06c1bac  numpy-1.19.0rc1-cp38-cp38-manylinux1_x86_64.whl
0bffe7f20aa96e3b16a99c5a38a6e3ebeeff9203c8000723f040c72746808c5b  numpy-1.19.0rc1-cp38-cp38-manylinux2010_i686.whl
c39e84169f93899a15dbb7cbd3e68bd6bb31f56800658d966f89a2186eb4f929  numpy-1.19.0rc1-cp38-cp38-manylinux2010_x86_64.whl
5c1db3b05428c6c8397c2457063b16a03688f1d0531dac96afa46a0362a5f237  numpy-1.19.0rc1-cp38-cp38-manylinux2014_aarch64.whl
c58eedde4999735da1d95a4af266a43ba1c32fbc2021941bb5149ad58da1312d  numpy-1.19.0rc1-cp38-cp38-win32.whl
705551bb2fb68a3ee1c5868a24d9e57670324a2c25530e3846b58f111ca3bada  numpy-1.19.0rc1-cp38-cp38-win_amd64.whl
72a8744aa28d2f85629810aa13fe45b13992ca9566eade5fecb0e916d7df6c80  numpy-1.19.0rc1-pp36-pypy36_pp73-manylinux2010_x86_64.whl
c42b898277e1c2fdefa4361c6435e57311ad547f584039cbd935625701572d8e  numpy-1.19.0rc1.tar.gz
1ae657a2390cbc1553df60cb2a5f69742761d0ad5957b0113c9c00bb06276a78  numpy-1.19.0rc1.zip
numpy -

Published by charris over 4 years ago


title: 'NumPy 1.18.4 Release Notes'

This is that last planned release in the 1.18.x series. It reverts the
bool("0") behavior introduced in 1.18.3 and fixes a bug in
Generator.integers. There is also improved help in the error message
emitted when numpy import fails due to a link to a new troubleshooting
section in the documentation that is now included.

The Python versions supported in this release are 3.5-3.8. Downstream
developers should use Cython >= 0.29.15 for Python 3.8 support and
OpenBLAS >= 3.7 to avoid errors on the Skylake architecture.

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
  • Warren Weckesser

Pull requests merged

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

  • #16055 BLD: add i686 for 1.18 builds
  • #16090 BUG: random: Generator.integers(2**32) always returned 0.
  • #16091 BLD: fix path to libgfortran on macOS
  • #16109 REV: Reverts side-effect changes to casting
  • #16114 BLD: put openblas library in local directory on windows
  • #16132 DOC: Change import error "howto" to link to new troubleshooting...

Checksums

MD5

1fe09153c9e6da5c9e73f3ed466da50c  numpy-1.18.4-cp35-cp35m-macosx_10_9_intel.whl
707b0270ece3e9a16905e756884daa48  numpy-1.18.4-cp35-cp35m-manylinux1_i686.whl
47f90c71c3df80ace2b32d011ed1c240  numpy-1.18.4-cp35-cp35m-manylinux1_x86_64.whl
e0e7d9fd9f4c8cf077ba5cda69833d38  numpy-1.18.4-cp35-cp35m-win32.whl
06e844091463932a0d4da103951ffc2c  numpy-1.18.4-cp35-cp35m-win_amd64.whl
32ce3d6d266f1fbfef4a2ff917053718  numpy-1.18.4-cp36-cp36m-macosx_10_9_x86_64.whl
f5d27cca8bf9dc8f603cad5255674bb8  numpy-1.18.4-cp36-cp36m-manylinux1_i686.whl
460bd10297e582f0e061194356990afb  numpy-1.18.4-cp36-cp36m-manylinux1_x86_64.whl
160c62c881a5109f3e47813dd0079ab1  numpy-1.18.4-cp36-cp36m-win32.whl
03e2d39bfaaf27993b353b98c75f27cc  numpy-1.18.4-cp36-cp36m-win_amd64.whl
672cb3889e7c9285ca260f8d15c2bc9f  numpy-1.18.4-cp37-cp37m-macosx_10_9_x86_64.whl
eaebca109ce5346ec1626af476e88edb  numpy-1.18.4-cp37-cp37m-manylinux1_i686.whl
bdf6d9bd169e5552284dd366c12e3759  numpy-1.18.4-cp37-cp37m-manylinux1_x86_64.whl
408f8eedcfb8bee6c0d8cb13f4665edd  numpy-1.18.4-cp37-cp37m-win32.whl
2d2cc2ccd5c276bde6696856609dee9f  numpy-1.18.4-cp37-cp37m-win_amd64.whl
5bdfaa2daf5afd8e6db8c202f58d5ef0  numpy-1.18.4-cp38-cp38-macosx_10_9_x86_64.whl
1aad5b0c4545e206aae7848853633885  numpy-1.18.4-cp38-cp38-manylinux1_i686.whl
f7e78dcee83fb851c97804d7fb987fdb  numpy-1.18.4-cp38-cp38-manylinux1_x86_64.whl
91678301ec0d6e6c20bf7c71bc8665a5  numpy-1.18.4-cp38-cp38-win32.whl
916b27fca6fb780907033067cad175fe  numpy-1.18.4-cp38-cp38-win_amd64.whl
70e6c294f8dffa8d630eda1b0d42ae4d  numpy-1.18.4.tar.gz
37277c5cbe5a850513fbff5ffdad1caf  numpy-1.18.4.zip

SHA256

efdba339fffb0e80fcc19524e4fdbda2e2b5772ea46720c44eaac28096d60720  numpy-1.18.4-cp35-cp35m-macosx_10_9_intel.whl
2b573fcf6f9863ce746e4ad00ac18a948978bb3781cffa4305134d31801f3e26  numpy-1.18.4-cp35-cp35m-manylinux1_i686.whl
3f0dae97e1126f529ebb66f3c63514a0f72a177b90d56e4bce8a0b5def34627a  numpy-1.18.4-cp35-cp35m-manylinux1_x86_64.whl
dccd380d8e025c867ddcb2f84b439722cf1f23f3a319381eac45fd077dee7170  numpy-1.18.4-cp35-cp35m-win32.whl
02ec9582808c4e48be4e93cd629c855e644882faf704bc2bd6bbf58c08a2a897  numpy-1.18.4-cp35-cp35m-win_amd64.whl
904b513ab8fbcbdb062bed1ce2f794ab20208a1b01ce9bd90776c6c7e7257032  numpy-1.18.4-cp36-cp36m-macosx_10_9_x86_64.whl
e22cd0f72fc931d6abc69dc7764484ee20c6a60b0d0fee9ce0426029b1c1bdae  numpy-1.18.4-cp36-cp36m-manylinux1_i686.whl
2466fbcf23711ebc5daa61d28ced319a6159b260a18839993d871096d66b93f7  numpy-1.18.4-cp36-cp36m-manylinux1_x86_64.whl
00d7b54c025601e28f468953d065b9b121ddca7fff30bed7be082d3656dd798d  numpy-1.18.4-cp36-cp36m-win32.whl
7d59f21e43bbfd9a10953a7e26b35b6849d888fc5a331fa84a2d9c37bd9fe2a2  numpy-1.18.4-cp36-cp36m-win_amd64.whl
efb7ac5572c9a57159cf92c508aad9f856f1cb8e8302d7fdb99061dbe52d712c  numpy-1.18.4-cp37-cp37m-macosx_10_9_x86_64.whl
0e6f72f7bb08f2f350ed4408bb7acdc0daba637e73bce9f5ea2b207039f3af88  numpy-1.18.4-cp37-cp37m-manylinux1_i686.whl
9933b81fecbe935e6a7dc89cbd2b99fea1bf362f2790daf9422a7bb1dc3c3085  numpy-1.18.4-cp37-cp37m-manylinux1_x86_64.whl
96dd36f5cdde152fd6977d1bbc0f0561bccffecfde63cd397c8e6033eb66baba  numpy-1.18.4-cp37-cp37m-win32.whl
57aea170fb23b1fd54fa537359d90d383d9bf5937ee54ae8045a723caa5e0961  numpy-1.18.4-cp37-cp37m-win_amd64.whl
ed722aefb0ebffd10b32e67f48e8ac4c5c4cf5d3a785024fdf0e9eb17529cd9d  numpy-1.18.4-cp38-cp38-macosx_10_9_x86_64.whl
50fb72bcbc2cf11e066579cb53c4ca8ac0227abb512b6cbc1faa02d1595a2a5d  numpy-1.18.4-cp38-cp38-manylinux1_i686.whl
709c2999b6bd36cdaf85cf888d8512da7433529f14a3689d6e37ab5242e7add5  numpy-1.18.4-cp38-cp38-manylinux1_x86_64.whl
f22273dd6a403ed870207b853a856ff6327d5cbce7a835dfa0645b3fc00273ec  numpy-1.18.4-cp38-cp38-win32.whl
1be2e96314a66f5f1ce7764274327fd4fb9da58584eaff00b5a5221edefee7d6  numpy-1.18.4-cp38-cp38-win_amd64.whl
e0781ec6627e85f2a618478ee278893343fb8b40577b4c74b2ec15c7a5b8f698  numpy-1.18.4.tar.gz
bbcc85aaf4cd84ba057decaead058f43191cc0e30d6bc5d44fe336dc3d3f4509  numpy-1.18.4.zip
numpy -

Published by charris over 4 years ago

NumPy 1.18.3 Release Notes

This release contains various bug/regression fixes.

The Python versions supported in this release are 3.5-3.8. Downstream
developers should use Cython >= 0.29.15 for Python 3.8 support and
OpenBLAS >= 3.7 to avoid errors on the Skylake architecture.

Highlights

  • Fix for the method='eigh' and method='cholesky' options in
    numpy.random.multivariate_normal. Those were producing samples
    from the wrong distribution.

Contributors

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

  • Charles Harris
  • Max Balandat +
  • @Mibu287 +
  • Pan Jan +
  • Sebastian Berg
  • @panpiort8 +

Pull requests merged

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

  • #15916: BUG: Fix eigh and cholesky methods of numpy.random.multivariate_normal
  • #15929: BUG,MAINT: Remove incorrect special case in string to number...
  • #15930: BUG: Guarantee array is in valid state after memory error occurs...
  • #15954: BUG: Check that [pvals]{.title-ref} is 1D in _generator.multinomial.
  • #16017: BUG: Alpha parameter must be 1D in _generator.dirichlet

Checksums

MD5

6582c9a045ba92cb11a7062cfabba898  numpy-1.18.3-cp35-cp35m-macosx_10_9_intel.whl
f70d5c8d4f598653ff66f640487481ce  numpy-1.18.3-cp35-cp35m-manylinux1_i686.whl
5c0f1a8c94d095efd21ab4b8ffeed921  numpy-1.18.3-cp35-cp35m-manylinux1_x86_64.whl
92cab35405fe3042e7aa8504d8669cd0  numpy-1.18.3-cp35-cp35m-win32.whl
8769b5434fd08fe67d912077082b91d7  numpy-1.18.3-cp35-cp35m-win_amd64.whl
2f1f330199d95bd8e709d0e4a0eec65e  numpy-1.18.3-cp36-cp36m-macosx_10_9_x86_64.whl
19892d1f036da55f8841ef121478d554  numpy-1.18.3-cp36-cp36m-manylinux1_i686.whl
676c3dd16e9d80271c31ee5f9c3b8f20  numpy-1.18.3-cp36-cp36m-manylinux1_x86_64.whl
6484099fdb78f732a758286d2eb87632  numpy-1.18.3-cp36-cp36m-win32.whl
7d99a2a4ba819b75347468c8ed5e5a9e  numpy-1.18.3-cp36-cp36m-win_amd64.whl
a5672f35136ea83dfa7960859a38d6e9  numpy-1.18.3-cp37-cp37m-macosx_10_9_x86_64.whl
5b36aaaeb4203b3d26c5dc801dbc66bd  numpy-1.18.3-cp37-cp37m-manylinux1_i686.whl
afc4b2445d447f1a7c338026778bd34e  numpy-1.18.3-cp37-cp37m-manylinux1_x86_64.whl
2ebc3ba9945d108df75319c359190516  numpy-1.18.3-cp37-cp37m-win32.whl
a78f661b1c7bd153c8399db90fba652c  numpy-1.18.3-cp37-cp37m-win_amd64.whl
8f16d580559468b7cf23a71dc9945f39  numpy-1.18.3-cp38-cp38-macosx_10_9_x86_64.whl
5ec887ba38cd99775666f3493d82ea7c  numpy-1.18.3-cp38-cp38-manylinux1_i686.whl
88ce81bc31dec4c14bf835dc466308ed  numpy-1.18.3-cp38-cp38-manylinux1_x86_64.whl
5afe9a5f3c21299da599210ff5b76834  numpy-1.18.3-cp38-cp38-win32.whl
205364093300906654debbe3beb13359  numpy-1.18.3-cp38-cp38-win_amd64.whl
cd631c761f141d382b4e1b31c8232fc0  numpy-1.18.3.tar.gz
91314710fe9d29d80b6ccc9629e4532b  numpy-1.18.3.zip

SHA256

a6bc9432c2640b008d5f29bad737714eb3e14bb8854878eacf3d7955c4e91c36  numpy-1.18.3-cp35-cp35m-macosx_10_9_intel.whl
48e15612a8357393d176638c8f68a19273676877caea983f8baf188bad430379  numpy-1.18.3-cp35-cp35m-manylinux1_i686.whl
eb2286249ebfe8fcb5b425e5ec77e4736d53ee56d3ad296f8947f67150f495e3  numpy-1.18.3-cp35-cp35m-manylinux1_x86_64.whl
1e37626bcb8895c4b3873fcfd54e9bfc5ffec8d0f525651d6985fcc5c6b6003c  numpy-1.18.3-cp35-cp35m-win32.whl
163c78c04f47f26ca1b21068cea25ed7c5ecafe5f5ab2ea4895656a750582b56  numpy-1.18.3-cp35-cp35m-win_amd64.whl
3d9e1554cd9b5999070c467b18e5ae3ebd7369f02706a8850816f576a954295f  numpy-1.18.3-cp36-cp36m-macosx_10_9_x86_64.whl
40c24960cd5cec55222963f255858a1c47c6fa50a65a5b03fd7de75e3700eaaa  numpy-1.18.3-cp36-cp36m-manylinux1_i686.whl
a551d8cc267c634774830086da42e4ba157fa41dd3b93982bc9501b284b0c689  numpy-1.18.3-cp36-cp36m-manylinux1_x86_64.whl
0aa2b318cf81eb1693fcfcbb8007e95e231d7e1aa24288137f3b19905736c3ee  numpy-1.18.3-cp36-cp36m-win32.whl
a41f303b3f9157a31ce7203e3ca757a0c40c96669e72d9b6ee1bce8507638970  numpy-1.18.3-cp36-cp36m-win_amd64.whl
e607b8cdc2ae5d5a63cd1bec30a15b5ed583ac6a39f04b7ba0f03fcfbf29c05b  numpy-1.18.3-cp37-cp37m-macosx_10_9_x86_64.whl
fdee7540d12519865b423af411bd60ddb513d2eb2cd921149b732854995bbf8b  numpy-1.18.3-cp37-cp37m-manylinux1_i686.whl
6725d2797c65598778409aba8cd67077bb089d5b7d3d87c2719b206dc84ec05e  numpy-1.18.3-cp37-cp37m-manylinux1_x86_64.whl
4847f0c993298b82fad809ea2916d857d0073dc17b0510fbbced663b3265929d  numpy-1.18.3-cp37-cp37m-win32.whl
46f404314dbec78cb342904f9596f25f9b16e7cf304030f1339e553c8e77f51c  numpy-1.18.3-cp37-cp37m-win_amd64.whl
264fd15590b3f02a1fbc095e7e1f37cdac698ff3829e12ffdcffdce3772f9d44  numpy-1.18.3-cp38-cp38-macosx_10_9_x86_64.whl
e94a39d5c40fffe7696009dbd11bc14a349b377e03a384ed011e03d698787dd3  numpy-1.18.3-cp38-cp38-manylinux1_i686.whl
a4305564e93f5c4584f6758149fd446df39fd1e0a8c89ca0deb3cce56106a027  numpy-1.18.3-cp38-cp38-manylinux1_x86_64.whl
99f0ba97e369f02a21bb95faa3a0de55991fd5f0ece2e30a9e2eaebeac238921  numpy-1.18.3-cp38-cp38-win32.whl
c60175d011a2e551a2f74c84e21e7c982489b96b6a5e4b030ecdeacf2914da68  numpy-1.18.3-cp38-cp38-win_amd64.whl
93ee59ec38f3bf8f9a42d5f4301f60e6825a4a6385a145f70badcd2bf2a11134  numpy-1.18.3.tar.gz
e46e2384209c91996d5ec16744234d1c906ab79a701ce1a26155c9ec890b8dc8  numpy-1.18.3.zip
numpy -

Published by charris over 4 years ago

NumPy 1.18.2 Release Notes

This small elease contains a fix for a performance regression in
numpy/random and several bug/maintenance updates.

The Python versions supported in this release are 3.5-3.8. Downstream
developers should use Cython >= 0.29.15 for Python 3.8 support and
OpenBLAS >= 3.7 to avoid errors on the Skylake architecture.

Contributors

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

  • Charles Harris
  • Ganesh Kathiresan +
  • Matti Picus
  • Sebastian Berg
  • przemb +

Pull requests merged

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

  • #15675: TST: move _no_tracing to testing._private
  • #15676: MAINT: Large overhead in some random functions
  • #15677: TST: Do not create gfortran link in azure Mac testing.
  • #15679: BUG: Added missing error check in ndarray.__contains__
  • #15722: MAINT: use list-based APIs to call subprocesses
  • #15729: REL: Prepare for 1.18.2 release.
  • #15734: BUG: fix logic error when nm fails on 32-bit

Checksums

MD5

b9efe544f2bfbbd4e226c5639f22b1d2  numpy-1.18.2-cp35-cp35m-macosx_10_9_x86_64.whl
59c0bc09053c0029e829685dcb3dafa5  numpy-1.18.2-cp35-cp35m-manylinux1_i686.whl
1783f9194ceeabb236bd46ed6cb6ed60  numpy-1.18.2-cp35-cp35m-manylinux1_x86_64.whl
8a6fa57b509e6d9e194fb43b0ac5bbc7  numpy-1.18.2-cp35-cp35m-win32.whl
3167feeb5e30445ca7beed1d55b6d73a  numpy-1.18.2-cp35-cp35m-win_amd64.whl
c193d593d3b8a46c610511a69c86f879  numpy-1.18.2-cp36-cp36m-macosx_10_9_x86_64.whl
f31c65b4699b12e73b36eb268931dbdc  numpy-1.18.2-cp36-cp36m-manylinux1_i686.whl
f5b0613cacaaf2179528a36b75712d65  numpy-1.18.2-cp36-cp36m-manylinux1_x86_64.whl
77e40c0481f2c1608d344032038fa969  numpy-1.18.2-cp36-cp36m-win32.whl
2c402211d77a10025b047042d191839b  numpy-1.18.2-cp36-cp36m-win_amd64.whl
3adec0f3cd5946ae7a0ab67790b2d8f1  numpy-1.18.2-cp37-cp37m-macosx_10_9_x86_64.whl
baea3b06dac41d5f6f1fbb7a62114656  numpy-1.18.2-cp37-cp37m-manylinux1_i686.whl
99b3c14bfc303c662b899d1a5ca4df6a  numpy-1.18.2-cp37-cp37m-manylinux1_x86_64.whl
293066cca2b3772fa3ae204f6ff98ce7  numpy-1.18.2-cp37-cp37m-win32.whl
21f3cda116631da8823a621e90c30bbb  numpy-1.18.2-cp37-cp37m-win_amd64.whl
47978cedd45ded509073025c1aa60506  numpy-1.18.2-cp38-cp38-macosx_10_9_x86_64.whl
4864078352c7faa69a8f9e98e48f7d8a  numpy-1.18.2-cp38-cp38-manylinux1_i686.whl
c0111a5fce4aa57004366e9d5edc5644  numpy-1.18.2-cp38-cp38-manylinux1_x86_64.whl
7f8ca4e685e607f80ad002495b603436  numpy-1.18.2-cp38-cp38-win32.whl
e8e192005a0b8045928f0ac712762a6f  numpy-1.18.2-cp38-cp38-win_amd64.whl
52601ac4cfbd513218bc088b74715098  numpy-1.18.2.tar.gz
511010c9fbd2516fe5a24aabcb76a56d  numpy-1.18.2.zip

SHA256

a1baa1dc8ecd88fb2d2a651671a84b9938461e8a8eed13e2f0a812a94084d1fa  numpy-1.18.2-cp35-cp35m-macosx_10_9_x86_64.whl
a244f7af80dacf21054386539699ce29bcc64796ed9850c99a34b41305630286  numpy-1.18.2-cp35-cp35m-manylinux1_i686.whl
6fcc5a3990e269f86d388f165a089259893851437b904f422d301cdce4ff25c8  numpy-1.18.2-cp35-cp35m-manylinux1_x86_64.whl
b5ad0adb51b2dee7d0ee75a69e9871e2ddfb061c73ea8bc439376298141f77f5  numpy-1.18.2-cp35-cp35m-win32.whl
87902e5c03355335fc5992a74ba0247a70d937f326d852fc613b7f53516c0963  numpy-1.18.2-cp35-cp35m-win_amd64.whl
9ab21d1cb156a620d3999dd92f7d1c86824c622873841d6b080ca5495fa10fef  numpy-1.18.2-cp36-cp36m-macosx_10_9_x86_64.whl
cdb3a70285e8220875e4d2bc394e49b4988bdb1298ffa4e0bd81b2f613be397c  numpy-1.18.2-cp36-cp36m-manylinux1_i686.whl
6d205249a0293e62bbb3898c4c2e1ff8a22f98375a34775a259a0523111a8f6c  numpy-1.18.2-cp36-cp36m-manylinux1_x86_64.whl
a35af656a7ba1d3decdd4fae5322b87277de8ac98b7d9da657d9e212ece76a61  numpy-1.18.2-cp36-cp36m-win32.whl
1598a6de323508cfeed6b7cd6c4efb43324f4692e20d1f76e1feec7f59013448  numpy-1.18.2-cp36-cp36m-win_amd64.whl
deb529c40c3f1e38d53d5ae6cd077c21f1d49e13afc7936f7f868455e16b64a0  numpy-1.18.2-cp37-cp37m-macosx_10_9_x86_64.whl
cd77d58fb2acf57c1d1ee2835567cd70e6f1835e32090538f17f8a3a99e5e34b  numpy-1.18.2-cp37-cp37m-manylinux1_i686.whl
b1fe1a6f3a6f355f6c29789b5927f8bd4f134a4bd9a781099a7c4f66af8850f5  numpy-1.18.2-cp37-cp37m-manylinux1_x86_64.whl
2e40be731ad618cb4974d5ba60d373cdf4f1b8dcbf1dcf4d9dff5e212baf69c5  numpy-1.18.2-cp37-cp37m-win32.whl
4ba59db1fcc27ea31368af524dcf874d9277f21fd2e1f7f1e2e0c75ee61419ed  numpy-1.18.2-cp37-cp37m-win_amd64.whl
59ca9c6592da581a03d42cc4e270732552243dc45e87248aa8d636d53812f6a5  numpy-1.18.2-cp38-cp38-macosx_10_9_x86_64.whl
1b0ece94018ae21163d1f651b527156e1f03943b986188dd81bc7e066eae9d1c  numpy-1.18.2-cp38-cp38-manylinux1_i686.whl
82847f2765835c8e5308f136bc34018d09b49037ec23ecc42b246424c767056b  numpy-1.18.2-cp38-cp38-manylinux1_x86_64.whl
5e0feb76849ca3e83dd396254e47c7dba65b3fa9ed3df67c2556293ae3e16de3  numpy-1.18.2-cp38-cp38-win32.whl
ba3c7a2814ec8a176bb71f91478293d633c08582119e713a0c5351c0f77698da  numpy-1.18.2-cp38-cp38-win_amd64.whl
da204ce460aa4247e595b7c7189d2fb2ed5f796bc03197055de01dac61d0125e  numpy-1.18.2.tar.gz
e7894793e6e8540dbeac77c87b489e331947813511108ae097f1715c018b8f3d  numpy-1.18.2.zip
numpy -

Published by charris almost 5 years ago

NumPy 1.18.1 Release Notes

This release contains fixes for bugs reported against NumPy 1.18.0. Two
bugs in particular that caused widespread problems downstream were:

  • The cython random extension test was not using a temporary directory
    for building, resulting in a permission violation. Fixed.
  • Numpy distutils was appending [-std=c99]{.title-ref} to all C
    compiler runs, leading to changed behavior and compile problems
    downstream. That flag is now only applied when building numpy C
    code.

The Python versions supported in this release are 3.5-3.8. Downstream
developers should use Cython >= 0.29.14 for Python 3.8 support and
OpenBLAS >= 3.7 to avoid errors on the Skylake architecture.

Contributors

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

  • Charles Harris
  • Matti Picus
  • Maxwell Aladago
  • Pauli Virtanen
  • Ralf Gommers
  • Tyler Reddy
  • Warren Weckesser

Pull requests merged

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

  • #15158: MAINT: Update pavement.py for towncrier.
  • #15159: DOC: add moved modules to 1.18 release note
  • #15161: MAINT, DOC: Minor backports and updates for 1.18.x
  • #15176: TST: Add assert_array_equal test for big integer arrays
  • #15184: BUG: use tmp dir and check version for cython test (#15170)
  • #15220: BUG: distutils: fix msvc+gfortran openblas handling corner case
  • #15221: BUG: remove -std=c99 for c++ compilation (#15194)
  • #15222: MAINT: unskip test on win32
  • #15223: TST: add BLAS ILP64 run in Travis & Azure
  • #15245: MAINT: only add --std=c99 where needed
  • #15246: BUG: lib: Fix handling of integer arrays by gradient.
  • #15247: MAINT: Do not use private Python function in testing
  • #15250: REL: Prepare for the NumPy 1.18.1 release.

Checksums

MD5

f41ef9a855aa0baeb900827e2f99ab7b  numpy-1.18.1-cp35-cp35m-macosx_10_6_intel.whl
5239118baa2f0db334e70aac6cf26927  numpy-1.18.1-cp35-cp35m-manylinux1_i686.whl
78d95d2f1814b517e7cc887e559c7cd4  numpy-1.18.1-cp35-cp35m-manylinux1_x86_64.whl
c58a268ad42c31883b5756ad20cebe87  numpy-1.18.1-cp35-cp35m-win32.whl
2ffc13917b6813a85b8e1032402ca5f5  numpy-1.18.1-cp35-cp35m-win_amd64.whl
c3ac9936c6b21fef95a2304505fdb594  numpy-1.18.1-cp36-cp36m-macosx_10_9_x86_64.whl
e0a26cc2d04a7f115489b9ccc9678d3f  numpy-1.18.1-cp36-cp36m-manylinux1_i686.whl
d79f59200a821f90acf73f97c5252902  numpy-1.18.1-cp36-cp36m-manylinux1_x86_64.whl
8ba2338c677f238a84264633e3b96d9d  numpy-1.18.1-cp36-cp36m-win32.whl
2a2ab91e19bd2703eaa1506b06036958  numpy-1.18.1-cp36-cp36m-win_amd64.whl
6cc9c5767ffc0de03685f928e4e97f0f  numpy-1.18.1-cp37-cp37m-macosx_10_9_x86_64.whl
486a5ab59cbdfc2861be08701702e251  numpy-1.18.1-cp37-cp37m-manylinux1_i686.whl
08123450dfbb9f53c812caa65895afcb  numpy-1.18.1-cp37-cp37m-manylinux1_x86_64.whl
3e4e223ba7b784cd90f891e8867d0cf8  numpy-1.18.1-cp37-cp37m-win32.whl
4a51b085685511e95be3077a7360785f  numpy-1.18.1-cp37-cp37m-win_amd64.whl
d1f034f563252a57b9235bc9ea2c1aef  numpy-1.18.1-cp38-cp38-macosx_10_9_x86_64.whl
2252dcd00034da6f99c98584875dcb9d  numpy-1.18.1-cp38-cp38-manylinux1_i686.whl
6e93a3c8618e87aee2b0cd648b1730f0  numpy-1.18.1-cp38-cp38-manylinux1_x86_64.whl
10f1d9a6faf6a2fdb0693347cb2348b0  numpy-1.18.1-cp38-cp38-win32.whl
b9d0e0840e3e6e37f384a794d48c4ae8  numpy-1.18.1-cp38-cp38-win_amd64.whl
9ab88e85f5b1fc70506287317b58f71d  numpy-1.18.1.tar.gz
18787d6482681c85a66629a781fb84c3  numpy-1.18.1.zip

SHA256

20b26aaa5b3da029942cdcce719b363dbe58696ad182aff0e5dcb1687ec946dc  numpy-1.18.1-cp35-cp35m-macosx_10_6_intel.whl
70a840a26f4e61defa7bdf811d7498a284ced303dfbc35acb7be12a39b2aa121  numpy-1.18.1-cp35-cp35m-manylinux1_i686.whl
17aa7a81fe7599a10f2b7d95856dc5cf84a4eefa45bc96123cbbc3ebc568994e  numpy-1.18.1-cp35-cp35m-manylinux1_x86_64.whl
f3d0a94ad151870978fb93538e95411c83899c9dc63e6fb65542f769568ecfa5  numpy-1.18.1-cp35-cp35m-win32.whl
1786a08236f2c92ae0e70423c45e1e62788ed33028f94ca99c4df03f5be6b3c6  numpy-1.18.1-cp35-cp35m-win_amd64.whl
ae0975f42ab1f28364dcda3dde3cf6c1ddab3e1d4b2909da0cb0191fa9ca0480  numpy-1.18.1-cp36-cp36m-macosx_10_9_x86_64.whl
cf7eb6b1025d3e169989416b1adcd676624c2dbed9e3bcb7137f51bfc8cc2572  numpy-1.18.1-cp36-cp36m-manylinux1_i686.whl
b765ed3930b92812aa698a455847141869ef755a87e099fddd4ccf9d81fffb57  numpy-1.18.1-cp36-cp36m-manylinux1_x86_64.whl
2d75908ab3ced4223ccba595b48e538afa5ecc37405923d1fea6906d7c3a50bc  numpy-1.18.1-cp36-cp36m-win32.whl
9acdf933c1fd263c513a2df3dceecea6f3ff4419d80bf238510976bf9bcb26cd  numpy-1.18.1-cp36-cp36m-win_amd64.whl
56bc8ded6fcd9adea90f65377438f9fea8c05fcf7c5ba766bef258d0da1554aa  numpy-1.18.1-cp37-cp37m-macosx_10_9_x86_64.whl
e422c3152921cece8b6a2fb6b0b4d73b6579bd20ae075e7d15143e711f3ca2ca  numpy-1.18.1-cp37-cp37m-manylinux1_i686.whl
b3af02ecc999c8003e538e60c89a2b37646b39b688d4e44d7373e11c2debabec  numpy-1.18.1-cp37-cp37m-manylinux1_x86_64.whl
d92350c22b150c1cae7ebb0ee8b5670cc84848f6359cf6b5d8f86617098a9b73  numpy-1.18.1-cp37-cp37m-win32.whl
77c3bfe65d8560487052ad55c6998a04b654c2fbc36d546aef2b2e511e760971  numpy-1.18.1-cp37-cp37m-win_amd64.whl
c98c5ffd7d41611407a1103ae11c8b634ad6a43606eca3e2a5a269e5d6e8eb07  numpy-1.18.1-cp38-cp38-macosx_10_9_x86_64.whl
9537eecf179f566fd1c160a2e912ca0b8e02d773af0a7a1120ad4f7507cd0d26  numpy-1.18.1-cp38-cp38-manylinux1_i686.whl
e840f552a509e3380b0f0ec977e8124d0dc34dc0e68289ca28f4d7c1d0d79474  numpy-1.18.1-cp38-cp38-manylinux1_x86_64.whl
590355aeade1a2eaba17617c19edccb7db8d78760175256e3cf94590a1a964f3  numpy-1.18.1-cp38-cp38-win32.whl
39d2c685af15d3ce682c99ce5925cc66efc824652e10990d2462dfe9b8918c6a  numpy-1.18.1-cp38-cp38-win_amd64.whl
e37802868ba5f389bf4e3f4c40c16e1b031814f0585ac122637de219de6279cb  numpy-1.18.1.tar.gz
b6ff59cee96b454516e47e7721098e6ceebef435e3e21ac2d6c3b8b02628eb77  numpy-1.18.1.zip
numpy -

Published by charris almost 5 years ago

NumPy 1.17.5 Release Notes

This release contains fixes for bugs reported against NumPy 1.17.4 along
with some build improvements. The Python versions supported in this
release are 3.5-3.8.

Downstream developers should use Cython >= 0.29.14 for Python 3.8
support and OpenBLAS >= 3.7 to avoid errors on the Skylake
architecture.

It is recommended that developers interested in the new random bit
generators upgrade to the NumPy 1.18.x series, as it has updated
documentation and many small improvements.

Contributors

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

  • Charles Harris
  • Eric Wieser
  • Ilhan Polat
  • Matti Picus
  • Michael Hudson-Doyle
  • Ralf Gommers

Pull requests merged

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

  • #14593: MAINT:
    backport Cython API cleanup to 1.17.x, remove docs
  • #14937: BUG: fix
    integer size confusion in handling array's ndmin argument
  • #14939: BUILD: remove
    SSE2 flag from numpy.random builds
  • #14993: MAINT: Added
    Python3.8 branch to dll lib discovery
  • #15038: BUG: Fix
    refcounting in ufunc object loops
  • #15067: BUG:
    Exceptions tracebacks are dropped
  • #15175: ENH: Backport
    improvements to testing functions.
  • #15213: REL: Prepare
    for the NumPy 1.17.5 release.

Checksums

MD5

e1d378317e20e340ea46937cbaf45094  numpy-1.17.5-cp35-cp35m-macosx_10_9_intel.whl
49b263605ab32a0880fa68b29c2586b0  numpy-1.17.5-cp35-cp35m-manylinux1_i686.whl
41b4800ea0b8410919500e264994fb6f  numpy-1.17.5-cp35-cp35m-manylinux1_x86_64.whl
7ac18d112a745aabf5059da85de91c57  numpy-1.17.5-cp35-cp35m-win32.whl
98dfbe821c010b34771f789dff36ca76  numpy-1.17.5-cp35-cp35m-win_amd64.whl
3a14d2a58b72db3020b2d1760aefed5c  numpy-1.17.5-cp36-cp36m-macosx_10_9_x86_64.whl
47810aa1c34d9d46581f0b8dee0d1acc  numpy-1.17.5-cp36-cp36m-manylinux1_i686.whl
e0f2d037ecd1ecbfa5f3d282bf69fad2  numpy-1.17.5-cp36-cp36m-manylinux1_x86_64.whl
addda5c691eaca7b8aa2f8413c936f54  numpy-1.17.5-cp36-cp36m-win32.whl
ee5c057451e77ad2aeb1a7ed2df3754d  numpy-1.17.5-cp36-cp36m-win_amd64.whl
8be28f068e0b2e9c5202debd6e2bcf6c  numpy-1.17.5-cp37-cp37m-macosx_10_9_x86_64.whl
8400685497628c48b292ff8bb8b7286e  numpy-1.17.5-cp37-cp37m-manylinux1_i686.whl
a399036176dd2e23e07b866b460b6f20  numpy-1.17.5-cp37-cp37m-manylinux1_x86_64.whl
f9497454c4d3a8fdcc62788420f365c7  numpy-1.17.5-cp37-cp37m-win32.whl
930a172f90ea6658adf2d25700a98757  numpy-1.17.5-cp37-cp37m-win_amd64.whl
1fddb7a3de3aba553614919411e70698  numpy-1.17.5-cp38-cp38-macosx_10_9_x86_64.whl
003e1514a5ed31cebb10a8055f7b63e6  numpy-1.17.5-cp38-cp38-manylinux1_i686.whl
de8f5f3f602f889fb0ed42cfd5da40bc  numpy-1.17.5-cp38-cp38-manylinux1_x86_64.whl
91a89b84875f30f6b8166d4791212aa3  numpy-1.17.5-cp38-cp38-win32.whl
ba5eb1d2705e4a169df105ce7a95abc0  numpy-1.17.5-cp38-cp38-win_amd64.whl
59d27965e42caedf8913ebe03cf36f87  numpy-1.17.5.tar.gz
763a5646fa6eef7a22f4895bca0524f2  numpy-1.17.5.zip

SHA256

d977a91f7b02b14843562d2e8740acfdfb46996e64985b69b2d404bfa43bc07d  numpy-1.17.5-cp35-cp35m-macosx_10_9_intel.whl
6c6cab8089ad39554d7fed04d338e7bd7ea6ac48235a542ea0b37214c8d0a9bc  numpy-1.17.5-cp35-cp35m-manylinux1_i686.whl
4760bcc6adaf0d853379d01ce60f320e5ab6d0d719662aef3c460dad3cf79989  numpy-1.17.5-cp35-cp35m-manylinux1_x86_64.whl
c3fb7eb84cd455ea2294980e557cc40b0042f7fc7ebab28c74ccae85c8b0c2c4  numpy-1.17.5-cp35-cp35m-win32.whl
6167d214a842610d4168311d803f2a6f2c1a9a866b6b370f7408ba508d265add  numpy-1.17.5-cp35-cp35m-win_amd64.whl
ca43581440ce2585f83c8d524c3435569b212bf281b7c67395e78260fcffb341  numpy-1.17.5-cp36-cp36m-macosx_10_9_x86_64.whl
5347fc1258ebe501d352363da06229fc97785d67423b56a9fd032a8389355781  numpy-1.17.5-cp36-cp36m-manylinux1_i686.whl
1739f079e2fcc985cc187aa3ce489d127a02ff12bcc5178269bb7ce5dc860e8f  numpy-1.17.5-cp36-cp36m-manylinux1_x86_64.whl
af51bc1d78ddc1588115b73a1d3824440f5cf55c498681e8ac4ab2f28f0efa99  numpy-1.17.5-cp36-cp36m-win32.whl
259b5aa0a1d2e63bbe9d985bc8249b515541b9993e1b1540563428f5db7bc389  numpy-1.17.5-cp36-cp36m-win_amd64.whl
8ba8ef37b16288dd2390cd9dea3c8470436f6cfe4c665f4640c349e98bae2908  numpy-1.17.5-cp37-cp37m-macosx_10_9_x86_64.whl
348efb76a26f9f3235e492813503639731a885aa5780579ee28d688607d188b2  numpy-1.17.5-cp37-cp37m-manylinux1_i686.whl
31db2f9604afbf897b23478942074bbbb2513467d2b4b4ac573a7b65c63c073c  numpy-1.17.5-cp37-cp37m-manylinux1_x86_64.whl
68bdc37f3ccdc3e945914b3201acd8823ac9dec870ede5371cd5cfedcf5a901a  numpy-1.17.5-cp37-cp37m-win32.whl
15db548aade41e32bfb6f6d3d9e91797261197622afe4102f79220d17da2a29f  numpy-1.17.5-cp37-cp37m-win_amd64.whl
fc56ec046a2cc3aba91fe29e482c145c17925db1b00eafa924d9e16020a3eb88  numpy-1.17.5-cp38-cp38-macosx_10_9_x86_64.whl
73d20aebe518997dce89da356d4b8e4cf60143151c22a0ec76cb00840bb09320  numpy-1.17.5-cp38-cp38-manylinux1_i686.whl
aa3dd92c1427e032fe345f054503f45c9fc7883aa7156a60900641259dd78a78  numpy-1.17.5-cp38-cp38-manylinux1_x86_64.whl
6338f8fa99ea0b00944a256941eea406089a9c0242f594b69289edd91e2d6192  numpy-1.17.5-cp38-cp38-win32.whl
14804866e57322bf601c966e428c271b7e301b631bdfbe0522800483b802bc58  numpy-1.17.5-cp38-cp38-win_amd64.whl
ef0801b6feca0f50e56c29b02e0f3e2c8c40963d44c38484e6f47bfcfbf17d32  numpy-1.17.5.tar.gz
16507ba6617f62ae3c6ab1725ae6f550331025d4d9a369b83f6d5a470446c342  numpy-1.17.5.zip
numpy -

Published by charris almost 5 years ago

NumPy 1.16.6 Release Notes

The NumPy 1.16.6 release fixes bugs reported against the 1.16.5 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.7, which should fix
errors on Skylake series cpus.

Downstream developers building this release should use Cython >= 0.29.2
and, if using OpenBLAS, OpenBLAS >= v0.3.7. The supported Python
versions are 2.7 and 3.5-3.7.

Highlights

  • The np.testing.utils functions have been updated from 1.19.0-dev0.
    This improves the function documentation and error messages as well
    extending the assert_array_compare function to additional types.

New functions

Allow matmul (@) to work with object arrays.

This is an enhancement that was added in NumPy 1.17 and seems reasonable
to include in the LTS 1.16 release series.

Compatibility notes

Fix regression in matmul (@) for boolean types

Booleans were being treated as integers rather than booleans, which was
a regression from previous behavior.

Improvements

Array comparison assertions include maximum differences

Error messages from array comparison tests such as
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.

Contributors

A total of 10 people contributed to this release.

  • CakeWithSteak
  • Charles Harris
  • Chris Burr
  • Eric Wieser
  • Fernando Saravia
  • Lars Grueter
  • Matti Picus
  • Maxwell Aladago
  • Qiming Sun
  • Warren Weckesser

Pull requests merged

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

  • #14211: BUG: Fix
    uint-overflow if padding with linear_ramp and negative...
  • #14275: BUG: fixing to
    allow unpickling of PY3 pickles from PY2
  • #14340: BUG: Fix
    misuse of .names and .fields in various places (backport...
  • #14423: BUG: test, fix
    regression in converting to ctypes.
  • #14434: BUG: Fixed
    maximum relative error reporting in assert_allclose
  • #14509: BUG: Fix
    regression in boolean matmul.
  • #14686: BUG: properly
    define PyArray_DescrCheck
  • #14853: BLD: add 'apt
    update' to shippable
  • #14854: BUG: Fix
    _ctypes class circular reference. (#13808)
  • #14856: BUG: Fix
    [np.einsum]{.title-ref} errors on Power9 Linux and z/Linux
  • #14863: BLD: Prevent
    -flto from optimising long double representation...
  • #14864: BUG: lib: Fix
    histogram problem with signed integer arrays.
  • #15172: ENH: Backport
    improvements to testing functions.
  • #15191: REL: Prepare
    for 1.16.6 release.

Checksums

MD5

4e224331023d95e98074d629b79cd4af  numpy-1.16.6-cp27-cp27m-macosx_10_9_x86_64.whl
d3a48c10422909a5610b42380ed8ddc6  numpy-1.16.6-cp27-cp27m-manylinux1_i686.whl
6896018676021f6cff25abb30d9da143  numpy-1.16.6-cp27-cp27m-manylinux1_x86_64.whl
c961575405015b018a497e8f90db5e38  numpy-1.16.6-cp27-cp27m-win32.whl
8fa39acea08658ca355005c07e15f06f  numpy-1.16.6-cp27-cp27m-win_amd64.whl
8802bee0140fd50aecddab0141d0eb82  numpy-1.16.6-cp27-cp27mu-manylinux1_i686.whl
2f9761f243249d33867f86c10c549dfa  numpy-1.16.6-cp27-cp27mu-manylinux1_x86_64.whl
171a699d84b6ec8ac699627d606890e0  numpy-1.16.6-cp35-cp35m-macosx_10_9_intel.whl
7185860b022aa72cd9abb112b2d2b6cf  numpy-1.16.6-cp35-cp35m-manylinux1_i686.whl
33f35e1b39f572ca98e697b7054fffd1  numpy-1.16.6-cp35-cp35m-manylinux1_x86_64.whl
2ec010ba75c0ac5602e1dbf7fe01ddbf  numpy-1.16.6-cp35-cp35m-win32.whl
88c6c5e1f531e32f65f9f9437045f6f5  numpy-1.16.6-cp35-cp35m-win_amd64.whl
751f8ea2353e73bb3440f241ebad6c5d  numpy-1.16.6-cp36-cp36m-macosx_10_9_x86_64.whl
819af6ec8c90e8209471ecbc6fc47b95  numpy-1.16.6-cp36-cp36m-manylinux1_i686.whl
56ab65e9d3bac5f502507d198634e675  numpy-1.16.6-cp36-cp36m-manylinux1_x86_64.whl
88d4ed4565d31a1978f4bf013f4ffd2e  numpy-1.16.6-cp36-cp36m-win32.whl
167ac7f60d82bd32feb60e675a2c3b01  numpy-1.16.6-cp36-cp36m-win_amd64.whl
2e47bb698842b7289bb34951edf3be3d  numpy-1.16.6-cp37-cp37m-macosx_10_9_x86_64.whl
169eb83d7f0a566207048cc282720ff8  numpy-1.16.6-cp37-cp37m-manylinux1_i686.whl
454ac4d3e09931bfb58cc01b679f4f5f  numpy-1.16.6-cp37-cp37m-manylinux1_x86_64.whl
192593ce2df33b60eab445b31285ad96  numpy-1.16.6-cp37-cp37m-win32.whl
de3b92f1133613e1bd96d788ba9d4307  numpy-1.16.6-cp37-cp37m-win_amd64.whl
5e958c603605f3168b7b29f421f64cdd  numpy-1.16.6.tar.gz
3dc21c84a295fe77eadf8f872685a7de  numpy-1.16.6.zip

SHA256

08bf4f66f190822f4642e036accde8da810b87fffc0b9409e7a00d9e54760099  numpy-1.16.6-cp27-cp27m-macosx_10_9_x86_64.whl
d759ca1b76ac6f6b6159fb74984126035feb1dee9f68b4b961889b6dc090f33a  numpy-1.16.6-cp27-cp27m-manylinux1_i686.whl
d3c5377c6122de876e695937ef41ffee5d2831154c5e4856481b93406cdfeecb  numpy-1.16.6-cp27-cp27m-manylinux1_x86_64.whl
345b1748e6b0d4773a518868c783b16fdc33a22683bdb863484cd29fe8d206e6  numpy-1.16.6-cp27-cp27m-win32.whl
7a5a1f49a643aa1ab3e0579da0a48b8a48ea4369eb63c5065459d0a37f430237  numpy-1.16.6-cp27-cp27m-win_amd64.whl
817eed5a6ec2fc9c1a0ee3fbf9a441c66b6766383580513ccbdf3121acc0b4fb  numpy-1.16.6-cp27-cp27mu-manylinux1_i686.whl
1680c8d5086a88d293dfd1a10b6429a09140cacee878034fa2308472ec835db4  numpy-1.16.6-cp27-cp27mu-manylinux1_x86_64.whl
a4383edb1b8caa989c3541a37ef204916322c503b8eeacc7ee8f4ba24cac97b8  numpy-1.16.6-cp35-cp35m-macosx_10_9_intel.whl
9bb690692f3101583b0b99f3be362742e4f8ebe6c7934fa36cd8ca2b567a0bcc  numpy-1.16.6-cp35-cp35m-manylinux1_i686.whl
b9e334568ca1bf56598eddfac6db6a75bcf1c91aa90d598648f21e45207daeae  numpy-1.16.6-cp35-cp35m-manylinux1_x86_64.whl
55cae40d2024c56e7b79fb070106cb4289dcc6b55c62dba1d89a6944448c6a53  numpy-1.16.6-cp35-cp35m-win32.whl
a1ffc9c770ccc2be9284310a3726c918b26ca19b34c0079e7a41aba950ab175f  numpy-1.16.6-cp35-cp35m-win_amd64.whl
3f423b06bf67cd1dbf72e13e9b53a9ca71972e5abf712ee6cb5d8cbb178fff02  numpy-1.16.6-cp36-cp36m-macosx_10_9_x86_64.whl
34e6bb44e3d9a663f903b8c297ede865b4dff039aa43cc9a0b249e02c27f1396  numpy-1.16.6-cp36-cp36m-manylinux1_i686.whl
60c56922c9d759d664078fbef94132377ef1498ab27dd3d0cc7a21b346e68c06  numpy-1.16.6-cp36-cp36m-manylinux1_x86_64.whl
23cad5e5858dfb73c0e5bce03fe78e5e5908c22263156c58d4afdbb240683c6c  numpy-1.16.6-cp36-cp36m-win32.whl
77399828d96cca386bfba453025c34f22569909d90332b961d3d4341cdb46a84  numpy-1.16.6-cp36-cp36m-win_amd64.whl
97ddfa7688295d460ee48a4d76337e9fdd2506d9d1d0eee7f0348b42b430da4c  numpy-1.16.6-cp37-cp37m-macosx_10_9_x86_64.whl
390f6e14a8d73591f086680464aa101a9be9187d0c633f48c98b429b31b712c2  numpy-1.16.6-cp37-cp37m-manylinux1_i686.whl
a1772dc227e3e415eeaa646d25690dc854bddc3d626e454c7c27acba060cb900  numpy-1.16.6-cp37-cp37m-manylinux1_x86_64.whl
c9fb4fcfcdcaccfe2c4e1f9e0133ed59df5df2aa3655f3d391887e892b0a784c  numpy-1.16.6-cp37-cp37m-win32.whl
6b1853364775edb85ceb0f7f8214d9e993d4d1d9bd3310eae80529ea14ba2ba6  numpy-1.16.6-cp37-cp37m-win_amd64.whl
61562ddac78765969959500b0da9c6f9ba7d77eeb12ec3927afae5303df08777  numpy-1.16.6.tar.gz
e5cf3fdf13401885e8eea8170624ec96225e2174eb0c611c6f26dd33b489e3ff  numpy-1.16.6.zip
numpy -

Published by charris almost 5 years ago

NumPy NumPy 1.18.0 Release Notes

In addition to the usual bug fixes, this NumPy release cleans up and
documents the new random C-API, expires a large number of old
deprecations, and improves the appearance of the documentation. The
Python versions supported are 3.5-3.8. This is the last NumPy release
series that will support Python 3.5.

Downstream developers should use Cython >= 0.29.14 for Python 3.8
support and OpenBLAS >= 3.7 to avoid problems on the Skylake
architecture.

Highlights

  • The C-API for numpy.random has been defined and documented.
  • Basic infrastructure for linking with 64 bit BLAS and LAPACK
    libraries.
  • Many documentation improvements.

New functions

Multivariate hypergeometric distribution added to numpy.random

The method multivariate_hypergeometric has been added to the class
[numpy.random.Generator]{.title-ref}. This method generates random
variates from the multivariate hypergeometric probability distribution.
(gh-13794)

Deprecations

np.fromfile and np.fromstring will error on bad data

In future numpy releases, the functions np.fromfile and
np.fromstring will throw an error when parsing bad data. This will now
give a DeprecationWarning where previously partial or even invalid
data was silently returned. This deprecation also affects the C defined
functions PyArray_FromString and PyArray_FromFile
(gh-13605)

Deprecate non-scalar arrays as fill values in ma.fill_value

Setting a MaskedArray.fill_value to a non-scalar array is deprecated
since the logic to broadcast the fill value to the array is fragile,
especially when slicing.
(gh-13698)

Deprecate PyArray_As1D, PyArray_As2D

PyArray_As1D, PyArray_As2D are deprecated, use PyArray_AsCArray
instead (gh-14036)

Deprecate np.alen

np.alen was deprecated. Use len instead.
(gh-14181)

Deprecate the financial functions

In accordance with
NEP-32,
the financial functions fv ipmt, irr, mirr, nper, npv,
pmt, ppmt, pv and rate are deprecated, and will be removed from
NumPy 1.20.The replacement for these functions is the Python package
numpy-financial.
(gh-14720)

The axis argument to numpy.ma.mask_cols and numpy.ma.mask_row is deprecated

This argument was always ignored.
(gh-14996)

Expired deprecations

  • PyArray_As1D and PyArray_As2D have been removed in favor of
    PyArray_AsCArray
    (gh-14036)
  • np.rank has been removed. This was deprecated in NumPy 1.10 and
    has been replaced by np.ndim.
    (gh-14039)
  • The deprecation of expand_dims out-of-range axes in 1.13.0 has
    expired. (gh-14051)
  • PyArray_FromDimsAndDataAndDescr and PyArray_FromDims have been
    removed (they will always raise an error). Use
    PyArray_NewFromDescr and PyArray_SimpleNew instead.
    (gh-14100)
  • numeric.loads, numeric.load, np.ma.dump, np.ma.dumps,
    np.ma.load, np.ma.loads are removed, use pickle methods
    instead (gh-14256)
  • arrayprint.FloatFormat, arrayprint.LongFloatFormat has been
    removed, use FloatingFormat instead
  • arrayprint.ComplexFormat, arrayprint.LongComplexFormat has been
    removed, use ComplexFloatingFormat instead
  • arrayprint.StructureFormat has been removed, use
    StructureVoidFormat instead
    (gh-14259)
  • np.testing.rand has been removed. This was deprecated in NumPy
    1.11 and has been replaced by np.random.rand.
    (gh-14325)
  • Class SafeEval in numpy/lib/utils.py has been removed. This was
    deprecated in NumPy 1.10. Use np.safe_eval instead.
    (gh-14335)
  • Remove deprecated support for boolean and empty condition lists in
    np.select (gh-14583)
  • Array order only accepts 'C', 'F', 'A', and 'K'. More
    permissive options were deprecated in NumPy 1.11.
    (gh-14596)
  • np.linspace parameter num must be an integer. Deprecated in NumPy
    1.12. (gh-14620)
  • UFuncs with multiple outputs must use a tuple for the out kwarg.
    This finishes a deprecation started in NumPy 1.10.
    (gh-14682)

The files numpy/testing/decorators.py, numpy/testing/noseclasses.py
and numpy/testing/nosetester.py have been removed. They were never
meant to be public (all relevant objects are present in the
numpy.testing namespace), and importing them has given a deprecation
warning since NumPy 1.15.0
(gh-14567)

Compatibility notes

[numpy.lib.recfunctions.drop_fields]{.title-ref} can no longer return None

If drop_fields is used to drop all fields, previously the array would
be completely discarded and None returned. Now it returns an array of
the same shape as the input, but with no fields. The old behavior can be
retained with:

dropped_arr = drop_fields(arr, ['a', 'b'])
if dropped_arr.dtype.names == ():
    dropped_arr = None

converting the empty recarray to None
(gh-14510)

numpy.argmin/argmax/min/max returns NaT if it exists in array

numpy.argmin, numpy.argmax, numpy.min, and numpy.max will return
NaT if it exists in the array.
(gh-14717)

np.can_cast(np.uint64, np.timedelta64, casting='safe') is now False

Previously this was True - however, this was inconsistent with
uint64 not being safely castable to int64, and resulting in strange
type resolution.

If this impacts your code, cast uint64 to int64 first.
(gh-14718)

Changed random variate stream from numpy.random.Generator.integers

There was a bug in numpy.random.Generator.integers that caused biased
sampling of 8 and 16 bit integer types. Fixing that bug has changed the
output stream from what it was in previous releases.
(gh-14777)

Add more ufunc loops for datetime64, timedelta64

np.datetime('NaT') should behave more like float('Nan'). Add needed
infrastructure so np.isinf(a) and np.isnan(a) will run on
datetime64 and timedelta64 dtypes. Also added specific loops for
numpy.fmin and numpy.fmax that mask NaT. This may require
adjustment to user- facing code. Specifically, code that either
disallowed the calls to numpy.isinf or numpy.isnan or checked that
they raised an exception will require adaptation, and code that
mistakenly called numpy.fmax and numpy.fmin instead of
numpy.maximum or numpy.minimum respectively will requre adjustment.
This also affects numpy.nanmax and numpy.nanmin.
(gh-14841)

C API changes

PyDataType_ISUNSIZED(descr) now returns False for structured datatypes

Previously this returned True for any datatype of itemsize 0, but now
this returns false for the non-flexible datatype with itemsize 0,
np.dtype([]). (gh-14393)

New Features

Add our own *.pxd cython import file

Added a numpy/__init__.pxd file. It will be used for cimport numpy
(gh-12284)

A tuple of axes can now be input to expand_dims

The numpy.expand_dims axis keyword can now accept a tuple of axes.
Previously, axis was required to be an integer.
(gh-14051)

Support for 64-bit OpenBLAS

Added support for 64-bit (ILP64) OpenBLAS. See site.cfg.example for
details. (gh-15012)

Add --f2cmap option to F2PY

Allow specifying a file to load Fortran-to-C type map customizations
from. (gh-15113)

Improvements

Different C numeric types of the same size have unique names

On any given platform, two of np.intc, np.int_, and np.longlong
would previously appear indistinguishable through their repr, despite
their corresponding dtype having different properties. A similar
problem existed for the unsigned counterparts to these types, and on
some platforms for np.double and np.longdouble

These types now always print with a unique __name__.
(gh-10151)

argwhere now produces a consistent result on 0d arrays

On N-d arrays, numpy.argwhere now always produces an array of shape
(n_non_zero, arr.ndim), even when arr.ndim == 0. Previously, the
last axis would have a dimension of 1 in this case.
(gh-13610)

Add axis argument for random.permutation and random.shuffle

Previously the random.permutation and random.shuffle functions can
only shuffle an array along the first axis; they now have a new argument
axis which allows shuffle along a specified axis.
(gh-13829)

method keyword argument for np.random.multivariate_normal

A method keyword argument is now available for
np.random.multivariate_normal with possible values
{'svd', 'eigh', 'cholesky'}. To use it, write
np.random.multivariate_normal(..., method=<method>).
(gh-14197)

Add complex number support for numpy.fromstring

Now numpy.fromstring can read complex numbers.
(gh-14227)

numpy.unique has consistent axes order when axis is not None

Using moveaxis instead of swapaxes in numpy.unique, so that the
ordering of axes except the axis in arguments will not be broken.
(gh-14255)

numpy.matmul with boolean output now converts to boolean values

Calling numpy.matmul where the output is a boolean array would fill
the array with uint8 equivalents of the result, rather than 0/1. Now it
forces the output to 0 or 1 (NPY_TRUE or NPY_FALSE).
(gh-14464)

numpy.random.randint produced incorrect value when the range was 2**32

The implementation introduced in 1.17.0 had an incorrect check when
determining whether to use the 32-bit path or the full 64-bit path that
incorrectly redirected random integer generation with a high - low range
of 2**32 to the 64-bit generator.
(gh-14501)

Add complex number support for numpy.fromfile

Now numpy.fromfile can read complex numbers.
(gh-14730)

std=c99 added if compiler is named gcc

GCC before version 5 requires the -std=c99 command line argument.
Newer compilers automatically turn on C99 mode. The compiler setup code
will automatically add the code if the compiler name has gcc in it.
(gh-14771)

Changes

NaT now sorts to the end of arrays

NaT is now effectively treated as the largest integer for sorting
purposes, so that it sorts to the end of arrays. This change is for
consistency with NaN sorting behavior.
(gh-12658)
(gh-15068)

Incorrect threshold in np.set_printoptions raises TypeError or ValueError

Previously an incorrect threshold raised ValueError; it now raises
TypeError for non-numeric types and ValueError for nan values.
(gh-13899)

Warn when saving a dtype with metadata

A UserWarning will be emitted when saving an array via numpy.save
with metadata. Saving such an array may not preserve metadata, and if
metadata is preserved, loading it will cause a ValueError. This
shortcoming in save and load will be addressed in a future release.
(gh-14142)

numpy.distutils append behavior changed for LDFLAGS and similar

[numpy.distutils]{.title-ref} has always overridden rather than appended
to LDFLAGS and other similar such environment variables for compiling
Fortran extensions. Now the default behavior has changed to appending -
which is the expected behavior in most situations. To preserve the old
(overwriting) behavior, set the NPY_DISTUTILS_APPEND_FLAGS environment
variable to 0. This applies to: LDFLAGS, F77FLAGS, F90FLAGS,
FREEFLAGS, FOPT, FDEBUG, and FFLAGS. NumPy 1.16 and 1.17 gave
build warnings in situations where this change in behavior would have
affected the compile flags used.
(gh-14248)

Remove numpy.random.entropy without a deprecation

numpy.random.entropy was added to the numpy.random namespace in
1.17.0. It was meant to be a private c-extension module, but was exposed
as public. It has been replaced by numpy.random.SeedSequence so the
module was completely removed.
(gh-14498)

Add options to quiet build configuration and build with -Werror

Added two new configuration options. During the build_src subcommand,
as part of configuring NumPy, the files _numpyconfig.h and config.h
are created by probing support for various runtime functions and
routines. Previously, the very verbose compiler output during this stage
clouded more important information. By default the output is silenced.
Running runtests.py --debug-info will add --verbose-cfg to the
build_src subcommand, which will restore the previous behaviour.

Adding CFLAGS=-Werror to turn warnings into errors would trigger
errors during the configuration. Now runtests.py --warn-error will add
--warn-error to the build subcommand, which will percolate to the
build_ext and build_lib subcommands. This will add the compiler flag
to those stages and turn compiler warnings into errors while actually
building NumPy itself, avoiding the build_src subcommand compiler
calls.

(gh-14527)
(gh-14518)

Checksums

MD5

40576031bfba1732ee850a1c576ba096  numpy-1.18.0-cp35-cp35m-macosx_10_6_intel.whl
99dce76e7845e10585001a6892bb5f63  numpy-1.18.0-cp35-cp35m-manylinux1_i686.whl
81e4e422392219e8bc809d9b17c0d0a6  numpy-1.18.0-cp35-cp35m-manylinux1_x86_64.whl
785d52acbbbcdd4967acd6f27e341dc6  numpy-1.18.0-cp35-cp35m-win32.whl
52ab10e952b72c69f492f30dcc03e561  numpy-1.18.0-cp35-cp35m-win_amd64.whl
dc0f8c3b608f17fd1af2ac5dab012683  numpy-1.18.0-cp36-cp36m-macosx_10_9_x86_64.whl
990b9567a5f5322ec0115552be9bd169  numpy-1.18.0-cp36-cp36m-manylinux1_i686.whl
7cdcb013123ae7b44100ca00a98f8ab3  numpy-1.18.0-cp36-cp36m-manylinux1_x86_64.whl
f6b497230df4d8b9a3e80e8e6b896caa  numpy-1.18.0-cp36-cp36m-win32.whl
28de3a14f6fcf1391929f1061590b49d  numpy-1.18.0-cp36-cp36m-win_amd64.whl
d3279da6815745d977f16383d9b8c0d7  numpy-1.18.0-cp37-cp37m-macosx_10_9_x86_64.whl
3eff2e553b4826428790551834f862e9  numpy-1.18.0-cp37-cp37m-manylinux1_i686.whl
f0f7b7e58635dea515f6aa5302bdd924  numpy-1.18.0-cp37-cp37m-manylinux1_x86_64.whl
df8e307782f55f508405b135211dbeb0  numpy-1.18.0-cp37-cp37m-win32.whl
022dd577b0858b146e2d33ed7426cf07  numpy-1.18.0-cp37-cp37m-win_amd64.whl
89bbc272a243cdf5c521fea5efe6b853  numpy-1.18.0-cp38-cp38-macosx_10_9_x86_64.whl
dc6e094c4c7777ac4040e6f945788f60  numpy-1.18.0-cp38-cp38-manylinux1_i686.whl
4cac27e608e6d24a8b2b6b911bd23d6c  numpy-1.18.0-cp38-cp38-manylinux1_x86_64.whl
45a9355fb360d321d90ae55aefb1d206  numpy-1.18.0-cp38-cp38-win32.whl
c86dc59260f42e9cce05a396cbb33f4e  numpy-1.18.0-cp38-cp38-win_amd64.whl
2f607a0e79321b6e4f426307134dbd2c  numpy-1.18.0.tar.gz
3545a7dc22e704461f6ccb604b8da952  numpy-1.18.0.zip

SHA256

b091e5d4cbbe79f0e8b6b6b522346e54a282eadb06e3fd761e9b6fafc2ca91ad  numpy-1.18.0-cp35-cp35m-macosx_10_6_intel.whl
443ab93fc35b31f01db8704681eb2fd82f3a1b2fa08eed2dd0e71f1f57423d4a  numpy-1.18.0-cp35-cp35m-manylinux1_i686.whl
88c5ccbc4cadf39f32193a5ef22e3f84674418a9fd877c63322917ae8f295a56  numpy-1.18.0-cp35-cp35m-manylinux1_x86_64.whl
e1080e37c090534adb2dd7ae1c59ee883e5d8c3e63d2a4d43c20ee348d0459c5  numpy-1.18.0-cp35-cp35m-win32.whl
f084d513de729ff10cd72a1f80db468cff464fedb1ef2fea030221a0f62d7ff4  numpy-1.18.0-cp35-cp35m-win_amd64.whl
1baefd1fb4695e7f2e305467dbd876d765e6edd30c522894df76f8301efaee36  numpy-1.18.0-cp36-cp36m-macosx_10_9_x86_64.whl
cc070fc43a494e42732d6ae2f6621db040611c1dde64762a40c8418023af56d7  numpy-1.18.0-cp36-cp36m-manylinux1_i686.whl
6f8113c8dbfc192b58996ee77333696469ea121d1c44ea429d8fd266e4c6be51  numpy-1.18.0-cp36-cp36m-manylinux1_x86_64.whl
a30f5c3e1b1b5d16ec1f03f4df28e08b8a7529d8c920bbed657f4fde61f1fbcd  numpy-1.18.0-cp36-cp36m-win32.whl
3c68c827689ca0ca713dba598335073ce0966850ec0b30715527dce4ecd84055  numpy-1.18.0-cp36-cp36m-win_amd64.whl
f6a7421da632fc01e8a3ecd19c3f7350258d82501a646747664bae9c6a87c731  numpy-1.18.0-cp37-cp37m-macosx_10_9_x86_64.whl
905cd6fa6ac14654a6a32b21fad34670e97881d832e24a3ca32e19b455edb4a8  numpy-1.18.0-cp37-cp37m-manylinux1_i686.whl
854f6ed4fa91fa6da5d764558804ba5b0f43a51e5fe9fc4fdc93270b052f188a  numpy-1.18.0-cp37-cp37m-manylinux1_x86_64.whl
ac3cf835c334fcc6b74dc4e630f9b5ff7b4c43f7fb2a7813208d95d4e10b5623  numpy-1.18.0-cp37-cp37m-win32.whl
62506e9e4d2a39c87984f081a2651d4282a1d706b1a82fe9d50a559bb58e705a  numpy-1.18.0-cp37-cp37m-win_amd64.whl
9d6de2ad782aae68f7ed0e0e616477fbf693d6d7cc5f0f1505833ff12f84a673  numpy-1.18.0-cp38-cp38-macosx_10_9_x86_64.whl
1c35fb1131362e6090d30286cfda52ddd42e69d3e2bf1fea190a0fad83ea3a18  numpy-1.18.0-cp38-cp38-manylinux1_i686.whl
56710a756c5009af9f35b91a22790701420406d9ac24cf6b652b0e22cfbbb7ff  numpy-1.18.0-cp38-cp38-manylinux1_x86_64.whl
03bbde29ac8fba860bb2c53a1525b3604a9b60417855ac3119d89868ec6041c3  numpy-1.18.0-cp38-cp38-win32.whl
712f0c32555132f4b641b918bdb1fd3c692909ae916a233ce7f50eac2de87e37  numpy-1.18.0-cp38-cp38-win_amd64.whl
e5eaf340489b76eef91352bf48b36e92ace07f6b0f1c87dcd3b5dbada97df03a  numpy-1.18.0.tar.gz
a9d72d9abaf65628f0f31bbb573b7d9304e43b1e6bbae43149c17737a42764c4  numpy-1.18.0.zip
numpy -

Published by charris almost 5 years ago

NumPy NumPy 1.18.0 Release Notes

In addition to the usual bug fixes, this NumPy release cleans up and
documents the new random C-API, expires a large number of old
deprecations, and improves the appearance of the documentation. The
Python versions supported are 3.5-3.8. This is the last NumPy release
series that will support Python 3.5.

Downstream developers should use Cython >= 0.29.14 for Python 3.8
support and OpenBLAS >= 3.7 to avoid problems on the Skylake
architecture.

Highlights

  • The C-API for numpy.random has been defined and documented.
  • Basic infrastructure for linking with 64 bit BLAS and LAPACK
    libraries.
  • Many documentation improvements.

New functions

Multivariate hypergeometric distribution added to numpy.random

The method multivariate_hypergeometric has been added to the class
numpy.random.Generator. This method generates random variates from the
multivariate hypergeometric probability distribution.
(gh-13794 <https://github.com/numpy/numpy/pull/13794>__)

Deprecations

np.fromfile and np.fromstring will error on bad data

In future numpy releases, the functions np.fromfile and
np.fromstring will throw an error when parsing bad data. This will now
give a DeprecationWarning where previously partial or even invalid
data was silently returned. This deprecation also affects the C defined
functions PyArray_FromString and PyArray_FromFile
(gh-13605 <https://github.com/numpy/numpy/pull/13605>__)

Deprecate non-scalar arrays as fill values in ma.fill_value

Setting a MaskedArray.fill_value to a non-scalar array is deprecated
since the logic to broadcast the fill value to the array is fragile,
especially when slicing.
(gh-13698 <https://github.com/numpy/numpy/pull/13698>__)

Deprecate PyArray_As1D, PyArray_As2D

PyArray_As1D, PyArray_As2D are deprecated, use PyArray_AsCArray
instead (gh-14036 <https://github.com/numpy/numpy/pull/14036>__)

Deprecate np.alen

np.alen was deprecated. Use len instead.
(gh-14181 <https://github.com/numpy/numpy/pull/14181>__)

Deprecate the financial functions

In accordance with
NEP-32 <https://numpy.org/neps/nep-0032-remove-financial-functions.html>,
the financial functions fv, ipmt, irr, mirr, nper, npv,
pmt, ppmt, pv and rate are deprecated, and will be removed from
NumPy 1.20.The replacement for these functions is the Python package
numpy-financial <https://pypi.org/project/numpy-financial>*.
(gh-14720 <https://github.com/numpy/numpy/pull/14720>__)

The axis argument to numpy.ma.mask_cols and numpy.ma.mask_row is deprecated

This argument was always ignored.
(gh-14996 <https://github.com/numpy/numpy/pull/14996>__)

Expired deprecations

  • PyArray_As1D and PyArray_As2D have been removed in favor of
    PyArray_AsCArray
    (gh-14036 <https://github.com/numpy/numpy/pull/14036>__)

  • np.rank has been removed. This was deprecated in NumPy 1.10 and
    has been replaced by np.ndim.
    (gh-14039 <https://github.com/numpy/numpy/pull/14039>__)

  • The deprecation of expand_dims out-of-range axes in 1.13.0 has
    expired.
    (gh-14051 <https://github.com/numpy/numpy/pull/14051>__)

  • PyArray_FromDimsAndDataAndDescr and PyArray_FromDims have been
    removed (they will always raise an error). Use
    PyArray_NewFromDescr and PyArray_SimpleNew instead.
    (gh-14100 <https://github.com/numpy/numpy/pull/14100>__)

  • numeric.loads, numeric.load, np.ma.dump, np.ma.dumps,
    np.ma.load, np.ma.loads are removed, use pickle methods
    instead (gh-14256 <https://github.com/numpy/numpy/pull/14256>__)

  • arrayprint.FloatFormat, arrayprint.LongFloatFormat has been
    removed, use FloatingFormat instead

  • arrayprint.ComplexFormat, arrayprint.LongComplexFormat has been
    removed, use ComplexFloatingFormat instead

  • arrayprint.StructureFormat has been removed, use
    StructureVoidFormat instead
    (gh-14259 <https://github.com/numpy/numpy/pull/14259>__)

  • np.testing.rand has been removed. This was deprecated in NumPy
    1.11 and has been replaced by np.random.rand.
    (gh-14325 <https://github.com/numpy/numpy/pull/14325>__)

  • Class SafeEval in numpy/lib/utils.py has been removed. This was
    deprecated in NumPy 1.10. Use np.safe_eval instead.
    (gh-14335 <https://github.com/numpy/numpy/pull/14335>__)

  • Remove deprecated support for boolean and empty condition lists in
    np.select
    (gh-14583 <https://github.com/numpy/numpy/pull/14583>__)

  • Array order only accepts 'C', 'F', 'A', and 'K'. More permissive
    options were deprecated in NumPy 1.11.
    (gh-14596 <https://github.com/numpy/numpy/pull/14596>__)

  • np.linspace parameter num must be an integer. Deprecated in NumPy
    1.12. (gh-14620 <https://github.com/numpy/numpy/pull/14620>__)

  • UFuncs with multiple outputs must use a tuple for the out kwarg.
    This finishes a deprecation started in NumPy 1.10.
    (gh-14682 <https://github.com/numpy/numpy/pull/14682>__)

The files numpy/testing/decorators.py, numpy/testing/noseclasses.py
and numpy/testing/nosetester.py have been removed. They were never
meant to be public (all relevant objects are present in the
numpy.testing namespace), and importing them has given a deprecation
warning since NumPy 1.15.0
(gh-14567 <https://github.com/numpy/numpy/pull/14567>__)

Compatibility notes

numpy.lib.recfunctions.drop_fields can no longer return None

If drop_fields is used to drop all fields, previously the array would
be completely discarded and None returned. Now it returns an array of
the same shape as the input, but with no fields. The old behavior can be
retained with::

dropped_arr = drop_fields(arr, ['a', 'b'])
if dropped_arr.dtype.names == ():
    dropped_arr = None

converting the empty recarray to None
(gh-14510 <https://github.com/numpy/numpy/pull/14510>__)

numpy.argmin/argmax/min/max returns NaT if it exists in array

numpy.argmin, numpy.argmax, numpy.min, and numpy.max will return
NaT if it exists in the array.
(gh-14717 <https://github.com/numpy/numpy/pull/14717>__)

np.can_cast(np.uint64, np.timedelta64, casting='safe') is now False

Previously this was True - however, this was inconsistent with
uint64 not being safely castable to int64, and resulting in strange
type resolution.

If this impacts your code, cast uint64 to int64 first.
(gh-14718 <https://github.com/numpy/numpy/pull/14718>__)

Changed random variate stream from numpy.random.Generator.integers

There was a bug in numpy.random.Generator.integers that caused biased
sampling of 8 and 16 bit integer types. Fixing that bug has changed the
output stream from what it was in previous releases.
(gh-14777 <https://github.com/numpy/numpy/pull/14777>__)

Add more ufunc loops for datetime64, timedelta64

np.datetime('NaT') should behave more like float('Nan'). Add needed
infrastructure so np.isinf(a) and np.isnan(a) will run on
datetime64 and timedelta64 dtypes. Also added specific loops for
numpy.fmin and numpy.fmax that mask NaT. This may require
adjustment to user- facing code. Specifically, code that either
disallowed the calls to numpy.isinf or numpy.isnan or checked that
they raised an exception will require adaptation, and code that
mistakenly called numpy.fmax and numpy.fmin instead of
numpy.maximum or numpy.minimum respectively will requre adjustment.
This also affects numpy.nanmax and numpy.nanmin.
(gh-14841 <https://github.com/numpy/numpy/pull/14841>__)

C API changes

PyDataType_ISUNSIZED(descr) now returns False for structured datatypes

Previously this returned True for any datatype of itemsize 0, but now
this returns false for the non-flexible datatype with itemsize 0,
np.dtype([]).
(gh-14393 <https://github.com/numpy/numpy/pull/14393>__)

New Features

Add our own *.pxd cython import file

Added a numpy/__init__.pxd file. It will be used for cimport numpy
(gh-12284 <https://github.com/numpy/numpy/pull/12284>__)

A tuple of axes can now be input to expand_dims

The numpy.expand_dims axis keyword can now accept a tuple of axes.
Previously, axis was required to be an integer.
(gh-14051 <https://github.com/numpy/numpy/pull/14051>__)

Support for 64-bit OpenBLAS with symbol suffix

Added support for 64-bit (ILP64) OpenBLAS compiled with
make INTERFACE64=1 SYMBOLSUFFIX=64_. See site.cfg.example for
details. (gh-15012 <https://github.com/numpy/numpy/pull/15012>__)

Improvements

Different C numeric types of the same size have unique names

On any given platform, two of np.intc, np.int_, and np.longlong
would previously appear indistinguishable through their repr, despite
their corresponding dtype having different properties. A similar
problem existed for the unsigned counterparts to these types, and on
some platforms for np.double and np.longdouble

These types now always print with a unique __name__.
(gh-10151 <https://github.com/numpy/numpy/pull/10151>__)

argwhere now produces a consistent result on 0d arrays

On N-d arrays, numpy.argwhere now always produces an array of shape
(n_non_zero, arr.ndim), even when arr.ndim == 0. Previously, the
last axis would have a dimension of 1 in this case.
(gh-13610 <https://github.com/numpy/numpy/pull/13610>__)

Add axis argument for random.permutation and random.shuffle

Previously the random.permutation and random.shuffle functions can
only shuffle an array along the first axis; they now have a new argument
axis which allows shuffle along a specified axis.
(gh-13829 <https://github.com/numpy/numpy/pull/13829>__)

method keyword argument for np.random.multivariate_normal

A method keyword argument is now available for
np.random.multivariate_normal with possible values
{'svd', 'eigh', 'cholesky'}. To use it, write
np.random.multivariate_normal(..., method=<method>).
(gh-14197 <https://github.com/numpy/numpy/pull/14197>__)

Add complex number support for numpy.fromstring

Now numpy.fromstring can read complex numbers.
(gh-14227 <https://github.com/numpy/numpy/pull/14227>__)

numpy.unique has consistent axes order when axis is not None

Using moveaxis instead of swapaxes in numpy.unique, so that the
ordering of axes except the axis in arguments will not be broken.
(gh-14255 <https://github.com/numpy/numpy/pull/14255>__)

numpy.matmul with boolean output now converts to boolean values

Calling numpy.matmul where the output is a boolean array would fill
the array with uint8 equivalents of the result, rather than 0/1. Now it
forces the output to 0 or 1 (NPY_TRUE or NPY_FALSE).
(gh-14464 <https://github.com/numpy/numpy/pull/14464>__)

numpy.random.randint produced incorrect value when the range was 2**32

The implementation introduced in 1.17.0 had an incorrect check when
determining whether to use the 32-bit path or the full 64-bit path that
incorrectly redirected random integer generation with a high - low range
of 2**32 to the 64-bit generator.
(gh-14501 <https://github.com/numpy/numpy/pull/14501>__)

Add complex number support for numpy.fromfile

Now numpy.fromfile can read complex numbers.
(gh-14730 <https://github.com/numpy/numpy/pull/14730>__)

std=c99 added if compiler is named gcc

GCC before version 5 requires the -std=c99 command line argument.
Newer compilers automatically turn on C99 mode. The compiler setup code
will automatically add the code if the compiler name has gcc in it.
(gh-14771 <https://github.com/numpy/numpy/pull/14771>__)

Changes

NaT now sorts to the end of arrays

NaT is now effectively treated as the largest integer for sorting
purposes, so that it sorts to the end of arrays. This change is for
consistency with NaN sorting behavior.
(gh-12658 <https://github.com/numpy/numpy/pull/12658>__)

Incorrect threshold in np.set_printoptions raises TypeError or ValueError

Previously an incorrect threshold raised ValueError; it now raises
TypeError for non-numeric types and ValueError for nan values.
(gh-13899 <https://github.com/numpy/numpy/pull/13899>__)

Warn when saving a dtype with metadata

A UserWarning will be emitted when saving an array via numpy.save
with metadata. Saving such an array may not preserve metadata, and if
metadata is preserved, loading it will cause a ValueError. This
shortcoming in save and load will be addressed in a future release.
(gh-14142 <https://github.com/numpy/numpy/pull/14142>__)

numpy.distutils append behavior changed for LDFLAGS and similar

numpy.distutils has always overridden rather than appended to
LDFLAGS and other similar such environment variables for compiling
Fortran extensions. Now the default behavior has changed to appending -
which is the expected behavior in most situations. To preserve the old
(overwriting) behavior, set the NPY_DISTUTILS_APPEND_FLAGS environment
variable to 0. This applies to: LDFLAGS, F77FLAGS, F90FLAGS,
FREEFLAGS, FOPT, FDEBUG, and FFLAGS. NumPy 1.16 and 1.17 gave
build warnings in situations where this change in behavior would have
affected the compile flags used.
(gh-14248 <https://github.com/numpy/numpy/pull/14248>__)

Remove numpy.random.entropy without a deprecation

numpy.random.entropy was added to the numpy.random namespace in
1.17.0. It was meant to be a private c-extension module, but was exposed
as public. It has been replaced by numpy.random.SeedSequence so the
module was completely removed.
(gh-14498 <https://github.com/numpy/numpy/pull/14498>__)

Add options to quiet build configuration and build with -Werror

Added two new configuration options. During the build_src subcommand,
as part of configuring NumPy, the files _numpyconfig.h and config.h
are created by probing support for various runtime functions and
routines. Previously, the very verbose compiler output during this stage
clouded more important information. By default the output is silenced.
Running runtests.py --debug-info will add --verbose-cfg to the
build_src subcommand, which will restore the previous behaviour.

Adding CFLAGS=-Werror to turn warnings into errors would trigger
errors during the configuration. Now runtests.py --warn-error will add
--warn-error to the build subcommand, which will percolate to the
build_ext and build_lib subcommands. This will add the compiler flag
to those stages and turn compiler warnings into errors while actually
building NumPy itself, avoiding the build_src subcommand compiler
calls.

(gh-14527 <https://github.com/numpy/numpy/pull/14527>)
(gh-14518 <https://github.com/numpy/numpy/pull/14518>
)

Checksums

MD5

2255387d9bc4c626b30b4b15d41360aa  numpy-1.18.0rc1-cp35-cp35m-macosx_10_6_intel.whl
cebfd1b532cd5a0c389a12e0e9b9fc59  numpy-1.18.0rc1-cp35-cp35m-manylinux1_i686.whl
837c58136102cfa1689e3ce6092a3fe9  numpy-1.18.0rc1-cp35-cp35m-manylinux1_x86_64.whl
6dec034185665cb0968da09d1193da97  numpy-1.18.0rc1-cp35-cp35m-win32.whl
d551b3da446160c3a76329916d4544d2  numpy-1.18.0rc1-cp35-cp35m-win_amd64.whl
d39fad23c70d9e088328f51f989ceffe  numpy-1.18.0rc1-cp36-cp36m-macosx_10_9_x86_64.whl
8b0ed4cdf265428bdaf3e8619c18754a  numpy-1.18.0rc1-cp36-cp36m-manylinux1_i686.whl
aaa92422da55cb6e3136f89860239975  numpy-1.18.0rc1-cp36-cp36m-manylinux1_x86_64.whl
2406854f74f825d95a95a671034eef3b  numpy-1.18.0rc1-cp36-cp36m-win32.whl
f706077e4d9ef783c43eb11dabc08e1e  numpy-1.18.0rc1-cp36-cp36m-win_amd64.whl
caaa53c0e5c8c1fac3af572b98569c0c  numpy-1.18.0rc1-cp37-cp37m-macosx_10_9_x86_64.whl
b1c2decd9ac8c6acb5c0b75372c5bbe9  numpy-1.18.0rc1-cp37-cp37m-manylinux1_i686.whl
575f399026a997e9af2c2108c1542b7f  numpy-1.18.0rc1-cp37-cp37m-manylinux1_x86_64.whl
4d4bc961757251346c31dd6412961946  numpy-1.18.0rc1-cp37-cp37m-win32.whl
df6cede6ee4d4f75e739771ae27920bb  numpy-1.18.0rc1-cp37-cp37m-win_amd64.whl
eea97481a22b8ec1b486fe8dfcc4bbe4  numpy-1.18.0rc1-cp38-cp38-macosx_10_9_x86_64.whl
a7ecc50638b65934388803e0c16e01ab  numpy-1.18.0rc1-cp38-cp38-manylinux1_i686.whl
9626634ff55aba4c1f7726a969ef4e76  numpy-1.18.0rc1-cp38-cp38-manylinux1_x86_64.whl
4e6e1f36860da4b1f5cbe9874b71c6fc  numpy-1.18.0rc1-cp38-cp38-win32.whl
a75c35b50e1c39428ff42f6291337487  numpy-1.18.0rc1-cp38-cp38-win_amd64.whl
076bed609ce25b400c3fa028d67a0b63  numpy-1.18.0rc1.tar.gz
2708c1b940227b917c088ad3b79183bf  numpy-1.18.0rc1.zip

SHA256

76d92b0b86227c6dbc3f9030b8b865f41ae04f73daa161e4e3c5566e03d6ed41  numpy-1.18.0rc1-cp35-cp35m-macosx_10_6_intel.whl
c9e73aa60166609c80f4285af8ba8b9b79e5a935df6927a174637c7c08fa8e67  numpy-1.18.0rc1-cp35-cp35m-manylinux1_i686.whl
2bc9c62dfc893626cdd50dce30f597f387c4aca11cd2cdffe3e7e06a4fe19ee6  numpy-1.18.0rc1-cp35-cp35m-manylinux1_x86_64.whl
73abd855401b9da6efb67490f4dd82226cf95f47d66b8dc9ebe4df523baaaeb2  numpy-1.18.0rc1-cp35-cp35m-win32.whl
c207646355d1d04c054d781ddcd100bbd5afc69f75f8a7623317b9db41a2015f  numpy-1.18.0rc1-cp35-cp35m-win_amd64.whl
f676739da486d1c7de2d9450dafca6dee04f4d3e881b8761b795865ef1872eaf  numpy-1.18.0rc1-cp36-cp36m-macosx_10_9_x86_64.whl
787781333c1d69c7c23ccd85165cca732a5f3fd9d997b8ee40829b7c0c38db86  numpy-1.18.0rc1-cp36-cp36m-manylinux1_i686.whl
e9907b5ea505dcd2cfaeb6ab08f241047ba651611f3974c9d624a7c5066ab3a6  numpy-1.18.0rc1-cp36-cp36m-manylinux1_x86_64.whl
78ca6befab03c682bcb013241801e3b750e9de9b60664e9839e5b2098b5580ee  numpy-1.18.0rc1-cp36-cp36m-win32.whl
e89027b24027dade03929bc17adee23feec1f6f707f4ea366c5d5a342d4d81a1  numpy-1.18.0rc1-cp36-cp36m-win_amd64.whl
70319f4d4e0a0c94e04922aaaf8c9aca72d38b61cc69e338fb872e9ff27d94a2  numpy-1.18.0rc1-cp37-cp37m-macosx_10_9_x86_64.whl
4c51a496ec1ce170f2b5eb458c0441affc5b1fd1d7272cf322b443c90c69983a  numpy-1.18.0rc1-cp37-cp37m-manylinux1_i686.whl
3701ddb007a0549c12b26e90c82d520b9c4acf801705b9334654ade2a9550b75  numpy-1.18.0rc1-cp37-cp37m-manylinux1_x86_64.whl
cbd2e1c1fb61b17eca745d7f9f6d684fd7f7817bef6454890eb6fa3e1cd4905a  numpy-1.18.0rc1-cp37-cp37m-win32.whl
d7b16541a6e970d402587ff2f1cbd85753c8d982a0d5894991505fea9b81a52b  numpy-1.18.0rc1-cp37-cp37m-win_amd64.whl
6beebdc222e214bbbafab8f089a65821cff6cad25b349eabb653490dc25342fd  numpy-1.18.0rc1-cp38-cp38-macosx_10_9_x86_64.whl
fa8851d10af0739adcae54acf5706953e2e45752f4a550006f6f3aff92335566  numpy-1.18.0rc1-cp38-cp38-manylinux1_i686.whl
a8081de993fd47b9cb7376935bb1781118fd2c473a0e834601e28229275f78d6  numpy-1.18.0rc1-cp38-cp38-manylinux1_x86_64.whl
c9474a8fe03ca958e6fafefee13d6b4a45ea4ed7e35261abf61899c0f599a118  numpy-1.18.0rc1-cp38-cp38-win32.whl
9b369822f7681bc36b6ba624bc8ea0a1a456a9f72b324070d89ee2856cba62be  numpy-1.18.0rc1-cp38-cp38-win_amd64.whl
3e9b05aa444adbd2511e5646541cf3aa64ef7aa923d48350aa8db8099a0a3800  numpy-1.18.0rc1.tar.gz
7b0b915190cf60e691c17147f5d955e273d4c482b795a7bb168ad4a2fe2fb180  numpy-1.18.0rc1.zip
numpy -

Published by charris almost 5 years ago

NumPy 1.17.4 Release Notes

This release contains fixes for bugs reported against NumPy 1.17.3 along with
some build improvements. The Python versions supported in this release
are 3.5-3.8.

Downstream developers should use Cython >= 0.29.13 for Python 3.8 support and
OpenBLAS >= 3.7 to avoid errors on the Skylake architecture.

Highlights

  • Fixed np.random.random_integers biased generation of 8 and 16 bit integers.
  • Fixed np.einsum regression on Power9 and z/Linux.
  • Fixed histogram problem with signed integer arrays.

Contributors

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

  • Charles Harris
  • Chris Burr +
  • Matti Picus
  • Qiming Sun +
  • Warren Weckesser

Pull requests merged

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

  • #14758: BLD: declare support for python 3.8
  • #14781: BUG: random: biased samples from integers() with 8 or 16 bit...
  • #14851: BUG: Fix _ctypes class circular reference. (#13808)
  • #14852: BLD: add 'apt update' to shippable
  • #14855: BUG: Fix np.einsum errors on Power9 Linux and z/Linux
  • #14857: BUG: lib: Fix histogram problem with signed integer arrays.
  • #14858: BLD: Prevent -flto from optimising long double representation...
  • #14866: MAINT: move buffer.h -> npy_buffer.h to avoid conflicts

Checksums

MD5

1d5b9a989a22e2c5d0774d9a8e19f3db  numpy-1.17.4-cp35-cp35m-macosx_10_6_intel.whl
3b3fc8a8db5a026349b3ead44e755bc5  numpy-1.17.4-cp35-cp35m-manylinux1_i686.whl
bfcafd2994423e9ed8337eb4a10cc885  numpy-1.17.4-cp35-cp35m-manylinux1_x86_64.whl
8196de4edb9f37578acab2749e2af61c  numpy-1.17.4-cp35-cp35m-win32.whl
71292c5b45feec7cae81a1fc6272b0e0  numpy-1.17.4-cp35-cp35m-win_amd64.whl
39cfbfdf236a20f9901b918b39e20e54  numpy-1.17.4-cp36-cp36m-macosx_10_9_x86_64.whl
8cff96c6bc944b44b7232d72244e0838  numpy-1.17.4-cp36-cp36m-manylinux1_i686.whl
d62a4e3880432bb8deec3a51bcc8a30e  numpy-1.17.4-cp36-cp36m-manylinux1_x86_64.whl
aaa948d1ef36659450791229a966ed19  numpy-1.17.4-cp36-cp36m-win32.whl
e4482c52d63ab698d2e81ad71903b64b  numpy-1.17.4-cp36-cp36m-win_amd64.whl
4fadb49558c6089d8f8f32d775de91ae  numpy-1.17.4-cp37-cp37m-macosx_10_9_x86_64.whl
2e3a09d2aefd90856600c821db49cf99  numpy-1.17.4-cp37-cp37m-manylinux1_i686.whl
2f0527f8eedcb2b3d83912dd254356f9  numpy-1.17.4-cp37-cp37m-manylinux1_x86_64.whl
aded41f748a1dc3f71924200c3fe1bc0  numpy-1.17.4-cp37-cp37m-win32.whl
34a187a48ceb4378ac28c6951d7f8dd6  numpy-1.17.4-cp37-cp37m-win_amd64.whl
f5da7b0b94eacde2898654cfc25e8e78  numpy-1.17.4-cp38-cp38-macosx_10_9_x86_64.whl
08f4a5d6ea64c3f1f22ff9e4da4b55dd  numpy-1.17.4-cp38-cp38-manylinux1_i686.whl
bafe3eb23ae8cb6f062e55c7aab52a98  numpy-1.17.4-cp38-cp38-manylinux1_x86_64.whl
0f1add30eb00bf40e5456e8ab10b5342  numpy-1.17.4-cp38-cp38-win32.whl
11649cda484b4d0d4426c3dab2c8ed5f  numpy-1.17.4-cp38-cp38-win_amd64.whl
9147c3ee75e58d657b5b8b5a4f3564e0  numpy-1.17.4.tar.gz
d7d3563cca0b99ba68a3f064a9e46ebe  numpy-1.17.4.zip

SHA256

ede47b98de79565fcd7f2decb475e2dcc85ee4097743e551fe26cfc7eb3ff143  numpy-1.17.4-cp35-cp35m-macosx_10_6_intel.whl
43bb4b70585f1c2d153e45323a886839f98af8bfa810f7014b20be714c37c447  numpy-1.17.4-cp35-cp35m-manylinux1_i686.whl
c7354e8f0eca5c110b7e978034cd86ed98a7a5ffcf69ca97535445a595e07b8e  numpy-1.17.4-cp35-cp35m-manylinux1_x86_64.whl
64874913367f18eb3013b16123c9fed113962e75d809fca5b78ebfbb73ed93ba  numpy-1.17.4-cp35-cp35m-win32.whl
6ca4000c4a6f95a78c33c7dadbb9495c10880be9c89316aa536eac359ab820ae  numpy-1.17.4-cp35-cp35m-win_amd64.whl
75fd817b7061f6378e4659dd792c84c0b60533e867f83e0d1e52d5d8e53df88c  numpy-1.17.4-cp36-cp36m-macosx_10_9_x86_64.whl
7d81d784bdbed30137aca242ab307f3e65c8d93f4c7b7d8f322110b2e90177f9  numpy-1.17.4-cp36-cp36m-manylinux1_i686.whl
fe39f5fd4103ec4ca3cb8600b19216cd1ff316b4990f4c0b6057ad982c0a34d5  numpy-1.17.4-cp36-cp36m-manylinux1_x86_64.whl
e467c57121fe1b78a8f68dd9255fbb3bb3f4f7547c6b9e109f31d14569f490c3  numpy-1.17.4-cp36-cp36m-win32.whl
8d0af8d3664f142414fd5b15cabfd3b6cc3ef242a3c7a7493257025be5a6955f  numpy-1.17.4-cp36-cp36m-win_amd64.whl
9679831005fb16c6df3dd35d17aa31dc0d4d7573d84f0b44cc481490a65c7725  numpy-1.17.4-cp37-cp37m-macosx_10_9_x86_64.whl
acbf5c52db4adb366c064d0b7c7899e3e778d89db585feadd23b06b587d64761  numpy-1.17.4-cp37-cp37m-manylinux1_i686.whl
3d52298d0be333583739f1aec9026f3b09fdfe3ddf7c7028cb16d9d2af1cca7e  numpy-1.17.4-cp37-cp37m-manylinux1_x86_64.whl
475963c5b9e116c38ad7347e154e5651d05a2286d86455671f5b1eebba5feb76  numpy-1.17.4-cp37-cp37m-win32.whl
0c0763787133dfeec19904c22c7e358b231c87ba3206b211652f8cbe1241deb6  numpy-1.17.4-cp37-cp37m-win_amd64.whl
683828e50c339fc9e68720396f2de14253992c495fdddef77a1e17de55f1decc  numpy-1.17.4-cp38-cp38-macosx_10_9_x86_64.whl
e2e9d8c87120ba2c591f60e32736b82b67f72c37ba88a4c23c81b5b8fa49c018  numpy-1.17.4-cp38-cp38-manylinux1_i686.whl
a8f67ebfae9f575d85fa859b54d3bdecaeece74e3274b0b5c5f804d7ca789fe1  numpy-1.17.4-cp38-cp38-manylinux1_x86_64.whl
0a7a1dd123aecc9f0076934288ceed7fd9a81ba3919f11a855a7887cbe82a02f  numpy-1.17.4-cp38-cp38-win32.whl
ada4805ed51f5bcaa3a06d3dd94939351869c095e30a2b54264f5a5004b52170  numpy-1.17.4-cp38-cp38-win_amd64.whl
fb0415475e673cb9a6dd816df999e0ab9f86fa3af2b1770944e7288d2bea4ac9  numpy-1.17.4.tar.gz
f58913e9227400f1395c7b800503ebfdb0772f1c33ff8cb4d6451c06cabdf316  numpy-1.17.4.zip
numpy -

Published by charris about 5 years ago

NumPy 1.17.3 Release Notes

This release contains fixes for bugs reported against NumPy 1.17.2 along with a
some documentation improvements. The Python versions supported in this release
are 3.5-3.8.

Downstream developers should use Cython >= 0.29.13 for Python 3.8 support and
OpenBLAS >= 3.7 to avoid errors on the Skylake architecture.

Highlights

  • Wheels for Python 3.8
  • Boolean matmul fixed to use booleans instead of integers.

Compatibility notes

  • The seldom used PyArray_DescrCheck macro has been changed/fixed.

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
  • Kevin Sheppard
  • Matti Picus
  • Ralf Gommers
  • Sebastian Berg
  • Warren Weckesser

Pull requests merged

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

  • #14456: MAINT: clean up pocketfft modules inside numpy.fft namespace.
  • #14463: BUG: random.hypergeometic assumes npy_long is npy_int64, hung...
  • #14502: BUG: random: Revert gh-14458 and refix gh-14557.
  • #14504: BUG: add a specialized loop for boolean matmul.
  • #14506: MAINT: Update pytest version for Python 3.8
  • #14512: DOC: random: fix doc linking, was referencing private submodules.
  • #14513: BUG,MAINT: Some fixes and minor cleanup based on clang analysis
  • #14515: BUG: Fix randint when range is 2**32
  • #14519: MAINT: remove the entropy c-extension module
  • #14563: DOC: remove note about Pocketfft license file (non-existing here).
  • #14578: BUG: random: Create a legacy implementation of random.binomial.
  • #14687: BUG: properly define PyArray_DescrCheck

Checksums

MD5

7e96dd5ca587fa647d21628072f08751  numpy-1.17.3-cp35-cp35m-macosx_10_6_intel.whl
f5fd3a434d9e426c9f01ca5669e84973  numpy-1.17.3-cp35-cp35m-manylinux1_i686.whl
d4520794f05e6466a1064e046b4ade2c  numpy-1.17.3-cp35-cp35m-manylinux1_x86_64.whl
67967e337b8378c92af9c2b6926b6dcd  numpy-1.17.3-cp35-cp35m-win32.whl
341b29b85c5305edd3f5ca9d9981f1b4  numpy-1.17.3-cp35-cp35m-win_amd64.whl
7d9492ee0fbe8292518af104772bcee0  numpy-1.17.3-cp36-cp36m-macosx_10_9_x86_64.whl
b0f1a9b0da552e2baa2e6db4668efee8  numpy-1.17.3-cp36-cp36m-manylinux1_i686.whl
8b9c50124ae13279e9969fc0cf3b5e5f  numpy-1.17.3-cp36-cp36m-manylinux1_x86_64.whl
428766619877efec34ba224d9252396c  numpy-1.17.3-cp36-cp36m-win32.whl
a2fd25bf087e7765a4322ef3fa7f87b6  numpy-1.17.3-cp36-cp36m-win_amd64.whl
98eb0ec4fe00f9f3309f2e523e76e36e  numpy-1.17.3-cp37-cp37m-macosx_10_9_x86_64.whl
415f086791be02d658a2800fa25874e4  numpy-1.17.3-cp37-cp37m-manylinux1_i686.whl
3f5fd3e63dc84db7dd3745b007faea46  numpy-1.17.3-cp37-cp37m-manylinux1_x86_64.whl
3f7ba813f7318d9671da66c610ab1e91  numpy-1.17.3-cp37-cp37m-win32.whl
deb55760769373ad1da9844df8b9c865  numpy-1.17.3-cp37-cp37m-win_amd64.whl
964b1cdad1cf20c63461246fe0638956  numpy-1.17.3-cp38-cp38-macosx_10_9_x86_64.whl
ece34643fc0c42801a8d3a53708f09ed  numpy-1.17.3-cp38-cp38-manylinux1_i686.whl
081fd68219088577857ebd265e963d1e  numpy-1.17.3-cp38-cp38-manylinux1_x86_64.whl
a231efeb2cfe69cf94764ccecba73d50  numpy-1.17.3-cp38-cp38-win32.whl
1c548f96188826e6999d3ba3fde99cf9  numpy-1.17.3-cp38-cp38-win_amd64.whl
48d6d97d6037eb8e171064a850b53aab  numpy-1.17.3.tar.gz
a3195ccbbd97b0366f0c46e36a62717a  numpy-1.17.3.zip

SHA256

4dd830a11e8724c9c9379feed1d1be43113f8bcce55f47ea7186d3946769ce26  numpy-1.17.3-cp35-cp35m-macosx_10_6_intel.whl
30c84e3a62cfcb9e3066f25226e131451312a044f1fe2040e69ce792cb7de418  numpy-1.17.3-cp35-cp35m-manylinux1_i686.whl
9395b0a41e8b7e9a284e3be7060db9d14ad80273841c952c83a5afc241d2bd98  numpy-1.17.3-cp35-cp35m-manylinux1_x86_64.whl
9e37c35fc4e9410093b04a77d11a34c64bf658565e30df7cbe882056088a91c1  numpy-1.17.3-cp35-cp35m-win32.whl
de2b1c20494bdf47f0160bd88ed05f5e48ae5dc336b8de7cfade71abcc95c0b9  numpy-1.17.3-cp35-cp35m-win_amd64.whl
669795516d62f38845c7033679c648903200980d68935baaa17ac5c7ae03ae0c  numpy-1.17.3-cp36-cp36m-macosx_10_9_x86_64.whl
4650d94bb9c947151737ee022b934b7d9a845a7c76e476f3e460f09a0c8c6f39  numpy-1.17.3-cp36-cp36m-manylinux1_i686.whl
4f2a2b279efde194877aff1f76cf61c68e840db242a5c7169f1ff0fd59a2b1e2  numpy-1.17.3-cp36-cp36m-manylinux1_x86_64.whl
ffca69e29079f7880c5392bf675eb8b4146479d976ae1924d01cd92b04cccbcc  numpy-1.17.3-cp36-cp36m-win32.whl
2e418f0a59473dac424f888dd57e85f77502a593b207809211c76e5396ae4f5c  numpy-1.17.3-cp36-cp36m-win_amd64.whl
75fcd60d682db3e1f8fbe2b8b0c6761937ad56d01c1dc73edf4ef2748d5b6bc4  numpy-1.17.3-cp37-cp37m-macosx_10_9_x86_64.whl
28b1180c758abf34a5c3fea76fcee66a87def1656724c42bb14a6f9717a5bdf7  numpy-1.17.3-cp37-cp37m-manylinux1_i686.whl
dd0667f5be56fb1b570154c2c0516a528e02d50da121bbbb2cbb0b6f87f59bc2  numpy-1.17.3-cp37-cp37m-manylinux1_x86_64.whl
25ffe71f96878e1da7e014467e19e7db90ae7d4e12affbc73101bcf61785214e  numpy-1.17.3-cp37-cp37m-win32.whl
0b0dd8f47fb177d00fa6ef2d58783c4f41ad3126b139c91dd2f7c4b3fdf5e9a5  numpy-1.17.3-cp37-cp37m-win_amd64.whl
62d22566b3e3428dfc9ec972014c38ed9a4db4f8969c78f5414012ccd80a149e  numpy-1.17.3-cp38-cp38-macosx_10_9_x86_64.whl
26efd7f7d755e6ca966a5c0ac5a930a87dbbaab1c51716ac26a38f42ecc9bc4b  numpy-1.17.3-cp38-cp38-manylinux1_i686.whl
b46554ad4dafb2927f88de5a1d207398c5385edbb5c84d30b3ef187c4a3894d8  numpy-1.17.3-cp38-cp38-manylinux1_x86_64.whl
c867eeccd934920a800f65c6068acdd6b87e80d45cd8c8beefff783b23cdc462  numpy-1.17.3-cp38-cp38-win32.whl
f1df7b2b7740dd777571c732f98adb5aad5450aee32772f1b39249c8a50386f6  numpy-1.17.3-cp38-cp38-win_amd64.whl
c93733dbebc2599d2747ceac4b18825a73767d289176ed8e02090325656d69aa  numpy-1.17.3.tar.gz
a0678793096205a4d784bd99f32803ba8100f639cf3b932dc63b21621390ea7e  numpy-1.17.3.zip
numpy -

Published by charris about 5 years ago

NumPy 1.17.2 Release Notes

This release contains fixes for bugs reported against NumPy 1.17.1 along with a
some documentation improvements. The most important fix is for lexsort when the
keys are of type (u)int8 or (u)int16. If you are currently using 1.17 you
should upgrade.

The Python versions supported in this release are 3.5-3.7, Python 2.7 has been
dropped. Python 3.8b4 should work with the released source packages, but there
are no future guarantees.

Downstream developers should use Cython >= 0.29.13 for Python 3.8 support and
OpenBLAS >= 3.7 to avoid errors on the Skylake architecture. The NumPy wheels
on PyPI are built from the OpenBLAS development branch in order to avoid those
errors.

Contributors

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

  • CakeWithSteak +
  • Charles Harris
  • Dan Allan
  • Hameer Abbasi
  • Lars Grueter
  • Matti Picus
  • Sebastian Berg

Pull requests merged

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

  • #14418: BUG: Fix aradixsort indirect indexing.
  • #14420: DOC: Fix a minor typo in dispatch documentation.
  • #14421: BUG: test, fix regression in converting to ctypes
  • #14430: BUG: Do not show Override module in private error classes.
  • #14432: BUG: Fixed maximum relative error reporting in assert_allclose.
  • #14433: BUG: Fix uint-overflow if padding with linear_ramp and negative...
  • #14436: BUG: Update 1.17.x with 1.18.0-dev pocketfft.py.
  • #14446: REL: Prepare for NumPy 1.17.2 release.

Checksums

MD5

900786591ffe811ff9ff8b3fcf9e3ff9  numpy-1.17.2-cp35-cp35m-macosx_10_6_intel.whl
307df8c629637865205276f0e48cbe53  numpy-1.17.2-cp35-cp35m-manylinux1_i686.whl
279b286a569bacba85dfe44d86ed9767  numpy-1.17.2-cp35-cp35m-manylinux1_x86_64.whl
0bc93e932b32408cceb5579f074e30a9  numpy-1.17.2-cp35-cp35m-win32.whl
b963be3cae47b66b2c8b433d34cb93d1  numpy-1.17.2-cp35-cp35m-win_amd64.whl
3eed381285a43bd23d7c568c6c165ec9  numpy-1.17.2-cp36-cp36m-macosx_10_6_intel.whl
0a6d7616b5ed35d65a58c6a61256afb0  numpy-1.17.2-cp36-cp36m-manylinux1_i686.whl
5b5a2f0bc6f01c1ae2c831fbfd8c8b06  numpy-1.17.2-cp36-cp36m-manylinux1_x86_64.whl
8f166ccebf19a8c9c6ac00c8d93ba566  numpy-1.17.2-cp36-cp36m-win32.whl
406fc90887f6af60f2edf229b2cfb2cf  numpy-1.17.2-cp36-cp36m-win_amd64.whl
a82da3fd77787c73cae9057f63e3b666  numpy-1.17.2-cp37-cp37m-macosx_10_6_intel.whl
1f9b449eca275014f133872cdddf166d  numpy-1.17.2-cp37-cp37m-manylinux1_i686.whl
1de9df1e07a1f2becc7925b0861d1b2d  numpy-1.17.2-cp37-cp37m-manylinux1_x86_64.whl
0ae4a060c7353723c340aaf0fc655220  numpy-1.17.2-cp37-cp37m-win32.whl
a7a026ef5c54dbc295e134d04367514e  numpy-1.17.2-cp37-cp37m-win_amd64.whl
68d582e09b951717b7ae1e9c0011d779  numpy-1.17.2.tar.gz
a0fffd7651e6ed4c60d94394ca6662cd  numpy-1.17.2.zip

SHA256

3d0b0989dd2d066db006158de7220802899a1e5c8cf622abe2d0bd158fd01c2c  numpy-1.17.2-cp35-cp35m-macosx_10_6_intel.whl
7bd355ad7496f4ce1d235e9814ec81ee3d28308d591c067ce92e49f745ba2c2f  numpy-1.17.2-cp35-cp35m-manylinux1_i686.whl
7d077f2976b8f3de08a0dcf5d72083f4af5411e8fddacd662aae27baa2601196  numpy-1.17.2-cp35-cp35m-manylinux1_x86_64.whl
05dbfe72684cc14b92568de1bc1f41e5f62b00f714afc9adee42f6311738091f  numpy-1.17.2-cp35-cp35m-win32.whl
f4a4f6aba148858a5a5d546a99280f71f5ee6ec8182a7d195af1a914195b21a2  numpy-1.17.2-cp35-cp35m-win_amd64.whl
ee8e9d7cad5fe6dde50ede0d2e978d81eafeaa6233fb0b8719f60214cf226578  numpy-1.17.2-cp36-cp36m-macosx_10_6_intel.whl
438a3f0e7b681642898fd7993d38e2bf140a2d1eafaf3e89bb626db7f50db355  numpy-1.17.2-cp36-cp36m-manylinux1_i686.whl
b458de8624c9f6034af492372eb2fee41a8e605f03f4732f43fc099e227858b2  numpy-1.17.2-cp36-cp36m-manylinux1_x86_64.whl
0d82cb7271a577529d07bbb05cb58675f2deb09772175fab96dc8de025d8ac05  numpy-1.17.2-cp36-cp36m-win32.whl
12322df2e21f033a60c80319c25011194cd2a21294cc66fee0908aeae2c27832  numpy-1.17.2-cp36-cp36m-win_amd64.whl
e70fc8ff03a961f13363c2c95ef8285e0cf6a720f8271836f852cc0fa64e97c8  numpy-1.17.2-cp37-cp37m-macosx_10_6_intel.whl
a4092682778dc48093e8bda8d26ee8360153e2047826f95a3f5eae09f0ae3abf  numpy-1.17.2-cp37-cp37m-manylinux1_i686.whl
10132aa1fef99adc85a905d82e8497a580f83739837d7cbd234649f2e9b9dc58  numpy-1.17.2-cp37-cp37m-manylinux1_x86_64.whl
16f19b3aa775dddc9814e02a46b8e6ae6a54ed8cf143962b4e53f0471dbd7b16  numpy-1.17.2-cp37-cp37m-win32.whl
5fd214f482ab53f2cea57414c5fb3e58895b17df6e6f5bca5be6a0bb6aea23bb  numpy-1.17.2-cp37-cp37m-win_amd64.whl
81a4f748dcfa80a7071ad8f3d9f8edb9f8bc1f0a9bdd19bfd44fd42c02bd286c  numpy-1.17.2.tar.gz
73615d3edc84dd7c4aeb212fa3748fb83217e00d201875a47327f55363cef2df  numpy-1.17.2.zip
numpy -

Published by charris about 5 years ago

NumPy 1.16.5 Release Notes

The NumPy 1.16.5 release fixes bugs reported against the 1.16.4 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.7-dev, which should fix errors on Skylake series
cpus.

Downstream developers building this release should use Cython >= 0.29.2 and, if
using OpenBLAS, OpenBLAS >= v0.3.7. The supported Python versions are 2.7 and
3.5-3.7.

Contributors

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

  • Alexander Shadchin
  • Allan Haldane
  • Bruce Merry +
  • Charles Harris
  • Colin Snyder +
  • Dan Allan +
  • Emile +
  • Eric Wieser
  • Grey Baker +
  • Maksim Shabunin +
  • Marten van Kerkwijk
  • Matti Picus
  • Peter Andreas Entschev +
  • Ralf Gommers
  • Richard Harris +
  • Sebastian Berg
  • Sergei Lebedev +
  • Stephan Hoyer

Pull requests merged

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

  • #13742: ENH: Add project URLs to setup.py
  • #13823: TEST, ENH: fix tests and ctypes code for PyPy
  • #13845: BUG: use npy_intp instead of int for indexing array
  • #13867: TST: Ignore DeprecationWarning during nose imports
  • #13905: BUG: Fix use-after-free in boolean indexing
  • #13933: MAINT/BUG/DOC: Fix errors in _add_newdocs
  • #13984: BUG: fix byte order reversal for datetime64[ns]
  • #13994: MAINT,BUG: Use nbytes to also catch empty descr during allocation
  • #14042: BUG: np.array cleared errors occured in PyMemoryView_FromObject
  • #14043: BUG: Fixes for Undefined Behavior Sanitizer (UBSan) errors.
  • #14044: BUG: ensure that casting to/from structured is properly checked.
  • #14045: MAINT: fix histogram*d dispatchers
  • #14046: BUG: further fixup to histogram2d dispatcher.
  • #14052: BUG: Replace contextlib.suppress for Python 2.7
  • #14056: BUG: fix compilation of 3rd party modules with Py_LIMITED_API...
  • #14057: BUG: Fix memory leak in dtype from dict contructor
  • #14058: DOC: Document array_function at a higher level.
  • #14084: BUG, DOC: add new recfunctions to __all__
  • #14162: BUG: Remove stray print that causes a SystemError on python 3.7
  • #14297: TST: Pin pytest version to 5.0.1.
  • #14322: ENH: Enable huge pages in all Linux builds
  • #14346: BUG: fix behavior of structured_to_unstructured on non-trivial...
  • #14382: REL: Prepare for the NumPy 1.16.5 release.

Checksums

MD5

cf7ff97464eb044cb49618be5fe29aee  numpy-1.16.5-cp27-cp27m-macosx_10_9_x86_64.whl
6fbf51644f8722fa90276c04fe3d031f  numpy-1.16.5-cp27-cp27m-manylinux1_i686.whl
df4ab8600495131e44ad1b173f6cc9fc  numpy-1.16.5-cp27-cp27m-manylinux1_x86_64.whl
2f6fd50a02da9d56e3d950a6b738337e  numpy-1.16.5-cp27-cp27m-win32.whl
d36b67522ee102b7865a83b26a1d97aa  numpy-1.16.5-cp27-cp27m-win_amd64.whl
5b4f83c092257f6c98bedd44505e7b6d  numpy-1.16.5-cp27-cp27mu-manylinux1_i686.whl
d6fd33607099abdea62752cf303a1763  numpy-1.16.5-cp27-cp27mu-manylinux1_x86_64.whl
fa48e45bd3e5dbac923296b039e70706  numpy-1.16.5-cp35-cp35m-macosx_10_9_x86_64.whl
85a7db0c597037cced7ab82c0f0cdcc8  numpy-1.16.5-cp35-cp35m-manylinux1_i686.whl
401e053e98faada4bc8cdcc9b04d619f  numpy-1.16.5-cp35-cp35m-manylinux1_x86_64.whl
2912ba9109dca60115dba59606cac27b  numpy-1.16.5-cp35-cp35m-win32.whl
756b7ff320ef821f2cd279c5df7c9f46  numpy-1.16.5-cp35-cp35m-win_amd64.whl
2ae22b506a07575a4bc6a91d2db25df5  numpy-1.16.5-cp36-cp36m-macosx_10_9_x86_64.whl
12cbf61ed2abec3f77cfa3a46b7e4bdc  numpy-1.16.5-cp36-cp36m-manylinux1_i686.whl
ab726a4244e9e070cde814d8415cff4c  numpy-1.16.5-cp36-cp36m-manylinux1_x86_64.whl
752e461d193b7049e25c7e20f7d4808a  numpy-1.16.5-cp36-cp36m-win32.whl
2712434cdfb27a301c49cf97eee656d5  numpy-1.16.5-cp36-cp36m-win_amd64.whl
394fee86faa235dea6d2bb6270961266  numpy-1.16.5-cp37-cp37m-macosx_10_9_x86_64.whl
0713da36acc884897f76bc8117ca7a42  numpy-1.16.5-cp37-cp37m-manylinux1_i686.whl
7856a32b3b2d93d018d2ba5dce941ffa  numpy-1.16.5-cp37-cp37m-manylinux1_x86_64.whl
33b7fd0d727c9f09d61879afde8096f6  numpy-1.16.5-cp37-cp37m-win32.whl
5287ce297cd8093463bb29bef42db103  numpy-1.16.5-cp37-cp37m-win_amd64.whl
f9c22f53f17e81b25af8e53b026a9831  numpy-1.16.5.tar.gz
adaad8c166cf0344af3ca1a664dd4a38  numpy-1.16.5.zip

SHA256

37fdd3bb05caaaacac58015cfa38e38b006ee9cef1eaacdb70bb68c16ac7db1d  numpy-1.16.5-cp27-cp27m-macosx_10_9_x86_64.whl
f42e21d8db16315bc30b437bff63d6b143befb067b8cd396fa3ef17f1c21e1a0  numpy-1.16.5-cp27-cp27m-manylinux1_i686.whl
4208b225ae049641a7a99ab92e84ce9d642ded8250d2b6c9fd61a7fa8c072561  numpy-1.16.5-cp27-cp27m-manylinux1_x86_64.whl
4d790e2a37aa3350667d8bb8acc919010c7e46234c3d615738564ddc6d22026f  numpy-1.16.5-cp27-cp27m-win32.whl
1594aec94e4896e0688f4f405481fda50fb70547000ae71f2e894299a088a661  numpy-1.16.5-cp27-cp27m-win_amd64.whl
2c5a556272c67566e8f4607d1c78ad98e954fa6c32802002a4a0b029ad8dd759  numpy-1.16.5-cp27-cp27mu-manylinux1_i686.whl
3a96e59f61c7a8f8838d0f4d19daeba551c5f07c5cdd5c81e8e9d4089ade0042  numpy-1.16.5-cp27-cp27mu-manylinux1_x86_64.whl
612297115bade249a118616c065597ff2e5e1f47ed220d7ba71f3e6c6ebcd814  numpy-1.16.5-cp35-cp35m-macosx_10_9_x86_64.whl
dbc9e9a6a5e0c4f57498855d4e30ef8b599c0ce13fdf9d64299197508d67d9e8  numpy-1.16.5-cp35-cp35m-manylinux1_i686.whl
fada0492dd35412cd96e0578677e9a4bdae8f102ef2b631301fcf19066b57119  numpy-1.16.5-cp35-cp35m-manylinux1_x86_64.whl
ada1a1cd68b9874fa480bd287438f92bd7ce88ca0dd6e8d56c70f2b3dab97314  numpy-1.16.5-cp35-cp35m-win32.whl
27aa457590268cb059c47daa8c55f48c610ce81da8a062ec117f74efa9124ec9  numpy-1.16.5-cp35-cp35m-win_amd64.whl
03b28330253904d410c3c82d66329f29645eb54a7345cb7dd7a1529d61fa603f  numpy-1.16.5-cp36-cp36m-macosx_10_9_x86_64.whl
911d91ffc6688db0454d69318584415f7dfb0fc1b8ac9b549234e39495684230  numpy-1.16.5-cp36-cp36m-manylinux1_i686.whl
ceb353e3ae840ce76256935b18c17236ca808509f231f41d5173d7b2680d5e77  numpy-1.16.5-cp36-cp36m-manylinux1_x86_64.whl
e6ce7c0051ed5443f8343da2a14580aa438822ae6526900332c4564f371d2aaf  numpy-1.16.5-cp36-cp36m-win32.whl
9a2b950bca9faca0145491ae9fd214c432f2b1e36783399bc2c3732e7bcc94f4  numpy-1.16.5-cp36-cp36m-win_amd64.whl
00836128feaf9a7c7fedeea05ad593e7965f523d23fe3ffbf20cfffd88e9f2b1  numpy-1.16.5-cp37-cp37m-macosx_10_9_x86_64.whl
3d6a354bb1a1ce2cabd47e0bdcf25364322fb55a29efb59f76944d7ee546d8b6  numpy-1.16.5-cp37-cp37m-manylinux1_i686.whl
f7fb27c0562206787011cf299c03f663c604b58a35a9c2b5218ba6485a17b145  numpy-1.16.5-cp37-cp37m-manylinux1_x86_64.whl
46469e7fcb689036e72ce61c3d432ed35eb4c71b5119e894845b434b0fae5813  numpy-1.16.5-cp37-cp37m-win32.whl
fb207362394567343d84c0462ec3ba203a21c78be9a0fdbb94982e76859ec37e  numpy-1.16.5-cp37-cp37m-win_amd64.whl
2b63c414fb43a4f0cb69b29b7e9d48275af0dbb5b1ffd2f2de99c4df9967e151  numpy-1.16.5.tar.gz
8bb452d94e964b312205b0de1238dd7209da452343653ab214b5d681780e7a0c  numpy-1.16.5.zip
numpy -

Published by charris about 5 years ago

NumPy 1.17.1 Release Notes

This release contains a number of fixes for bugs reported against NumPy 1.17.0
along with a few documentation and build improvements. The Python versions
supported are 3.5-3.7, note that Python 2.7 has been dropped. Python 3.8b3
should work with the released source packages, but there are no future
guarantees.

Downstream developers should use Cython >= 0.29.13 for Python 3.8 support and
OpenBLAS >= 3.7 to avoid problems on the Skylake architecture. The NumPy wheels
on PyPI are built from the OpenBLAS development branch in order to avoid those
problems.

Contributors

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

  • Alexander Jung +
  • Allan Haldane
  • Charles Harris
  • Eric Wieser
  • Giuseppe Cuccu +
  • Hiroyuki V. Yamazaki
  • Jérémie du Boisberranger
  • Kmol Yuan +
  • Matti Picus
  • Max Bolingbroke +
  • Maxwell Aladago +
  • Oleksandr Pavlyk
  • Peter Andreas Entschev
  • Sergei Lebedev
  • Seth Troisi +
  • Vladimir Pershin +
  • Warren Weckesser

Pull requests merged

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

  • #14156: TST: Allow fuss in testing strided/non-strided exp/log loops
  • #14157: BUG: avx2_scalef_ps must be static
  • #14158: BUG: Remove stray print that causes a SystemError on python 3.7.
  • #14159: BUG: Fix DeprecationWarning in python 3.8.
  • #14160: BLD: Add missing gcd/lcm definitions to npy_math.h
  • #14161: DOC, BUILD: cleanups and fix (again) 'build dist'
  • #14166: TST: Add 3.8-dev to travisCI testing.
  • #14194: BUG: Remove the broken clip wrapper (Backport)
  • #14198: DOC: Fix hermitian argument docs in svd.
  • #14199: MAINT: Workaround for Intel compiler bug leading to failing test
  • #14200: TST: Clean up of test_pocketfft.py
  • #14201: BUG: Make advanced indexing result on read-only subclass writeable...
  • #14236: BUG: Fixed default BitGenerator name
  • #14237: ENH: add c-imported modules for freeze analysis in np.random
  • #14296: TST: Pin pytest version to 5.0.1
  • #14301: BUG: Fix leak in the f2py-generated module init and PyMem_Del...
  • #14302: BUG: Fix formatting error in exception message
  • #14307: MAINT: random: Match type of SeedSequence.pool_size to DEFAULT_POOL_SIZE.
  • #14308: BUG: Fix numpy.random bug in platform detection
  • #14309: ENH: Enable huge pages in all Linux builds
  • #14330: BUG: Fix segfault in random.permutation(x) when x is a string.
  • #14338: BUG: don't fail when lexsorting some empty arrays (#14228)
  • #14339: BUG: Fix misuse of .names and .fields in various places (backport...
  • #14345: BUG: fix behavior of structured_to_unstructured on non-trivial...
  • #14350: REL: Prepare 1.17.1 release

Checksums

MD5

99708c771ef1efe283ecfd6e30698e1a  numpy-1.17.1-cp35-cp35m-macosx_10_9_x86_64.whl
5547039914b3f9541137e8cd9fab57c7  numpy-1.17.1-cp35-cp35m-manylinux1_i686.whl
b24c5726f07d5f71d244baaa513af920  numpy-1.17.1-cp35-cp35m-manylinux1_x86_64.whl
55070ccaeabbe5036c5a577f4e4cc2b0  numpy-1.17.1-cp35-cp35m-win32.whl
086a59eab8e5b8ebbf10755b8a2db677  numpy-1.17.1-cp35-cp35m-win_amd64.whl
a7d523ddbe70107016026da5474b7245  numpy-1.17.1-cp36-cp36m-macosx_10_9_x86_64.whl
794d982a831762918eba7fa5cf8f16e8  numpy-1.17.1-cp36-cp36m-manylinux1_i686.whl
c50ee655b018c315e75a8cb40c771225  numpy-1.17.1-cp36-cp36m-manylinux1_x86_64.whl
e1b9c4c90df2b84674dbd6c3875d44b1  numpy-1.17.1-cp36-cp36m-win32.whl
0799ddcbb5d28d789d613558bce33b30  numpy-1.17.1-cp36-cp36m-win_amd64.whl
7e723a8f451eaa091f09a4df09bdf776  numpy-1.17.1-cp37-cp37m-macosx_10_9_x86_64.whl
c4c09c737c19d86829e4f2268d2c8991  numpy-1.17.1-cp37-cp37m-manylinux1_i686.whl
c711188365a7677334ddc754778d4822  numpy-1.17.1-cp37-cp37m-manylinux1_x86_64.whl
dddef61754e2ddb46cce6a1656d35eb4  numpy-1.17.1-cp37-cp37m-win32.whl
5e022462aedaac5e9d7f5b09a8f7e3bb  numpy-1.17.1-cp37-cp37m-win_amd64.whl
b2260d650bc28c846e18b7c29a089953  numpy-1.17.1.tar.gz
cad292965675fbe8d5fbae3009ab8b58  numpy-1.17.1.zip

SHA256

078c8025da5ab9e8657edc9c2a1e9642e06e953bc7baa2e65c1aa9d9dfb7e98b  numpy-1.17.1-cp35-cp35m-macosx_10_9_x86_64.whl
a3f6b3024f8826d8b1490e6e2a9b99e841cd2c375791b1df62991bd8f4c00b89  numpy-1.17.1-cp35-cp35m-manylinux1_i686.whl
bede70fd8699695363f39e86c1e869b2c8b74fb5ef135a67b9e1eeebff50322a  numpy-1.17.1-cp35-cp35m-manylinux1_x86_64.whl
1c841033f4fe6801648180c3033c45b3235a8bbd09bc7249010f99ea27bb6790  numpy-1.17.1-cp35-cp35m-win32.whl
03f2ebcbffcce2dec8860633b89a93e80c6a239d21a77ae8b241450dc21e8c35  numpy-1.17.1-cp35-cp35m-win_amd64.whl
c304b2221f33489cd15a915237a84cdfe9420d7e4d4828c78a0820f9d990395c  numpy-1.17.1-cp36-cp36m-macosx_10_9_x86_64.whl
0fbfa98c5d5c3c6489cc1e852ec94395d51f35d9ebe70c6850e47f465038cdf4  numpy-1.17.1-cp36-cp36m-manylinux1_i686.whl
fb6178b0488b0ce6a54bc4accbdf5225e937383586555604155d64773f6beb2b  numpy-1.17.1-cp36-cp36m-manylinux1_x86_64.whl
2c0984a01ddd0aeec89f0ce46ef21d64761048cd76c0074d0658c91f9131f154  numpy-1.17.1-cp36-cp36m-win32.whl
8c2d98d0623bd63fb883b65256c00454d5f53127a5a7bcdaa8bdc582814e8cb4  numpy-1.17.1-cp36-cp36m-win_amd64.whl
8cb4b6ae45aad6d26712a1ce0a3f2556c5e1484867f9649e03496e45d6a5eba4  numpy-1.17.1-cp37-cp37m-macosx_10_9_x86_64.whl
4c166dcb0fff7cb3c0bbc682dfb5061852a2547efb6222e043a7932828c08fb5  numpy-1.17.1-cp37-cp37m-manylinux1_i686.whl
93050e73c446c82065b7410221b07682e475ac51887cd9368227a5d944afae80  numpy-1.17.1-cp37-cp37m-manylinux1_x86_64.whl
fa5f2a8ef1e07ba258dc07d4dd246de23ef4ab920ae0f3fa2a1cc5e90f0f1888  numpy-1.17.1-cp37-cp37m-win32.whl
fd5e830d4dc31658d61a6452cd3e842213594d8c15578cdae6829e36ad9c0930  numpy-1.17.1-cp37-cp37m-win_amd64.whl
24d479ebc92f2d1c739622568f0e4d1382c6bf9778505146a370c8e2f5749839  numpy-1.17.1.tar.gz
f11331530f0eff69a758d62c2461cd98cdc2eae0147279d8fc86e0464eb7e8ca  numpy-1.17.1.zip
numpy -

Published by charris about 5 years ago

NumPy 1.17.0 Release Notes

This NumPy release contains a number of new features that should substantially
improve its performance and usefulness, see Highlights below for a summary. The
Python versions supported are 3.5-3.7, note that Python 2.7 has been dropped.
Python 3.8b2 should work with the released source packages, but there are no
future guarantees.

Downstream developers should use Cython >= 0.29.11 for Python 3.8 support and
OpenBLAS >= 3.7 (not currently out) to avoid problems on the Skylake
architecture. The NumPy wheels on PyPI are built from the OpenBLAS development
branch in order to avoid those problems.

Highlights

  • A new extensible random module along with four selectable random number generators <random.BitGenerators> and improved seeding designed for use in parallel
    processes has been added. The currently available bit generators are MT19937 <random.mt19937.MT19937>, PCG64 <random.pcg64.PCG64>, Philox <random.philox.Philox>, and SFC64 <random.sfc64.SFC64>. See below under
    New Features.

  • NumPy's FFT <fft> implementation was changed from fftpack to pocketfft,
    resulting in faster, more accurate transforms and better handling of datasets
    of prime length. See below under Improvements.

  • New radix sort and timsort sorting methods. It is currently not possible to
    choose which will be used. They are hardwired to the datatype and used
    when either stable or mergesort is passed as the method. See below
    under Improvements.

  • Overriding numpy functions is now possible by default,
    see __array_function__ below.

New functions

  • numpy.errstate is now also a function decorator

Deprecations

numpy.polynomial functions warn when passed float in place of int

Previously functions in this module would accept float values provided they
were integral (1.0, 2.0, etc). For consistency with the rest of numpy,
doing so is now deprecated, and in future will raise a TypeError.

Similarly, passing a float like 0.5 in place of an integer will now raise a
TypeError instead of the previous ValueError.

Deprecate numpy.distutils.exec_command and temp_file_name

The internal use of these functions has been refactored and there are better
alternatives. Replace exec_command with subprocess.Popen and
temp_file_name <numpy.distutils.exec_command> with tempfile.mkstemp.

Writeable flag of C-API wrapped arrays

When an array is created from the C-API to wrap a pointer to data, the only
indication we have of the read-write nature of the data is the writeable
flag set during creation. It is dangerous to force the flag to writeable.
In the future it will not be possible to switch the writeable flag to True
from python.
This deprecation should not affect many users since arrays created in such
a manner are very rare in practice and only available through the NumPy C-API.

numpy.nonzero should no longer be called on 0d arrays

The behavior of numpy.nonzero on 0d arrays was surprising, making uses of it
almost always incorrect. If the old behavior was intended, it can be preserved
without a warning by using nonzero(atleast_1d(arr)) instead of
nonzero(arr). In a future release, it is most likely this will raise a
ValueError.

Writing to the result of numpy.broadcast_arrays will warn

Commonly numpy.broadcast_arrays returns a writeable array with internal
overlap, making it unsafe to write to. A future version will set the
writeable flag to False, and require users to manually set it to
True if they are sure that is what they want to do. Now writing to it will
emit a deprecation warning with instructions to set the writeable flag
True. Note that if one were to inspect the flag before setting it, one
would find it would already be True. Explicitly setting it, though, as one
will need to do in future versions, clears an internal flag that is used to
produce the deprecation warning. To help alleviate confusion, an additional
FutureWarning will be emitted when accessing the writeable flag state to
clarify the contradiction.

Note that for the C-side buffer protocol such an array will return a
readonly buffer immediately unless a writable buffer is requested. If
a writeable buffer is requested a warning will be given. When using
cython, the const qualifier should be used with such arrays to avoid
the warning (e.g. cdef const double[::1] view).

Future Changes

Shape-1 fields in dtypes won't be collapsed to scalars in a future version

Currently, a field specified as [(name, dtype, 1)] or "1type" is
interpreted as a scalar field (i.e., the same as [(name, dtype)] or
[(name, dtype, ()]). This now raises a FutureWarning; in a future version,
it will be interpreted as a shape-(1,) field, i.e. the same as [(name, dtype, (1,))] or "(1,)type" (consistently with [(name, dtype, n)]
/ "ntype" with n>1, which is already equivalent to [(name, dtype, (n,)] / "(n,)type").

Compatibility notes

float16 subnormal rounding

Casting from a different floating point precision to float16 used incorrect
rounding in some edge cases. This means in rare cases, subnormal results will
now be rounded up instead of down, changing the last bit (ULP) of the result.

Signed zero when using divmod

Starting in version 1.12.0, numpy incorrectly returned a negatively signed zero
when using the divmod and floor_divide functions when the result was
zero. For example::

   >>> np.zeros(10)//1
   array([-0., -0., -0., -0., -0., -0., -0., -0., -0., -0.])

With this release, the result is correctly returned as a positively signed
zero::

   >>> np.zeros(10)//1
   array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0.])

MaskedArray.mask now returns a view of the mask, not the mask itself

Returning the mask itself was unsafe, as it could be reshaped in place which
would violate expectations of the masked array code. The behavior of mask <ma.MaskedArray.mask> is now consistent with data <ma.MaskedArray.data>,
which also returns a view.

The underlying mask can still be accessed with ._mask if it is needed.
Tests that contain assert x.mask is not y.mask or similar will need to be
updated.

Do not lookup __buffer__ attribute in numpy.frombuffer

Looking up __buffer__ attribute in numpy.frombuffer was undocumented and
non-functional. This code was removed. If needed, use
frombuffer(memoryview(obj), ...) instead.

out is buffered for memory overlaps in take, choose, put

If the out argument to these functions is provided and has memory overlap with
the other arguments, it is now buffered to avoid order-dependent behavior.

Unpickling while loading requires explicit opt-in

The functions load, and lib.format.read_array take an
allow_pickle keyword which now defaults to False in response to
CVE-2019-6446 <https://nvd.nist.gov/vuln/detail/CVE-2019-6446>_.

Potential changes to the random stream in old random module

Due to bugs in the application of log to random floating point numbers,
the stream may change when sampling from ~RandomState.beta, ~RandomState.binomial,
~RandomState.laplace, ~RandomState.logistic, ~RandomState.logseries or
~RandomState.multinomial if a 0 is generated in the underlying MT19937 <~numpy.random.mt11937.MT19937> random stream. There is a 1 in
:math:10^{53} chance of this occurring, so the probability that the stream
changes for any given seed is extremely small. If a 0 is encountered in the
underlying generator, then the incorrect value produced (either numpy.inf or
numpy.nan) is now dropped.

i0 now always returns a result with the same shape as the input

Previously, the output was squeezed, such that, e.g., input with just a single
element would lead to an array scalar being returned, and inputs with shapes
such as (10, 1) would yield results that would not broadcast against the
input.

Note that we generally recommend the SciPy implementation over the numpy one:
it is a proper ufunc written in C, and more than an order of magnitude faster.

can_cast no longer assumes all unsafe casting is allowed

Previously, can_cast returned True for almost all inputs for
casting='unsafe', even for cases where casting was not possible, such as
from a structured dtype to a regular one. This has been fixed, making it
more consistent with actual casting using, e.g., the .astype <ndarray.astype>
method.

ndarray.flags.writeable can be switched to true slightly more often

In rare cases, it was not possible to switch an array from not writeable
to writeable, although a base array is writeable. This can happen if an
intermediate ndarray.base object is writeable. Previously, only the deepest
base object was considered for this decision. However, in rare cases this
object does not have the necessary information. In that case switching to
writeable was never allowed. This has now been fixed.

C API changes

dimension or stride input arguments are now passed by npy_intp const*

Previously these function arguments were declared as the more strict
npy_intp*, which prevented the caller passing constant data.
This change is backwards compatible, but now allows code like::

npy_intp const fixed_dims[] = {1, 2, 3};
// no longer complains that the const-qualifier is discarded
npy_intp size = PyArray_MultiplyList(fixed_dims, 3);

New Features

New extensible numpy.random module with selectable random number generators

A new extensible numpy.random module along with four selectable random number
generators and improved seeding designed for use in parallel processes has been
added. The currently available :ref:Bit Generators <bit_generator> are
~mt19937.MT19937, ~pcg64.PCG64, ~philox.Philox, and ~sfc64.SFC64.
PCG64 is the new default while MT19937 is retained for backwards
compatibility. Note that the legacy random module is unchanged and is now
frozen, your current results will not change. More information is available in
the :ref:API change description <new-or-different> and in the top-level view <numpy.random> documentation.

libFLAME

Support for building NumPy with the libFLAME linear algebra package as the LAPACK,
implementation, see
libFLAME <https://www.cs.utexas.edu/~flame/web/libFLAME.html>_ for details.

User-defined BLAS detection order

distutils now uses an environment variable, comma-separated and case
insensitive, to determine the detection order for BLAS libraries.
By default NPY_BLAS_ORDER=mkl,blis,openblas,atlas,accelerate,blas.
However, to force the use of OpenBLAS simply do::

NPY_BLAS_ORDER=openblas python setup.py build

which forces the use of OpenBLAS.
This may be helpful for users which have a MKL installation but wishes to try
out different implementations.

User-defined LAPACK detection order

numpy.distutils now uses an environment variable, comma-separated and case
insensitive, to determine the detection order for LAPACK libraries.
By default NPY_LAPACK_ORDER=mkl,openblas,flame,atlas,accelerate,lapack.
However, to force the use of OpenBLAS simply do::

NPY_LAPACK_ORDER=openblas python setup.py build

which forces the use of OpenBLAS.
This may be helpful for users which have a MKL installation but wishes to try
out different implementations.

ufunc.reduce and related functions now accept a where mask

ufunc.reduce, sum, prod, min, max all
now accept a where keyword argument, which can be used to tell which
elements to include in the reduction. For reductions that do not have an
identity, it is necessary to also pass in an initial value (e.g.,
initial=np.inf for min). For instance, the equivalent of
nansum would be np.sum(a, where=~np.isnan(a)).

Timsort and radix sort have replaced mergesort for stable sorting

Both radix sort and timsort have been implemented and are now used in place of
mergesort. Due to the need to maintain backward compatibility, the sorting
kind options "stable" and "mergesort" have been made aliases of
each other with the actual sort implementation depending on the array type.
Radix sort is used for small integer types of 16 bits or less and timsort for
the remaining types. Timsort features improved performace on data containing
already or nearly sorted data and performs like mergesort on random data and
requires :math:O(n/2) working space. Details of the timsort algorithm can be
found at CPython listsort.txt <https://github.com/python/cpython/blob/3.7/Objects/listsort.txt>_.

packbits and unpackbits accept an order keyword

The order keyword defaults to big, and will order the bits
accordingly. For 'order=big' 3 will become [0, 0, 0, 0, 0, 0, 1, 1],
and [1, 1, 0, 0, 0, 0, 0, 0] for order=little

unpackbits now accepts a count parameter

count allows subsetting the number of bits that will be unpacked up-front,
rather than reshaping and subsetting later, making the packbits operation
invertible, and the unpacking less wasteful. Counts larger than the number of
available bits add zero padding. Negative counts trim bits off the end instead
of counting from the beginning. None counts implement the existing behavior of
unpacking everything.

linalg.svd and linalg.pinv can be faster on hermitian inputs

These functions now accept a hermitian argument, matching the one added
to linalg.matrix_rank in 1.14.0.

divmod operation is now supported for two timedelta64 operands

The divmod operator now handles two timedelta64 operands, with
type signature mm->qm.

fromfile now takes an offset argument

This function now takes an offset keyword argument for binary files,
which specifics the offset (in bytes) from the file's current position.
Defaults to 0.

New mode "empty" for pad

This mode pads an array to a desired shape without initializing the new
entries.

empty_like and related functions now accept a shape argument

empty_like, full_like, ones_like and zeros_like now accept a shape
keyword argument, which can be used to create a new array
as the prototype, overriding its shape as well. This is particularly useful
when combined with the __array_function__ protocol, allowing the creation
of new arbitrary-shape arrays from NumPy-like libraries when such an array
is used as the prototype.

Floating point scalars implement as_integer_ratio to match the builtin float

This returns a (numerator, denominator) pair, which can be used to construct a
fractions.Fraction.

Structured dtype objects can be indexed with multiple fields names

arr.dtype[['a', 'b']] now returns a dtype that is equivalent to
arr[['a', 'b']].dtype, for consistency with
arr.dtype['a'] == arr['a'].dtype.

Like the dtype of structured arrays indexed with a list of fields, this dtype
has the same itemsize as the original, but only keeps a subset of the fields.

This means that arr[['a', 'b']] and arr.view(arr.dtype[['a', 'b']]) are
equivalent.

.npy files support unicode field names

A new format version of 3.0 has been introduced, which enables structured types
with non-latin1 field names. This is used automatically when needed.

Improvements

Array comparison assertions include maximum differences

Error messages from array comparison tests such as
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.

Replacement of the fftpack based fft module by the pocketfft library

Both implementations have the same ancestor (Fortran77 FFTPACK by Paul N.
Swarztrauber), but pocketfft contains additional modifications which improve
both accuracy and performance in some circumstances. For FFT lengths containing
large prime factors, pocketfft uses Bluestein's algorithm, which maintains
:math:O(N log N) run time complexity instead of deteriorating towards
:math:O(N*N) for prime lengths. Also, accuracy for real valued FFTs with near
prime lengths has improved and is on par with complex valued FFTs.

Further improvements to ctypes support in numpy.ctypeslib

A new numpy.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, numpy.ctypeslib.as_ctypes now supports a much wider range of
array types, including structures, booleans, and integers of non-native
endianness.

numpy.errstate is now also a function decorator

Currently, if you have a function like::

def foo():
    pass

and you want to wrap the whole thing in errstate, you have to rewrite it
like so::

def foo():
    with np.errstate(...):
        pass

but with this change, you can do::

@np.errstate(...)
def foo():
    pass

thereby saving a level of indentation

numpy.exp and numpy.log speed up for float32 implementation

float32 implementation of exp and log now benefit from AVX2/AVX512
instruction set which are detected during runtime. exp has a max ulp
error of 2.52 and log has a max ulp error or 3.83.

Improve performance of numpy.pad

The performance of the function has been improved for most cases by filling in
a preallocated array with the desired padded shape instead of using
concatenation.

numpy.interp handles infinities more robustly

In some cases where interp would previously return nan, it now
returns an appropriate infinity.

Pathlib support for fromfile, tofile and ndarray.dump

fromfile, ndarray.ndarray.tofile and ndarray.dump now support
the pathlib.Path type for the file/fid parameter.

Specialized isnan, isinf, and isfinite ufuncs for bool and int types

The boolean and integer types are incapable of storing nan and inf values,
which allows us to provide specialized ufuncs that are up to 250x faster than
the previous approach.

isfinite supports datetime64 and timedelta64 types

Previously, isfinite used to raise a TypeError on being used on these
two types.

New keywords added to nan_to_num

nan_to_num now accepts keywords nan, posinf and neginf
allowing the user to define the value to replace the nan, positive and
negative np.inf values respectively.

MemoryErrors caused by allocated overly large arrays are more descriptive

Often the cause of a MemoryError is incorrect broadcasting, which results in a
very large and incorrect shape. The message of the error now includes this
shape to help diagnose the cause of failure.

floor, ceil, and trunc now respect builtin magic methods

These ufuncs now call the __floor__, __ceil__, and __trunc__
methods when called on object arrays, making them compatible with
decimal.Decimal and fractions.Fraction objects.

quantile now works on fraction.Fraction and decimal.Decimal objects

In general, this handles object arrays more gracefully, and avoids floating-
point operations if exact arithmetic types are used.

Support of object arrays in matmul

It is now possible to use matmul (or the @ operator) with object arrays.
For instance, it is now possible to do::

from fractions import Fraction
a = np.array([[Fraction(1, 2), Fraction(1, 3)], [Fraction(1, 3), Fraction(1, 2)]])
b = a @ a

Changes

median and percentile family of functions no longer warn about nan

numpy.median, numpy.percentile, and numpy.quantile used to emit a
RuntimeWarning when encountering an nan. Since they return the
nan value, the warning is redundant and has been removed.

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

NumPy functions now always support overrides with __array_function__

NumPy now always checks the __array_function__ method to implement overrides
of NumPy functions on non-NumPy arrays, as described in NEP 18_. The feature
was available for testing with NumPy 1.16 if appropriate environment variables
are set, but is now always enabled.

.. _NEP 18 : http://www.numpy.org/neps/nep-0018-array-function-protocol.html

lib.recfunctions.structured_to_unstructured does not squeeze single-field views

Previously structured_to_unstructured(arr[['a']]) would produce a squeezed
result inconsistent with structured_to_unstructured(arr[['a', b']]). This
was accidental. The old behavior can be retained with
structured_to_unstructured(arr[['a']]).squeeze(axis=-1) or far more simply,
arr['a'].

clip now uses a ufunc under the hood

This means that registering clip functions for custom dtypes in C via
descr->f->fastclip is deprecated - they should use the ufunc registration
mechanism instead, attaching to the np.core.umath.clip ufunc.

It also means that clip accepts where and casting arguments,
and can be override with __array_ufunc__.

A consequence of this change is that some behaviors of the old clip have
been deprecated:

  • Passing nan to mean "do not clip" as one or both bounds. This didn't work
    in all cases anyway, and can be better handled by passing infinities of the
    appropriate sign.
  • Using "unsafe" casting by default when an out argument is passed. Using
    casting="unsafe" explicitly will silence this warning.

Additionally, there are some corner cases with behavior changes:

  • Padding max < min has changed to be more consistent across dtypes, but
    should not be relied upon.
  • Scalar min and max take part in promotion rules like they do in all
    other ufuncs.

__array_interface__ offset now works as documented

The interface may use an offset value that was mistakenly ignored.

Pickle protocol in savez set to 3 for force zip64 flag

savez was not using the force_zip64 flag, which limited the size of
the archive to 2GB. But using the flag requires us to use pickle protocol 3 to
write object arrays. The protocol used was bumped to 3, meaning the archive
will be unreadable by Python2.

Structured arrays indexed with non-existent fields raise KeyError not ValueError

arr['bad_field'] on a structured type raises KeyError, for consistency
with dict['bad_field'].

Checksums

MD5

5ac469e3c2cd9b34c2a906d48544f491  numpy-1.17.0-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
526c60c36c61b7d30e6a50ffad3e81a2  numpy-1.17.0-cp35-cp35m-manylinux1_i686.whl
71066029b28fa03b897fd960be6dc6a9  numpy-1.17.0-cp35-cp35m-manylinux1_x86_64.whl
ab16f4b7f83e64113bf118ae3a9414b9  numpy-1.17.0-cp35-cp35m-win32.whl
e919d45495558d93275ef4ab724f767a  numpy-1.17.0-cp35-cp35m-win_amd64.whl
101e88a9870a5046536f71d77d0a7f5c  numpy-1.17.0-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
c996484b56aefecfe3626bcaca88a187  numpy-1.17.0-cp36-cp36m-manylinux1_i686.whl
4db1ecda4fbc202722774599cb434378  numpy-1.17.0-cp36-cp36m-manylinux1_x86_64.whl
feeecc8ea0bbc37b2f0be447b32a478f  numpy-1.17.0-cp36-cp36m-win32.whl
b7efb94a9cf4cc864ea546fb21a4d6bf  numpy-1.17.0-cp36-cp36m-win_amd64.whl
c6501eed55a840b2c81b211d6cf5065e  numpy-1.17.0-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
49ae9d7440e5dbabf3e02eba5b4bb8cd  numpy-1.17.0-cp37-cp37m-manylinux1_i686.whl
a245e8fc884fcd6ad1c53c322496cace  numpy-1.17.0-cp37-cp37m-manylinux1_x86_64.whl
0da9af1ac3832ae8b94f5fdce31c8c7d  numpy-1.17.0-cp37-cp37m-win32.whl
1ffa1bc110de363748a849a35126d9ff  numpy-1.17.0-cp37-cp37m-win_amd64.whl
c48b2ad785f82cdfe28c907ce35e2a71  numpy-1.17.0.tar.gz
aed49b31bcb44ec73b8155be78566135  numpy-1.17.0.zip

SHA256

910d2272403c2ea8a52d9159827dc9f7c27fb4b263749dca884e2e4a8af3b302  numpy-1.17.0-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
9ce8300950f2f1d29d0e49c28ebfff0d2f1e2a7444830fbb0b913c7c08f31511  numpy-1.17.0-cp35-cp35m-manylinux1_i686.whl
7724e9e31ee72389d522b88c0d4201f24edc34277999701ccd4a5392e7d8af61  numpy-1.17.0-cp35-cp35m-manylinux1_x86_64.whl
0cdd229a53d2720d21175012ab0599665f8c9588b3b8ffa6095dd7b90f0691dd  numpy-1.17.0-cp35-cp35m-win32.whl
5adfde7bd3ee4864536e230bcab1c673f866736698724d5d28c11a4d63672658  numpy-1.17.0-cp35-cp35m-win_amd64.whl
464b1c48baf49e8505b1bb754c47a013d2c305c5b14269b5c85ea0625b6a988a  numpy-1.17.0-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
eb0fc4a492cb896346c9e2c7a22eae3e766d407df3eb20f4ce027f23f76e4c54  numpy-1.17.0-cp36-cp36m-manylinux1_i686.whl
9588c6b4157f493edeb9378788dcd02cb9e6a6aeaa518b511a1c79d06cbd8094  numpy-1.17.0-cp36-cp36m-manylinux1_x86_64.whl
03e311b0a4c9f5755da7d52161280c6a78406c7be5c5cc7facfbcebb641efb7e  numpy-1.17.0-cp36-cp36m-win32.whl
c3ab2d835b95ccb59d11dfcd56eb0480daea57cdf95d686d22eff35584bc4554  numpy-1.17.0-cp36-cp36m-win_amd64.whl
f4e4612de60a4f1c4d06c8c2857cdcb2b8b5289189a12053f37d3f41f06c60d0  numpy-1.17.0-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
312bb18e95218bedc3563f26fcc9c1c6bfaaf9d453d15942c0839acdd7e4c473  numpy-1.17.0-cp37-cp37m-manylinux1_i686.whl
8d36f7c53ae741e23f54793ffefb2912340b800476eb0a831c6eb602e204c5c4  numpy-1.17.0-cp37-cp37m-manylinux1_x86_64.whl
ec0c56eae6cee6299f41e780a0280318a93db519bbb2906103c43f3e2be1206c  numpy-1.17.0-cp37-cp37m-win32.whl
be39cca66cc6806652da97103605c7b65ee4442c638f04ff064a7efd9a81d50a  numpy-1.17.0-cp37-cp37m-win_amd64.whl
47b7b6145e7ba5918ce26be25999b6d4b35cf9fbfdf46b7da50090ffdb020445  numpy-1.17.0.tar.gz
951fefe2fb73f84c620bec4e001e80a80ddaa1b84dce244ded7f1e0cbe0ed34a  numpy-1.17.0.zip
numpy -

Published by charris over 5 years ago

.. currentmodule:: numpy

==========================
NumPy 1.17.0 Release Notes

This NumPy release contains a number of new features that should substantially
improve its performance and usefulness, see Highlights below for a summary. The
Python versions supported are 3.5-3.7, note that Python 2.7 has been dropped.
Python 3.8b2 should work with the released source packages, but there are no
future guarantees.

Downstream developers should use Cython >= 0.29.11 for Python 3.8 support and
OpenBLAS >= 3.7 (not currently out) to avoid problems on the Skylake
architecture. The NumPy wheels on PyPI are built from the OpenBLAS development
branch in order to avoid those problems.

Highlights

  • A new extensible random module along with four selectable random number generators <random.BitGenerators> and improved seeding designed for use in parallel
    processes has been added. The currently available bit generators are MT19937 <random.mt19937.MT19937>, PCG64 <random.pcg64.PCG64>, Philox <random.philox.Philox>, and SFC64 <random.sfc64.SFC64>. See below under
    New Features.

  • NumPy's FFT <fft> implementation was changed from fftpack to pocketfft,
    resulting in faster, more accurate transforms and better handling of datasets
    of prime length. See below under Improvements.

  • New radix sort and timsort sorting methods. It is currently not possible to
    choose which will be used. They are hardwired to the datatype and used
    when either stable or mergesort is passed as the method. See below
    under Improvements.

  • Overriding numpy functions is now possible by default,
    see __array_function__ below.

New functions

  • numpy.errstate is now also a function decorator

Deprecations

numpy.polynomial functions warn when passed float in place of int

Previously functions in this module would accept float values provided they
were integral (1.0, 2.0, etc). For consistency with the rest of numpy,
doing so is now deprecated, and in future will raise a TypeError.

Similarly, passing a float like 0.5 in place of an integer will now raise a
TypeError instead of the previous ValueError.

Deprecate numpy.distutils.exec_command and temp_file_name

The internal use of these functions has been refactored and there are better
alternatives. Replace exec_command with subprocess.Popen and
temp_file_name <numpy.distutils.exec_command> with tempfile.mkstemp.

Writeable flag of C-API wrapped arrays

When an array is created from the C-API to wrap a pointer to data, the only
indication we have of the read-write nature of the data is the writeable
flag set during creation. It is dangerous to force the flag to writeable.
In the future it will not be possible to switch the writeable flag to True
from python.
This deprecation should not affect many users since arrays created in such
a manner are very rare in practice and only available through the NumPy C-API.

numpy.nonzero should no longer be called on 0d arrays

The behavior of numpy.nonzero on 0d arrays was surprising, making uses of it
almost always incorrect. If the old behavior was intended, it can be preserved
without a warning by using nonzero(atleast_1d(arr)) instead of
nonzero(arr). In a future release, it is most likely this will raise a
ValueError.

Writing to the result of numpy.broadcast_arrays will warn

Commonly numpy.broadcast_arrays returns a writeable array with internal
overlap, making it unsafe to write to. A future version will set the
writeable flag to False, and require users to manually set it to
True if they are sure that is what they want to do. Now writing to it will
emit a deprecation warning with instructions to set the writeable flag
True. Note that if one were to inspect the flag before setting it, one
would find it would already be True. Explicitly setting it, though, as one
will need to do in future versions, clears an internal flag that is used to
produce the deprecation warning. To help alleviate confusion, an additional
FutureWarning will be emitted when accessing the writeable flag state to
clarify the contradiction.

Note that for the C-side buffer protocol such an array will return a
readonly buffer immediately unless a writable buffer is requested. If
a writeable buffer is requested a warning will be given. When using
cython, the const qualifier should be used with such arrays to avoid
the warning (e.g. cdef const double[::1] view).

Future Changes

Shape-1 fields in dtypes won't be collapsed to scalars in a future version

Currently, a field specified as [(name, dtype, 1)] or "1type" is
interpreted as a scalar field (i.e., the same as [(name, dtype)] or
[(name, dtype, ()]). This now raises a FutureWarning; in a future version,
it will be interpreted as a shape-(1,) field, i.e. the same as [(name, dtype, (1,))] or "(1,)type" (consistently with [(name, dtype, n)]
/ "ntype" with n>1, which is already equivalent to [(name, dtype, (n,)] / "(n,)type").

Compatibility notes

float16 subnormal rounding

Casting from a different floating point precision to float16 used incorrect
rounding in some edge cases. This means in rare cases, subnormal results will
now be rounded up instead of down, changing the last bit (ULP) of the result.

Signed zero when using divmod

Starting in version 1.12.0, numpy incorrectly returned a negatively signed zero
when using the divmod and floor_divide functions when the result was
zero. For example::

   >>> np.zeros(10)//1
   array([-0., -0., -0., -0., -0., -0., -0., -0., -0., -0.])

With this release, the result is correctly returned as a positively signed
zero::

   >>> np.zeros(10)//1
   array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0.])

MaskedArray.mask now returns a view of the mask, not the mask itself

Returning the mask itself was unsafe, as it could be reshaped in place which
would violate expectations of the masked array code. The behavior of mask <ma.MaskedArray.mask> is now consistent with data <ma.MaskedArray.data>,
which also returns a view.

The underlying mask can still be accessed with ._mask if it is needed.
Tests that contain assert x.mask is not y.mask or similar will need to be
updated.

Do not lookup __buffer__ attribute in numpy.frombuffer

Looking up __buffer__ attribute in numpy.frombuffer was undocumented and
non-functional. This code was removed. If needed, use
frombuffer(memoryview(obj), ...) instead.

out is buffered for memory overlaps in take, choose, put

If the out argument to these functions is provided and has memory overlap with
the other arguments, it is now buffered to avoid order-dependent behavior.

Unpickling while loading requires explicit opt-in

The functions load, and lib.format.read_array take an
allow_pickle keyword which now defaults to False in response to
CVE-2019-6446 <https://nvd.nist.gov/vuln/detail/CVE-2019-6446>_.

.. currentmodule:: numpy.random.mtrand

Potential changes to the random stream in old random module

Due to bugs in the application of log to random floating point numbers,
the stream may change when sampling from ~RandomState.beta, ~RandomState.binomial,
~RandomState.laplace, ~RandomState.logistic, ~RandomState.logseries or
~RandomState.multinomial if a 0 is generated in the underlying MT19937 <~numpy.random.mt11937.MT19937> random stream. There is a 1 in
:math:10^{53} chance of this occurring, so the probability that the stream
changes for any given seed is extremely small. If a 0 is encountered in the
underlying generator, then the incorrect value produced (either numpy.inf or
numpy.nan) is now dropped.

.. currentmodule:: numpy

i0 now always returns a result with the same shape as the input

Previously, the output was squeezed, such that, e.g., input with just a single
element would lead to an array scalar being returned, and inputs with shapes
such as (10, 1) would yield results that would not broadcast against the
input.

Note that we generally recommend the SciPy implementation over the numpy one:
it is a proper ufunc written in C, and more than an order of magnitude faster.

can_cast no longer assumes all unsafe casting is allowed

Previously, can_cast returned True for almost all inputs for
casting='unsafe', even for cases where casting was not possible, such as
from a structured dtype to a regular one. This has been fixed, making it
more consistent with actual casting using, e.g., the .astype <ndarray.astype>
method.

ndarray.flags.writeable can be switched to true slightly more often

In rare cases, it was not possible to switch an array from not writeable
to writeable, although a base array is writeable. This can happen if an
intermediate ndarray.base object is writeable. Previously, only the deepest
base object was considered for this decision. However, in rare cases this
object does not have the necessary information. In that case switching to
writeable was never allowed. This has now been fixed.

C API changes

dimension or stride input arguments are now passed by npy_intp const*

Previously these function arguments were declared as the more strict
npy_intp*, which prevented the caller passing constant data.
This change is backwards compatible, but now allows code like::

npy_intp const fixed_dims[] = {1, 2, 3};
// no longer complains that the const-qualifier is discarded
npy_intp size = PyArray_MultiplyList(fixed_dims, 3);

New Features

.. currentmodule:: numpy.random

New extensible numpy.random module with selectable random number generators

A new extensible numpy.random module along with four selectable random number
generators and improved seeding designed for use in parallel processes has been
added. The currently available :ref:Bit Generators <bit_generator> are
~mt19937.MT19937, ~pcg64.PCG64, ~philox.Philox, and ~sfc64.SFC64.
PCG64 is the new default while MT19937 is retained for backwards
compatibility. Note that the legacy random module is unchanged and is now
frozen, your current results will not change. More information is available in
the :ref:API change description <new-or-different> and in the top-level view <numpy.random> documentation.

.. currentmodule:: numpy

libFLAME

Support for building NumPy with the libFLAME linear algebra package as the LAPACK,
implementation, see
libFLAME <https://www.cs.utexas.edu/~flame/web/libFLAME.html>_ for details.

User-defined BLAS detection order

distutils now uses an environment variable, comma-separated and case
insensitive, to determine the detection order for BLAS libraries.
By default NPY_BLAS_ORDER=mkl,blis,openblas,atlas,accelerate,blas.
However, to force the use of OpenBLAS simply do::

NPY_BLAS_ORDER=openblas python setup.py build

which forces the use of OpenBLAS.
This may be helpful for users which have a MKL installation but wishes to try
out different implementations.

User-defined LAPACK detection order

numpy.distutils now uses an environment variable, comma-separated and case
insensitive, to determine the detection order for LAPACK libraries.
By default NPY_LAPACK_ORDER=mkl,openblas,flame,atlas,accelerate,lapack.
However, to force the use of OpenBLAS simply do::

NPY_LAPACK_ORDER=openblas python setup.py build

which forces the use of OpenBLAS.
This may be helpful for users which have a MKL installation but wishes to try
out different implementations.

ufunc.reduce and related functions now accept a where mask

ufunc.reduce, sum, prod, min, max all
now accept a where keyword argument, which can be used to tell which
elements to include in the reduction. For reductions that do not have an
identity, it is necessary to also pass in an initial value (e.g.,
initial=np.inf for min). For instance, the equivalent of
nansum would be np.sum(a, where=~np.isnan(a)).

Timsort and radix sort have replaced mergesort for stable sorting

Both radix sort and timsort have been implemented and are now used in place of
mergesort. Due to the need to maintain backward compatibility, the sorting
kind options "stable" and "mergesort" have been made aliases of
each other with the actual sort implementation depending on the array type.
Radix sort is used for small integer types of 16 bits or less and timsort for
the remaining types. Timsort features improved performace on data containing
already or nearly sorted data and performs like mergesort on random data and
requires :math:O(n/2) working space. Details of the timsort algorithm can be
found at CPython listsort.txt <https://github.com/python/cpython/blob/3.7/Objects/listsort.txt>_.

packbits and unpackbits accept an order keyword

The order keyword defaults to big, and will order the bits
accordingly. For 'order=big' 3 will become [0, 0, 0, 0, 0, 0, 1, 1],
and [1, 1, 0, 0, 0, 0, 0, 0] for order=little

unpackbits now accepts a count parameter

count allows subsetting the number of bits that will be unpacked up-front,
rather than reshaping and subsetting later, making the packbits operation
invertible, and the unpacking less wasteful. Counts larger than the number of
available bits add zero padding. Negative counts trim bits off the end instead
of counting from the beginning. None counts implement the existing behavior of
unpacking everything.

linalg.svd and linalg.pinv can be faster on hermitian inputs

These functions now accept a hermitian argument, matching the one added
to linalg.matrix_rank in 1.14.0.

divmod operation is now supported for two timedelta64 operands

The divmod operator now handles two timedelta64 operands, with
type signature mm->qm.

fromfile now takes an offset argument

This function now takes an offset keyword argument for binary files,
which specifics the offset (in bytes) from the file's current position.
Defaults to 0.

New mode "empty" for pad

This mode pads an array to a desired shape without initializing the new
entries.

empty_like and related functions now accept a shape argument

empty_like, full_like, ones_like and zeros_like now accept a shape
keyword argument, which can be used to create a new array
as the prototype, overriding its shape as well. This is particularly useful
when combined with the __array_function__ protocol, allowing the creation
of new arbitrary-shape arrays from NumPy-like libraries when such an array
is used as the prototype.

Floating point scalars implement as_integer_ratio to match the builtin float

This returns a (numerator, denominator) pair, which can be used to construct a
fractions.Fraction.

Structured dtype objects can be indexed with multiple fields names

arr.dtype[['a', 'b']] now returns a dtype that is equivalent to
arr[['a', 'b']].dtype, for consistency with
arr.dtype['a'] == arr['a'].dtype.

Like the dtype of structured arrays indexed with a list of fields, this dtype
has the same itemsize as the original, but only keeps a subset of the fields.

This means that arr[['a', 'b']] and arr.view(arr.dtype[['a', 'b']]) are
equivalent.

.npy files support unicode field names

A new format version of 3.0 has been introduced, which enables structured types
with non-latin1 field names. This is used automatically when needed.

Improvements

Array comparison assertions include maximum differences

Error messages from array comparison tests such as
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.

Replacement of the fftpack based fft module by the pocketfft library

Both implementations have the same ancestor (Fortran77 FFTPACK by Paul N.
Swarztrauber), but pocketfft contains additional modifications which improve
both accuracy and performance in some circumstances. For FFT lengths containing
large prime factors, pocketfft uses Bluestein's algorithm, which maintains
:math:O(N log N) run time complexity instead of deteriorating towards
:math:O(N*N) for prime lengths. Also, accuracy for real valued FFTs with near
prime lengths has improved and is on par with complex valued FFTs.

Further improvements to ctypes support in numpy.ctypeslib

A new numpy.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, numpy.ctypeslib.as_ctypes now supports a much wider range of
array types, including structures, booleans, and integers of non-native
endianness.

numpy.errstate is now also a function decorator

Currently, if you have a function like::

def foo():
    pass

and you want to wrap the whole thing in errstate, you have to rewrite it
like so::

def foo():
    with np.errstate(...):
        pass

but with this change, you can do::

@np.errstate(...)
def foo():
    pass

thereby saving a level of indentation

numpy.exp and numpy.log speed up for float32 implementation

float32 implementation of exp and log now benefit from AVX2/AVX512
instruction set which are detected during runtime. exp has a max ulp
error of 2.52 and log has a max ulp error or 3.83.

Improve performance of numpy.pad

The performance of the function has been improved for most cases by filling in
a preallocated array with the desired padded shape instead of using
concatenation.

numpy.interp handles infinities more robustly

In some cases where interp would previously return nan, it now
returns an appropriate infinity.

Pathlib support for fromfile, tofile and ndarray.dump

fromfile, ndarray.ndarray.tofile and ndarray.dump now support
the pathlib.Path type for the file/fid parameter.

Specialized isnan, isinf, and isfinite ufuncs for bool and int types

The boolean and integer types are incapable of storing nan and inf values,
which allows us to provide specialized ufuncs that are up to 250x faster than
the previous approach.

isfinite supports datetime64 and timedelta64 types

Previously, isfinite used to raise a TypeError on being used on these
two types.

New keywords added to nan_to_num

nan_to_num now accepts keywords nan, posinf and neginf
allowing the user to define the value to replace the nan, positive and
negative np.inf values respectively.

MemoryErrors caused by allocated overly large arrays are more descriptive

Often the cause of a MemoryError is incorrect broadcasting, which results in a
very large and incorrect shape. The message of the error now includes this
shape to help diagnose the cause of failure.

floor, ceil, and trunc now respect builtin magic methods

These ufuncs now call the __floor__, __ceil__, and __trunc__
methods when called on object arrays, making them compatible with
decimal.Decimal and fractions.Fraction objects.

quantile now works on fraction.Fraction and decimal.Decimal objects

In general, this handles object arrays more gracefully, and avoids floating-
point operations if exact arithmetic types are used.

Support of object arrays in matmul

It is now possible to use matmul (or the @ operator) with object arrays.
For instance, it is now possible to do::

from fractions import Fraction
a = np.array([[Fraction(1, 2), Fraction(1, 3)], [Fraction(1, 3), Fraction(1, 2)]])
b = a @ a

Changes

median and percentile family of functions no longer warn about nan

numpy.median, numpy.percentile, and numpy.quantile used to emit a
RuntimeWarning when encountering an nan. Since they return the
nan value, the warning is redundant and has been removed.

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

NumPy functions now always support overrides with __array_function__

NumPy now always checks the __array_function__ method to implement overrides
of NumPy functions on non-NumPy arrays, as described in NEP 18_. The feature
was available for testing with NumPy 1.16 if appropriate environment variables
are set, but is now always enabled.

.. _NEP 18 : http://www.numpy.org/neps/nep-0018-array-function-protocol.html

lib.recfunctions.structured_to_unstructured does not squeeze single-field views

Previously structured_to_unstructured(arr[['a']]) would produce a squeezed
result inconsistent with structured_to_unstructured(arr[['a', b']]). This
was accidental. The old behavior can be retained with
structured_to_unstructured(arr[['a']]).squeeze(axis=-1) or far more simply,
arr['a'].

clip now uses a ufunc under the hood

This means that registering clip functions for custom dtypes in C via
descr->f->fastclip is deprecated - they should use the ufunc registration
mechanism instead, attaching to the np.core.umath.clip ufunc.

It also means that clip accepts where and casting arguments,
and can be override with __array_ufunc__.

A consequence of this change is that some behaviors of the old clip have
been deprecated:

  • Passing nan to mean "do not clip" as one or both bounds. This didn't work
    in all cases anyway, and can be better handled by passing infinities of the
    appropriate sign.
  • Using "unsafe" casting by default when an out argument is passed. Using
    casting="unsafe" explicitly will silence this warning.

Additionally, there are some corner cases with behavior changes:

  • Padding max < min has changed to be more consistent across dtypes, but
    should not be relied upon.
  • Scalar min and max take part in promotion rules like they do in all
    other ufuncs.

__array_interface__ offset now works as documented

The interface may use an offset value that was mistakenly ignored.

Pickle protocol in savez set to 3 for force zip64 flag

savez was not using the force_zip64 flag, which limited the size of
the archive to 2GB. But using the flag requires us to use pickle protocol 3 to
write object arrays. The protocol used was bumped to 3, meaning the archive
will be unreadable by Python2.

Structured arrays indexed with non-existent fields raise KeyError not ValueError

arr['bad_field'] on a structured type raises KeyError, for consistency
with dict['bad_field'].

Checksums

MD5

613b7ffe7290d900c7b0c056e176b4d0  numpy-1.17.0rc2-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
d3c95a816ee885b30acda83c0a6457e5  numpy-1.17.0rc2-cp35-cp35m-manylinux1_i686.whl
6ac9206b01562e9aadb8603931b63224  numpy-1.17.0rc2-cp35-cp35m-manylinux1_x86_64.whl
6afd04a55d7e00a8ed2e1248669f8cd9  numpy-1.17.0rc2-cp35-cp35m-win32.whl
519e154eab6bb7b1a01a93903c620ab4  numpy-1.17.0rc2-cp35-cp35m-win_amd64.whl
736b9191f39206efc120e38e6a10f6d1  numpy-1.17.0rc2-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
dbb2fbd75a414231094bd867b7fbce05  numpy-1.17.0rc2-cp36-cp36m-manylinux1_i686.whl
424803fe4aaa14de85e15c1fe58dc2ae  numpy-1.17.0rc2-cp36-cp36m-manylinux1_x86_64.whl
6c80d6269b685d986d9a5126d230384c  numpy-1.17.0rc2-cp36-cp36m-win32.whl
06b6774497e40d0e0e640facd6ff079b  numpy-1.17.0rc2-cp36-cp36m-win_amd64.whl
d2d450902993a807616cd1bdfb0d30c6  numpy-1.17.0rc2-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
d10e80597505b0940329bcb72a9cc530  numpy-1.17.0rc2-cp37-cp37m-manylinux1_i686.whl
6a833a3e10fd4746d690650e549205ea  numpy-1.17.0rc2-cp37-cp37m-manylinux1_x86_64.whl
77d6f0cbd035c476d7032c4f032d1195  numpy-1.17.0rc2-cp37-cp37m-win32.whl
ab29ac43971aae7120b563ba079e7469  numpy-1.17.0rc2-cp37-cp37m-win_amd64.whl
4ded0046dedc142f3b9d1e8b89d2d11b  numpy-1.17.0rc2.tar.gz
8d0075fdf1de498fe27a0257c07029ea  numpy-1.17.0rc2.zip

SHA256

724efe307f5b6df931559fcd3a0ba0e655b1955354361dec039dc5506829a1af  numpy-1.17.0rc2-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
45bc7b87ddbc2864ab528edf547201be142077caeb1916bca9aac6e5846dcf0e  numpy-1.17.0rc2-cp35-cp35m-manylinux1_i686.whl
2716333552115eeca9d774556644b2df83073d85d9b30700cbe24b7e2f58c6f3  numpy-1.17.0rc2-cp35-cp35m-manylinux1_x86_64.whl
58f890a52716bbbb025d8f3b77f91102de7a068d214a7dea97562d8d86a1b12a  numpy-1.17.0rc2-cp35-cp35m-win32.whl
0ba8479eab6924bc9d17832a0142e54cb69ea323b544e681c051e5f85a77de84  numpy-1.17.0rc2-cp35-cp35m-win_amd64.whl
0f5b37e96989a231a9a63e4aed734d268d1f244b237a44b8703b5919c2c893a2  numpy-1.17.0rc2-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
5003389ca06659156c98215502696f7f1e85a9e1355b4121fd6fa5e098b0e062  numpy-1.17.0rc2-cp36-cp36m-manylinux1_i686.whl
8e076ac6ad2b602ffa6c7e82801c280df9680f1e11c720b550172953ebb80abb  numpy-1.17.0rc2-cp36-cp36m-manylinux1_x86_64.whl
92009e95da7d3337fb99621a09089b7770551273a4749f233843d2d6bac54d2a  numpy-1.17.0rc2-cp36-cp36m-win32.whl
8d5a1b0b31a506e61525cf801782ba4f565613278c65edfa849eb2abb7f963cc  numpy-1.17.0rc2-cp36-cp36m-win_amd64.whl
4c88a3e02a00f05a27bf9b033733c274fb3cb1ffd9eeec4490a650c10ba889ca  numpy-1.17.0rc2-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
baa9da76c108a27092f2747615af1a837c117c16f8704b25b993d3ef9a6b910c  numpy-1.17.0rc2-cp37-cp37m-manylinux1_i686.whl
e85371de8d4ba14ba077b1b856dd7d911605de0c977e17aaae36d597499699c9  numpy-1.17.0rc2-cp37-cp37m-manylinux1_x86_64.whl
d58de04dd219b92c6fb8cae34cc49aa92296c536b2d271bd09d4f704178224fd  numpy-1.17.0rc2-cp37-cp37m-win32.whl
f13346f932c0ea879df223264a438c75745632c2e0e4144f83824b7692ffe605  numpy-1.17.0rc2-cp37-cp37m-win_amd64.whl
b5e0482fc55f8bbf8eba6f9c23084cd781d307851c8e5b3336fb6a5955a08d9f  numpy-1.17.0rc2.tar.gz
a4153fe85cf92a796022b81b138000160dea840cad13b7d1db67cfec594ece23  numpy-1.17.0rc2.zip