* Mon Mar 30 2020 John Vandenberg <jayvdb@gmail.com>
- Require numpy 1.16.0, removing Python 2 support which provides
a lower version
- Activate test suite
* Sat Mar 14 2020 Arun Persaud <arun@gmx.de>
- specfile:
* update copyright year
- update to version 1.3.2:
* Bug Fixes
+ Explicitly declare numpy version dependency in pyproject.toml
for Python 3.8, fixing certain cases where pip install would
fail. Thanks to @goggle, @astrofrog, and @0xb0b for
reporting. (:issue:`277`)
* Fri Nov 22 2019 Arun Persaud <arun@gmx.de>
- specfile:
* update copyright year
- update to version 1.3.1:
* Bug Fixes
+ Fix memory leak in :func:`bottleneck.nanmedian` with the default
argument of axis=None. Thanks to @jsmodic for reporting!
(:issue:`276`, :issue:`278`)
+ Add regression test for memory leak case (:issue:`279`)
- changes from version 1.3.0:
* Project Updates
+ 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 and
3.8. (:issue:`211`, :issue:`268`)
+ 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 (:issue:`247`)
* Enhancements
+ Remove numpydoc package from Bottleneck source distribution
+ :func:`bottleneck.slow.reduce.nansum` and
:func:`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 (:issue:`213`)
+ Test suite now uses pytest as nose is deprecated (:issue:`222`)
+ python setup.py build_ext --inplace is now incremental
(:issue:`224`)
+ python setup.py clean now cleans all artifacts (:issue:`226`)
+ Compiler feature support now identified by testing rather than
hardcoding (:issue:`227`)
+ The BN_OPT_3 macro allows selective use of -O3 at the function
level (:issue:`223`)
+ Contributors are now automatically cited in the release notes
(:issue:`244`)
* Performance
+ Speed up :func:`bottleneck.reduce.anynan` and
:func:`bottleneck.reduce.allnan` by 2x via BN_OPT_3
(:issue:`223`)
+ All functions covered by asv benchmarks
+ :func:`bottleneck.nonreduce.replace` speedup of 4x via more
explicit typing (:issue:`239`)
+ :func:`bottleneck.reduce.median` up to 2x faster for
Fortran-ordered arrays (:issue:`248`)
* Bug Fixes
+ Documentation fails to build on Python 3 (:issue:`170`)
+ :func:`bottleneck.benchmark.bench` crashes on python 3.6.3,
numpy 1.13.3 (:issue:`175`)
+ :func:`bottleneck.nonreduce_axis.push` raises when n=None is
explicitly passed (:issue:`178`)
+ :func:`bottleneck.reduce.nansum` wrong output when a =
np.ones((2, 2))[..., np.newaxis] same issue of other reduce
functions (:issue:`183`)
+ Silenced FutureWarning from NumPy in the slow version of move
functions (:issue:`194`)
+ Installing bottleneck onto a system that does not already have
Numpy (:issue:`195`)
+ Memory leaked when input was not a NumPy array (:issue:`201`)
+ Tautological comparison in :func:`bottleneck.move.move_rank`
removed (:issue:`207`, :issue:`212`)
* Cleanup
+ The ez_setup.py module is no longer packaged (:issue:`211`)
+ Building documentation is now self-contained in make doc
(:issue:`214`)
+ Codebase now flake8 compliant and run on every commit
+ Codebase now uses black for autoformatting (:issue:`253`)
Version: 1.2.1-bp150.2.4
* Wed Sep 27 2017 arun@gmx.de
- update to version 1.2.1:
* #156 Installing bottleneck when two versions of NumPy are present
* #157 Compiling on Ubuntu 14.04 inside a Windows 7 WMware
* #159 Occasional segmentation fault in nanargmin, nanargmax,
median, and nanmedian when all of the following conditions are
met: axis is None, input array is 2d or greater, and input array
is not C contiguous.
* #163 Reducing np.array([2**31], dtype=np.int64) overflows on
Windows
* Wed Apr 19 2017 toddrme2178@gmail.com
- Implement single-spec version.
* Mon Nov 14 2016 dmueller@suse.com
- update to 1.2.0:
This release is a complete rewrite of Bottleneck.
- Bottleneck is now written in C
- Cython is no longer a dependency
- Source tarball size reduced by 80%
- Build time reduced by 66%
- Install size reduced by 45%
* Mon Apr 27 2015 benoit.monin@gmx.fr
- update to version 1.0.0:
* "python setup.py build" is 18.7 times faster
* Function-call overhead cut in half---a big speed up for small
input arrays
* Arbitrary ndim input arrays accelerated; previously only 1d,
2d, and 3d
* bn.nanrankdata is twice as fast for float input arrays
* bn.move_max, bn.move_min are faster for int input arrays
* No speed penalty for reducing along all axes when input is
Fortran ordered
* Compiled binaries 14.1 times smaller
* Source tarball 4.7 times smaller
* 9.8 times less C code
* 4.3 times less Cython code
* 3.7 times less Python code
* Requires numpy 1.9.1
* Single API, e.g.: bn.nansum instead of bn.nansum and
nansum_2d_float64_axis0
* On 64-bit systems bn.nansum(int32) returns int32 instead of
int64
* bn.nansum now returns 0 for all NaN slices (as does numpy
1.9.1)
* Reducing over all axes returns, e.g., 6.0; previously
np.float64(6.0)
* bn.ss() now has default axis=None instead of axis=0
* bn.nn() is no longer in bottleneck
* Previous releases had moving window function pairs: move_sum,
move_nansum
* This release only has half of the pairs: move_sum
* Instead a new input parameter, min_count, has been added
* min_count=None same as old move_sum; min_count=1 same as old
move_nansum
* If # non-NaN values in window < min_count, then NaN assigned
to the window
* Exception: move_median does not take min_count as input
* Can now install bottleneck with pip even if numpy is not
already installed
* bn.move_max, bn.move_min now return float32 for float32 input
- increase required numpy version to 1.9.1
* Thu May 08 2014 toddrme2178@gmail.com
- Update to version 0.8.0
- This version of Bottleneck requires NumPy 1.8
- nanargmin and nanargmax behave like the corresponding functions in NumPy 1.8
- nanargmax/nanargmin wrong for redundant max/min values in 1d int arrays
* Tue Oct 22 2013 toddrme2178@gmail.com
- Update to version 0.7.0
+ bn.rankdata() is twice as fast (with input a = np.random.rand(1000000))
+ C files now included in github repo; cython not needed to try latest
+ C files are now generated with Cython 0.19.1 instead of 0.16
+ Test bottleneck across multiple python/numpy versions using tox
+ Source tarball size cut in half
* Fri Jun 22 2012 saschpe@suse.de
- %py_requires is only needed for SLE_11_SP2 (and older), newer Python
package releases generate the RPM requires for the Python ABI automatically
* Fri Jun 22 2012 saschpe@suse.de
- Update to version 0.6.0:
+ replace(arr, old, new), e.g, replace(arr, np.nan, 0)
+ nn(arr, arr0, axis) nearest neighbor and its index of 1d arr0 in 2d arr
+ anynan(arr, axis) faster alternative to np.isnan(arr).any(axis)
+ allnan(arr, axis) faster alternative to np.isnan(arr).all(axis)
+ Python 3.2 support (may work on earlier verions of Python 3)
+ C files are now generated with Cython 0.16 instead of 0.14.1
+ Upgrade numpydoc from 0.3.1 to 0.4 to support Sphinx 1.0.1
+ Support for Python 2.5 dropped
+ Default axis for benchmark suite is now axis=1 (was 0)
+ #31 Confusing error message in partsort and argpartsort
+ #32 Update path in MANIFEST.in
+ #35 Wrong output for very large (2**31) input arrays
* Fri Jun 01 2012 toddrme2178@gmail.com
- spec file cleanups
- fix license tag
* Mon Feb 27 2012 scorot@free.fr
- version 0.5.0
* Sat Jan 22 2011 scorot@gtt.fr
- Initial release