Rust Numpy Versions Save

PyO3-based Rust bindings of the NumPy C-API

v0.21.0

1 month ago

This release matches PyO3 version 0.21.0 and thanks to the tireless work of @Icxolu migrates to the new Bound API which unlocks pervasive performance improvements. It also adds a prelude module to simplify imports and extends the documentation to cover some surprising behaviours.

v0.20.0

7 months ago

This release matches PyO3 version 0.20.0 and follows its MSRV increase to Rust 1.56. It adds support for fixed size string-like elements via PyFixedString and PyFixedUnicode, adds support for the bfloat16 element type often added to NumPy by third-party packages and introduces the PyArrayLike receiver type to provide flexible yet efficient array-based API.

v0.19.0

11 months ago

This release matches PyO3 version 0.19.0. It introduces PyUntypedArray which allows safe inspection of an array before committing to an element type.

v0.18.0

1 year ago

This release matches PyO3 version 0.18.0, adds basic conversions to and from the types provided by the nalgebra crate, drops the deprecated wrappers around NumPy's iterators and makes the dynamic borrow checking work across multiple extensions and potentially language boundaries.

v0.17.2

1 year ago

This release fixes unsound aliasing into Box<[T]> when converting these into PyArray<T, D> via the IntoPyArray trait.

v0.17.1

1 year ago

This release fixes a use-after-free bug in how the methods PyArray::resize, PyArray::reshape and PyArray::reshape_with_order call into the NumPy C-API.

Due to this breaking memory safety and being easy to hit in release builds, the previous release 0.17.0 was yanked from crates.io.

v0.17.0

1 year ago

This release matches PyO3 version 0.17.0. It introduces dynamic borrow checking for PyArray and adds support for NumPy's float16, datetime64 and timedelta64 data types. The complete changelog lists further fixes and enhancements.

v0.16.2

2 years ago

This release fixes builds on platforms where c_char is unsigned, for example Linux/AArch64.

v0.16.1

2 years ago

This release contains a bugfix to make this crate compatible again with PyO3's multiple-pymethods feature.

v0.16.0

2 years ago

This release matches PyO3 version 0.16.0, adds support for object arrays, i.e. PyArray<PyObject, D>, contains a large overhaul of the dtype-related API, i.e. PyArrayDescr, by @aldanor and deprecates the npyiter module in favour of ndarray's iteration facilities. Smaller fixes and improvements are listed in the complete changelog.