Bottleneck 1.3.0

Release date: 2019-11-12

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. (#211, #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 (#247)

Enhancements

  • 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)

Performance

Bug Fixes

Cleanup

  • The ez_setup.py module is no longer packaged (#211)

  • Building documentation is now self-contained in make doc (#214)

  • Codebase now flake8 compliant and run on every commit

  • Codebase now uses black for autoformatting (#253)

Contributors