These are the major changes made in each release. For details of the changes see the commit log at http://github.com/kwgoodman/bottleneck
Release date: Not yet released, in development
Thanks to Dougal Sutherland, Bottleneck now runs on Python 3.2.
New functions
- 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)
Enhancements
- Python 3.2 support (may work on earlier verions of Python 3)
- Upgrade numpydoc from 0.3.1 to 0.4 to support Sphinx 1.0.1
Breaks from 0.5.0
- Support for Python 2.5 dropped
- Default axis for benchmark suite is now axis=1 (was 0)
Bug fixes
- #31 Confusing error message in partsort and argpartsort
- #32 Update path in MANIFEST.in
- #35 Wrong output for very large (2**31) input arrays
Release notes from past releases.
Release date: 2011-06-13
The fifth release of bottleneck adds four new functions, comes in a single source distribution instead of separate 32 and 64 bit versions, and contains bug fixes.
J. David Lee wrote the C-code implementation of the double heap moving window median.
New functions
- move_median(), moving window median
- partsort(), partial sort
- argpartsort()
- ss(), sum of squares, faster version of scipy.stats.ss
Changes
- Single source distribution instead of separate 32 and 64 bit versions
- nanmax and nanmin now follow Numpy 1.6 (not 1.5.1) when input is all NaN
Bug fixes
- #14 Support python 2.5 by importing with statement
- #22 nanmedian wrong for particular ordering of NaN and non-NaN elements
- #26 argpartsort, nanargmin, nanargmax returned wrong dtype on 64-bit Windows
- #29 rankdata and nanrankdata crashed on 64-bit Windows
Release date: 2011-03-17
This is a bug fix release.
Bug fixes
- #11 median and nanmedian modified (partial sort) input array
- #12 nanmedian wrong when odd number of elements with all but last a NaN
Enhancement
- Lazy import of SciPy (rarely used) speeds Bottleneck import 3x
Release date: 2011-03-08
This is a bug fix release.
Same bug fixed in Bottleneck 0.4.1 for nanstd() was fixed for nanvar() in this release. Thanks again to Christoph Gohlke for finding the bug.
Release date: 2011-03-08
This is a bug fix release.
The low-level functions nanstd_3d_int32_axis1 and nanstd_3d_int64_axis1, called by bottleneck.nanstd(), wrote beyond the memory owned by the output array if arr.shape[1] == 0 and arr.shape[0] > arr.shape[2], where arr is the input array.
Thanks to Christoph Gohlke for finding an example to demonstrate the bug.
Release date: 2011-03-08
The fourth release of Bottleneck contains new functions and bug fixes. Separate source code distributions are now made for 32 bit and 64 bit operating systems.
New functions
- rankdata()
- nanrankdata()
Enhancements
- Optionally specify the shapes of the arrays used in benchmark
- Can specify which input arrays to fill with one-third NaNs in benchmark
Breaks from 0.3.0
- Removed group_nanmean() function
- Bump dependency from NumPy 1.4.1 to NumPy 1.5.1
- C files are now generated with Cython 0.14.1 instead of 0.13
Bug fixes
- #6 Some functions gave wrong output dtype for some input dtypes on 32 bit OS
- #7 Some functions choked on size zero input arrays
- #8 Segmentation fault with Cython 0.14.1 (but not 0.13)
Release date: 2010-01-19
The third release of Bottleneck is twice as fast for small input arrays and contains 10 new functions.
Faster
- All functions are faster (less overhead in selector functions)
New functions
- nansum()
- move_sum()
- move_nansum()
- move_mean()
- move_std()
- move_nanstd()
- move_min()
- move_nanmin()
- move_max()
- move_nanmax()
Enhancements
- You can now specify the dtype and axis to use in the benchmark timings
- Improved documentation and more unit tests
Breaks from 0.2.0
- Moving window functions now default to axis=-1 instead of axis=0
- Low-level moving window selector functions no longer take window as input
Bug fix
- int input array resulted in call to slow, non-cython version of move_nanmean
Release date: 2010-12-27
The second release of Bottleneck is faster, contains more functions, and supports more dtypes.
Faster
- All functions faster (less overhead) when output is not a scalar
- Faster nanmean() for 2d, 3d arrays containing NaNs when axis is not None
New functions
- nanargmin()
- nanargmax()
- nanmedian()
Enhancements
- Added support for float32
- Fallback to slower, non-Cython functions for unaccelerated ndim/dtype
- Scipy is no longer a dependency
- Added support for older versions of NumPy (1.4.1)
- All functions are now templated for dtype and axis
- Added a sandbox for prototyping of new Bottleneck functions
- Rewrote benchmarking code
Release date: 2010-12-10
Initial release. The three categories of Bottleneck functions:
- Faster replacement for NumPy and SciPy functions
- Moving window functions
- Group functions that bin calculations by like-labeled elements