ssb_timeseries.properties

Properties are type definitions used for series and datasets.

class SeriesType(versioning, temporality, is_sparse=False)

Bases: object

SeriesTypes are defined by combinations of attributes that have technical implications for time series datasets.

Notable examples are Versioning and Temporality, but a few more may be added later.

SeriesType constructor.

Parameters:
  • versioning (Versioning) – The versioning of the series.

  • temporality (Temporality) – The temporality of the series.

  • is_sparse (bool) – Whether the series is sparse. Defaults to False.

__eq__(other)

Equality test.

Return type:

bool

Parameters:

other (Self)

__init__(versioning, temporality, is_sparse=False)

SeriesType constructor.

Parameters:
  • versioning (Versioning) – The versioning of the series.

  • temporality (Temporality) – The temporality of the series.

  • is_sparse (bool) – Whether the series is sparse. Defaults to False.

Return type:

None

__repr__()

Helper, returns code with required parameters to initialise given SeriesType.

Return type:

str

__str__()

Helper; returns ‘<versioning>_<temporality>’.

Return type:

str

classmethod as_of_at()

Same as SeriesType.estimate(): Shorthand for SeriesType(versioning=Versioning.AS_OF, temporality=Temporality.AT).

Return type:

Self

classmethod as_of_from_to()

Shorthand for SeriesType(versioning=Versioning.AS_OF, temporality=Temporality.FROM_TO).

Return type:

Self

property date_columns: set[str]

Returns the data columns corresponding to the series type temporality.

classmethod estimate()

Same as SeriesType.as_of_at(): Shorthand for SeriesType(versioning=Versioning.AS_OF, temporality=Temporality.AT).

Return type:

Self

classmethod from_to()

Shorthand for SeriesType(versioning=Versioning.NONE, temporality=Temporality.FROM_TO).

Return type:

Self

classmethod none_at()

Same as SeriesType.simple(): Shorthand for SeriesType(versioning=Versioning.NONE, temporality=Temporality.AT).

Return type:

Self

classmethod permutations()

Helper; returns [‘<versioning>_<temporality>’, …] .

Return type:

list[str]

classmethod simple()

Same as SeriesType.none_at(): Shorthand for SeriesType(versioning=Versioning.NONE, temporality=Temporality.AT).

Return type:

Self

class SuperEnum(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Generic enumeration helper.

__eq__(other)

Equality test.

Return type:

bool

Parameters:

other (Self)

__repr__()

Machine readable string representation, ideally sufficient to recreate object.

Return type:

str

__str__()

Human readable string representation of object.

Return type:

str

classmethod descriptions()

Returns a list of descriptions for all enum values.

Return type:

list

classmethod keys()

Returns a list of all the enum keys.

Return type:

list

classmethod to_dict()

Returns a dictionary representation of the enum.

Return type:

dict

classmethod values()

Returns a list of all the enum values.

Return type:

list

class Temporality(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: SuperEnum

Temporality describes the time dimensionality of each data point; notably duration or lack thereof.

AT = 1

Single point in time expressed with ‘valid_at’ date.

FROM_TO = 2

Duration from-to expressed with ‘valid_from’ and ‘valid_to’ dates.

NONE = 0

No temporal dimension.

property date_columns: set[str]

Returns the data columns of the temporality.

class Versioning(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: SuperEnum

Versioning refers to how revisions of data are identified (named).

AS_OF = 1

Version identified by dates allows date arithemetic (‘equals’ | ‘greater than’ | ‘smaller than’ | ‘between’).

NAMES = 2

Versions identified by free text names.

Type:

Consider adding support for

NONE = 0

Version control only. Versions are not accessible through API.

SEMANTIC = 3

Versions identified by numbers on form X.Y.Z, ie. Major.Minor.Patch.

Type:

Consider adding support for

estimate_types()

Helper; returns list of SeriesTypes for which Versioning is not NONE.

Return type:

list[str]

seriestype_from_str(dir_name)

Helper; returns SeriesType from directory name.

Return type:

SeriesType

Parameters:

dir_name (str)