Skip to content

v0.2.0

Latest
Compare
Choose a tag to compare
@matt-graham matt-graham released this 16 Aug 14:45
· 1 commit to main since this release

Major release.

Breaking changes

  • symnum.array.SymbolicArray no longer subclasses sympy.tensor.array.dense_ndim_array.ImmutableDenseNDimArray, instead wrapping an instance of this class and delegating some methods. Only a subset of previously inherited methods are now exposed.
  • symnum.codegen.FunctionExpression no longer subclasses sympy.core.expr.Expr with updated handling no longer requiring this, and this avoiding exposing inherited methods which do not perform as expected for instances of class.
  • symnum.numpy.array function now returns original array when passed a NumPy array of non-object datatype.
  • synnum.array.ScalarLike now includes boolean types (in-built plus SymPy)
  • symnum.array.slice_iterator no longer publicly exposed as part of API.

Bug fixes and enhancements

  • Handling of zero-dimensional SymbolicArray instances improved, with several corner cases in methods previously causing errors fixed.
  • Deprecated imports of generic types from collections instead of collections.abc fixed allowing usage with Python 3.10+.
  • Use of deprecated numpy.object datatype replaced with in-built object, allowing usage with NumPy 1.24+.
  • Type hints added to all publicly exposed functions and methods.
  • Unit tests added for symnum.numpy and symnum.array modules.
  • symnum.numpy.concatenate now handles axis=None case equivalently to NumPy.

Packaging and documentation improvement

  • API documentation now built using Sphinx.
  • Project metadata now stored in pyproject.toml file with setup.py script removed.