Bottleneck has a new maintainer, Christopher Whelan (@qwhelan
on GitHub).
Documentation now hosted at https://bottleneck.readthedocs.io
1.3.x will be the last release to support Python 2.7
Bottleneck now supports and is tested against Python 3.7. (#211)
It is believed to work on Python 3.8 but our testing infrastructure does not yet support 3.8.
The LICENSE
file has been restructured to only include the license for the
Bottleneck project to aid license audit tools. There has been no change
to the licensing of Bottleneck.
Licenses for other projects incorporated by Bottleneck are now reproduced in full in separate files in the LICENSES/
directory (eg, LICENSES/NUMPY_LICENSE
)
All licenses have been updated. Notably, setuptools is now MIT licensed and no longer under the ambiguous dual PSF/Zope license.
Bottleneck now uses PEP 518 for specifying build dependencies, with per Python version specifications (#247)
Remove numpydoc
package from Bottleneck source distribution
bottleneck.slow.reduce.nansum()
and bottleneck.slow.reduce.ss()
now longer coerce output to have the same dtype as input
Test (tox, travis, appveyor) against latest numpy
(in conda)
Performance benchmarking also available via asv
versioneer
now used for versioning (#213)
Test suite now uses pytest
as nose
is deprecated (#222)
python setup.py build_ext --inplace
is now incremental (#224)
python setup.py clean
now cleans all artifacts (#226)
Compiler feature support now identified by testing rather than hardcoding (#227)
The BN_OPT_3
macro allows selective use of -O3
at the function level (#223)
Contributors are now automatically cited in the release notes (#244)
Speed up bottleneck.reduce.anynan()
and bottleneck.reduce.allnan()
by 2x via BN_OPT_3
(#223)
All functions covered by asv
benchmarks
bottleneck.nonreduce.replace()
speedup of 4x via more explicit typing (#239)
bottleneck.reduce.median()
up to 2x faster for Fortran-ordered arrays (#248)
Documentation fails to build on Python 3 (#170)
bottleneck.benchmark.bench()
crashes on python 3.6.3, numpy 1.13.3 (#175)
bottleneck.nonreduce_axis.push()
raises when n=None
is explicitly passed (#178)
bottleneck.reduce.nansum()
wrong output when a = np.ones((2, 2))[..., np.newaxis]
same issue of other reduce functions (#183)
Silenced FutureWarning from NumPy in the slow version of move functions (#194)
Installing bottleneck onto a system that does not already have Numpy (#195)
Memory leaked when input was not a NumPy array (#201)
Tautological comparison in bottleneck.move.move_rank()
removed (#207, #212)
A total of 8 people contributed patches to this release. People with a “+” by their names contributed a patch for the first time.