modelx v0.5.0 (18 April 2020)

This release is mainly for adding API functions and methods needed for spyder-modelx v0.3.0. This release also introduce backward incompatible changes, one of which is the elimination of implicit conversion of Cells as arguments to their values. The calculation speed is improved by 10% due to the change.

Warning

Due to the introduction of the backward incompatible changes in this release, the source code of lifelib models based on the past lifelib versions needs manual changes to work with this version of modelx. See commit 605802a and commit df083f6 for where and how to make changes in your lifelib source code.

Enhancements

  • bases is added to _baseattrs.

  • Spaces now function as ItemProxy factories, and implement such properties as node, preds, and succs.

  • _get_from_name() method is added Model.

  • as_proxy paramter is added to get_object() function to specify whether to return ReferenceProxy for a Reference.

  • _namedid property is added to interfaces.

Backward Incompatible Changes

  • Implicit conversion of a Cells with no parameters to its value, when passed as an argument to another Cells, is removed. It must be passed as value explicitly, by adding ().

  • open_model() is renamed to restore_model() for clarity. open_model() is still available but a deprecation warning message appears, and it will be removed in a future release.

  • The items in RefView._baseattrs are changed.

  • _to_attrdict() recursively calls arguments _to_attrdict only when its defined.

  • is_input is moved to Cells

  • CellNode is renamed to ItemProxy

Bug Fixes

  • Error when a model is restored and immediately saved (GH30).

  • An incomplete model is left when read_model() fails.

  • get_object() can operate on properties too.