cola.models.base – Serializable model base class

This module provides the BaseModel class, a generic, serializable data container.

class cola.models.base.BaseModel

BaseModel is a base class that implements convenient serialization methods.

clone()

Creates a clone of the current object.

>>> m = BaseModel()
>>> m.answer = 42
>>> clone = m.clone()
>>> clone.answer
42
>>> type(clone)
<class 'cola.models.base.BaseModel'>
copy_params(model, params_to_copy=None)

Copies params from one model to another.

>>> m = BaseModel()
>>> m.answer = 42
>>> m._question = 'unknown'
>>> m2 = BaseModel()
>>> m2.copy_params(m)
>>> m2._question
'unknown'
>>> m2.answer
42
from_dict(source_dict)

Import a complex model from a dictionary. If it looks like a duck, it’s a duck.

>>> BaseModel().from_dict({'answer': 42}).answer
42
has_param(param)

Returns true if a parameter exists in a model.

>>> m = BaseModel()
>>> m.answer = 42
>>> m.has_param('answer')
True
>>> m.has_param('question')
False
static instance(filename)

Instances a model from a filename.

items(raw=False)

Provides a dictionary-like items() iterator.

>>> m = BaseModel().from_dict(dict(a='a', b='b'))
>>> value = 'nada'
>>> for k, v in m.items(): value = v;
>>> value
'b'
iteritems(raw=False)

Provides a dictionary-like iteritems() iterator.

>>> m = BaseModel().from_dict(dict(a='a', b='b'))
>>> value = 'nada'
>>> for k, v in m.iteritems(): value = v;
>>> value
'b'
load(filename)

Loads model state from a file.

param(param, default=None)

Returns the value of a model parameter.

>>> m = BaseModel()
>>> m.answer = 42
>>> m.param('answer')
42
>>> m.param('another answer', 42)
42
param_names(export=False)

Returns a list of serializable attribute names.

>>> m = BaseModel()
>>> m._question = 'unknown'
>>> m.answer = 42
>>> m.param_names()
['answer']
>>> m.param_names(export=True)
['_question', 'answer']
save(filename)

Saves a model to a file.

set_param(param, value)

Wrapper around setattr()

>>> m = BaseModel()
>>> m.answer = 41
>>> m.set_param('answer', 42)
>>> m.answer
42
to_dict()

Exports a model to a dictionary. This simplifies serialization.

>>> is_dict(BaseModel().to_dict())
True
class cola.models.base.BaseModelIterator(model)

Provides an iterator over model (key, value) pairs.

next()
cola.models.base.is_atom(item)

Is this an atom?

cola.models.base.is_dict(item)

Is this an instance of a dictionary?

cola.models.base.is_function(item)

Is this a function?

cola.models.base.is_list(item)

Is this a list?

cola.models.base.is_model(item)

Is this an instance of a BaseModel-like object?

Previous topic

Models

Next topic

cola.models.browser – RepoBrowser model

This Page