modelx v0.9.0 (9 Aug 2020)

This release introduces the following enhancements and changes.

Enhancements

Introduction of new interface to Excel files

The Model.new_excel_range and UserSpace.new_excel_range methods are introduced. These methods create newly introduced ExcelRange objects and assign the objects to References. ExcelRange objects act like dict and the user can get and set values by the subscription operation ([]). Excel files accessed through ExcelRange objects are saved inside model folders, or outside of the model folders.

ZIP file compression (GH36)

Models written to ZIP files by zip_model() function or zip() method are now compressed by default. The compression can be configured by newly introduced compression and compresslevel parameters.

Updated serializer

The serializer is updated and the structure of the model folders is different from the previous version. The updated serializer writes Model information to __init__.py directly under the model folder. The updated serializer creates a folder for each UserSpace with the same name as the UserSpace, and output information about the UserSpace to __init__.py files under the folder. The serializer puts data files under folders named _data. Models output by older versions are also supported.

Backward Incompatible Changes

Text files are output in UTF-8

Text files output by functions or methods to write Models, such as write_model() are now all in UTF-8. Previously, text files were output in operating system’s default encoding for the most part, and some were in UTF-8.