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 ItemNode.

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