DataSpec types#


class BaseDataSpec(path)[source]#

Abstract base class for accessing data stored in files

Changed in version 0.18.0: The is_hidden parameter is removed.

Changed in version 0.18.0: the class name is changed from BaseDataClient to BaseDataSpec.


class ExcelRange(path, range_, sheet=None, keyids=None)[source]#

Mapping class for accessing Excel ranges

An ExcelRange is a dict-like object that represents a range in an Excel file. The user can read values from the range or write values to it by the subscription operator []. ExcelRange is a mapping class, thus it implements all the mapping methods and operations.

ExcelRange objects can only be created by the Model.new_excel_range or UserSpace.new_excel_range method.

ExcelRange is a subclass of the BaseDataSpec abstract class. The dataspecs property list all the BaseDataSpec instances held in the Model including ExcelRange objects.

New in version 0.9.0.


class PandasData(path, data, filetype)[source]#

A subclass of BaseDataSpec that associates a pandas DataFrame or Series with a file

A PandasData holds a pandas DataFrame or Series object, and associates it with a file for writing and reading the object.

A PandasData can be created only by UserSpace.new_pandas or Model.new_pandas.

The DataFrame or Series held in PandasData objects are accessible through value property or a call () method.

  • path – Path to a file for saving data. If a relative path is given, it is relative to the model folder.

  • data – a pandas DataFrame or Series.

  • filetype (str) – String to specify the file format. “excel” or “csv”


A path to the associated file as a pathlib.Path object.


“excel” or “csv”.



Changed in version 0.18.0: The expose_data parameter is removed.

property PandasData.value#

pandas DataFrame or Series held in the object


class ModuleData(path, module=None)[source]#

A subclass of BaseDataSpec that associates a user module with its source file in the model

A ModuleData is created either by UserSpace.new_module or Model.new_module when a user module is assigned to a Reference. The ModuleData is assigned to the _mx_dataclient attribute of the module.

New in version 0.13.0.

property ModuleData.value#

Module held in the object