modelx v0.0.22 (4 June 2019)

Overview

The most notable improvement among others in this release is the introduction of a new feature to write/read models to/from text files for better version control experience.

Prior to this release, models could only be saved(“pickled”) into a binary file. Maintaining models as binary files is not ideal for version control, as it disables the use of rich features offered by modern version control systems such as git. When you wanted to save a model as text, you needed to write the entire python script to build the model from the source files. Changes made to the models interactively through IPython console could not be saved as human-readable text.

This release introduces write_model() function (or equivalent write() method) and read_model() function, to write/read a model to/from a tree of folders containing text files.

The text files created by write_model() function are written as syntactically correct Python scripts with some literals expressed in JSON. However, in most cases they are not semantically correct. These files can only be interpreted through read_model() function.

Another notable improvement is the extended depth of formula recursion. Previously the maximum depth of formula recursion was set to 1000 by default. With this release the maximum depth is extended to 65000.

Enhancements

Backward Incompatible Changes

  • Remove _self_cells and _derived_cells from StaticSpace

Bug Fixes