modelx v0.18.0 (25 December 2021)

This release introduces the following enhancements and changes.

Enhancements

A modelx model now internally maintains a map between input values and references referring to the input values. The mapping allows you to replace an object referenced by multiple references. By making use of the mapping, Model.update_pandas and UserSpace.update_pandas are introduced for replacing a pandas object referenced in a model, and Model.update_module and UserSpace.update_module are introduced for replacing an user module.

A new version of the Spyder plugin for modelx is released to show the internal map visually. It adds a data tab in MxExplorer, which lists all the objects input in the selected model, and shows for each object referring References and the associated DataSpace if any.

../_images/data-tab.png

The Data tab in the Spyder plugin for modelx

Backward Incompatible Changes

  • Models saved by older versions of modelx can be opened by v0.18.0, but once they are saved, the models cannot be read by the older versions of modelx. Models saved by v0.18.0 cannot be opened by older modelx.

  • backup() and restore_model() are now deprecated. Use zip() or zip_model() instead to save a model into a single file.

  • The expose_data parameters of Model.new_pandas and UserSpace.new_pandas are removed. Associated PandasData objects are always hidden.

  • The dataclients property is now renamed to dataspecs.

  • The BaseDataClient class is now renamed to BaseDataSpec.