# Licensed under a 3-clause BSD style license - see LICENSE.rst
from __future__ import absolute_import, division, print_function, unicode_literals
import copy
__all__ = ["Model"]
[docs]class Model(object):
"""Model base class."""
# TODO: expose model parameters as attributes
[docs] def copy(self):
"""A deep copy."""
return copy.deepcopy(self)
def __str__(self):
ss = self.__class__.__name__
ss += "\n\nParameters: \n\n\t"
table = self.parameters.to_table()
ss += "\n\t".join(table.pformat())
if self.parameters.covariance is not None:
ss += "\n\nCovariance: \n\n\t"
covariance = self.parameters.covariance_to_table()
ss += "\n\t".join(covariance.pformat())
return ss