Bottleneck 1.2.0

Release date: 2016-10-20

This release is a complete rewrite of Bottleneck.

Port to C

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

Redesign

  • Besides porting to C, much of bottleneck has been redesigned to be simpler and faster. For example, bottleneck now uses its own N-dimensional array iterators, reducing function call overhead.

New features

  • The new function bench_detailed runs a detailed performance benchmark on a single bottleneck function.

  • Bottleneck can be installed on systems that do not yet have NumPy installed. Previously that only worked on some systems.

Beware

  • Functions partsort and argpartsort have been renamed to partition and argpartition to match NumPy. Additionally the meaning of the input arguments have changed: bn.partsort(a, n)() is now equivalent to bn.partition(a, kth=n-1)(). Similarly for bn.argpartition.

  • The keyword for array input has been changed from arr to a in all functions. It now matches NumPy.

Thanks

  • Moritz E. Beber: continuous integration with AppVeyor

  • Christoph Gohlke: Windows compatibility

  • Jennifer Olsen: comments and suggestions

  • A special thanks to the Cython developers. The quickest way to appreciate their work is to remove Cython from your project. It is not easy.

Contributors