Skip to content

Releases: Quantco/ndonnx

0.9.3 (2024-10-25)

25 Oct 09:18
9fc8a2c
Compare
Choose a tag to compare

0.9.3 (2024-10-25)

  • Reduced the number of unnecessary casts in ndonnx.argmax and ndonnx.argmin.

0.9.2 (2024-10-03)

03 Oct 14:26
ed532b5
Compare
Choose a tag to compare

0.9.2 (2024-10-03)

  • Technical release that adds back source distribution.

0.9.1 (2024-10-01)

01 Oct 16:11
d185f2c
Compare
Choose a tag to compare

0.9.1 (2024-10-01)

Bug fix

  • Fixed a bug in the construction of nullable arrays using ndonnx.asarray where the shape of the null field would not match the values field if the provided np.ma.MaskedArray's mask was scalar.
  • Fixed a bug in the implementation of ndonnx.ones_like where the static shape was being used to construct the array of ones.

0.9.0 (2024-08-30)

30 Aug 08:35
b74c957
Compare
Choose a tag to compare

0.9.0 (2024-08-30)

New features

  • User defined data types can now define how arrays with that dtype are constructed by implementing the make_array function.
  • User defined data types can now define how they are indexed (via __getitem__) by implementing the getitem function.
  • ndonnx.NullableCore is now public, encapsulating nullable variants of CoreTypes exported by ndonnx.

Bug fixes

  • Various operations that depend on the array's shape have been updated to work correctly with lazy arrays.
  • ndonnx.cumulative_sum now correctly applies the include_initial parameter and works around missing onnxruntime kernels for unsigned integral types.
  • ndonnx.additional.make_nullable applies broadcasting to the provided null array (instead of reshape like it did previously). This allows writing make_nullable(x, False) to turn an array into nullable.
  • User-defined data types that implement ndonnx._core.UniformShapeOperations may now implement ndonnx.where without requiring both data types be promotable.

Breaking change

  • Iterating over dynamic dimensions of ndonnx.Array is no longer allowed since it commonly lead to infinite loops when used without an explicit break condition.

0.8.0 (2024-08-22)

22 Aug 14:15
b642d5a
Compare
Choose a tag to compare

0.8.0 (2024-08-22)

Bug fixes

  • Fixes parsing numpy arrays of type object (consisting of strings) as utf8. Previously this worked correctly only for 1d arrays.

Breaking change

  • ndonnx.Array.shape now strictly returns a tuple[int | None, ...], with unknown dimensions denoted by None. This relies on ONNX shape inference for lazy arrays.

0.7.0 (2024-08-12)

12 Aug 21:20
8a74385
Compare
Choose a tag to compare

0.7.0 (2024-08-12)

New features

  • Expose the ndonnx.isdtype function.
  • Custom data types can now override array functions:
    • ndonnx.zeros
    • ndonnx.zeros_like
    • ndonnx.ones
    • ndonnx.ones_like
    • ndonnx.full
    • ndonnx.full_like
    • ndonnx.arange
    • ndonnx.arange
    • ndonnx.eye
    • ndonnx.tril
    • ndonnx.triu
    • ndonnx.linspace
    • ndonnx.where
  • ndonnx._experimental.UniformShapeOperations now provides implementations of shape operations that are generic across all data types where each constituent field has the same shape (that of the overall array).

Other changes

  • Fixed various deprecation warnings.
  • Invoking a function using arrays with data types that lack a corresponding implementation now raise a UnsupportedOperationError.

Bug fixes

  • Numerical operations like ndx.sin now raise UnsupportedOperationError when invoked using invalid data types like ndx.utf8 rather than implicitly casting.
  • Fixes bug causing a promotion error when implementing numerical operations like ndx.add that involve type promotion.
  • Fixes scalar promotion logic to more accurately reflect the Array API standard. Promotion requires at least one array to be present and scalars adopt the dtype of the arrays being promoted with it. ndx.utf8 and ndx.nutf8 cannot be promoted with any other dtypes.
  • Fixes failure when broadcasting nullable data type arrays together in ndx.broadcast_arrays.

0.6.1 (2024-07-12)

12 Jul 13:56
c6df96c
Compare
Choose a tag to compare

0.6.1 (2024-07-12)

Bug fixes

  • Division now complies more strictly with the Array API standard by returning a floating-point result regardless of input data types.

0.6.0 (2024-07-11)

11 Jul 13:49
b824fec
Compare
Choose a tag to compare

Other changes

  • Function ndonnx.promote_nullable is now publicly exported

0.5.0 (2024-07-01)

01 Jul 18:21
7efb084
Compare
Choose a tag to compare

0.5.0 (2024-07-01)

Other changes

  • ndonnx now exports type annotations.

Bug fixes

  • __array_namespace__ now accepts the optional api_version argument to specify the version of the Array API to use.

0.4.0 (2024-05-16)

16 Jun 10:58
911f68c
Compare
Choose a tag to compare

0.4.0 (2024-05-16)

Breaking changes

  • The constant propagated value is no longer accessed from the eager_value property but instead the to_numpy() method.
  • Non Array API functions have been moved to the ndonnx.additional namespace.