modelx v0.7.0 (24 May 2020)

This release introduces some new features and fixes bugs around updating objects and values upon model changes.

Enhancements

Introduction of UserSpace.formula setter and deleter

The UserSpace.formula property now supports assignment and deletion operations, such as:

>>> Space.formula = lambda x, y: None

>>> del Space.formula

When the Formula of a UserSpace is reassigned or deleted, existing child ItemSpaces are deleted.

Introduction of UserSpace.parameters setter

The UserSpace.parameters property now supports assignment operation, such as:

>>> Space.parameters = ('x', 'y=0')

The assignment to UserSpace.parameters is a syntactic sugar and the code above is equivalent to:

>>> Space.set_formula(lambda x, y=0: None)

Other enhancements

Backward Incompatible Changes

  • get_object() now returns NameError when the name is not found.

  • ItemProxy renamed to Element.

  • Only tuples are interpreted as multiple indexes in subscription expression.

Bug Fixes

  • References not being updated for reassigned Formulas.

  • Sub spaces directly under Model not being updated after its bases’ deletion.

  • Dependents values not being cleared at Cells’ deletion.