kde_cpi.data.models module¶
Domain models for BLS Consumer Price Index (CU) survey flat files.
- class kde_cpi.data.models.Area(code, name)[source]¶
Bases:
objectGeographic area metadata from the CPI area lookup table.
- class kde_cpi.data.models.AreaSchema(*, only=None, exclude=(), many=None, load_only=(), dump_only=(), partial=None, unknown=None)[source]¶
Bases:
SchemaMarshmallow schema for serializing
Area.- Parameters:
- opts: typing.Any = <marshmallow.schema.SchemaOpts object>¶
- class kde_cpi.data.models.Dataset(areas=NOTHING, items=NOTHING, periods=NOTHING, footnotes=NOTHING, series=NOTHING, observations=NOTHING)[source]¶
Bases:
objectAggregate CPI dataset containing mapping tables, series, and observations.
- Parameters:
- extend_observations(observations)[source]¶
Append observation records to the dataset, dropping duplicates.
- Return type:
- Parameters:
observations (Iterable[Observation])
-
observations:
list[Observation]¶
- class kde_cpi.data.models.DatasetSchema(*, only=None, exclude=(), many=None, load_only=(), dump_only=(), partial=None, unknown=None)[source]¶
Bases:
SchemaMarshmallow schema for serializing
Datasetcollections.- Parameters:
- opts: typing.Any = <marshmallow.schema.SchemaOpts object>¶
- class kde_cpi.data.models.Footnote(code, text)[source]¶
Bases:
objectFootnote reference associated with CPI observations.
- class kde_cpi.data.models.FootnoteSchema(*, only=None, exclude=(), many=None, load_only=(), dump_only=(), partial=None, unknown=None)[source]¶
Bases:
SchemaMarshmallow schema for
Footnote.- Parameters:
- opts: typing.Any = <marshmallow.schema.SchemaOpts object>¶
- class kde_cpi.data.models.Item(code, name, display_level, selectable, sort_sequence)[source]¶
Bases:
objectItem metadata describing CPI product groupings.
- class kde_cpi.data.models.ItemSchema(*, only=None, exclude=(), many=None, load_only=(), dump_only=(), partial=None, unknown=None)[source]¶
Bases:
SchemaMarshmallow schema for
Itemrecords.- Parameters:
- opts: typing.Any = <marshmallow.schema.SchemaOpts object>¶
- class kde_cpi.data.models.Observation(series_id, year, period, value, footnotes=NOTHING)[source]¶
Bases:
objectSingle CPI observation value tied to a series and period.
- class kde_cpi.data.models.ObservationSchema(*, only=None, exclude=(), many=None, load_only=(), dump_only=(), partial=None, unknown=None)[source]¶
Bases:
SchemaMarshmallow schema for
Observation.- Parameters:
- make_observation(data, **kwargs)[source]¶
Instantiate
Observationwith normalized payloads.- Return type:
- Parameters:
- opts: typing.Any = <marshmallow.schema.SchemaOpts object>¶
- class kde_cpi.data.models.Period(code, abbr, name)[source]¶
Bases:
objectPeriod metadata describing CPI reporting intervals.
- class kde_cpi.data.models.PeriodSchema(*, only=None, exclude=(), many=None, load_only=(), dump_only=(), partial=None, unknown=None)[source]¶
Bases:
SchemaMarshmallow schema for
Period.- Parameters:
- opts: typing.Any = <marshmallow.schema.SchemaOpts object>¶
- class kde_cpi.data.models.Series(series_id, area_code, item_code, seasonal, periodicity_code, base_code, base_period, begin_year, begin_period, end_year, end_period, *, series_title='')[source]¶
Bases:
objectMetadata describing a CPI series and its structural attributes.
- Parameters:
- class kde_cpi.data.models.SeriesSchema(*, only=None, exclude=(), many=None, load_only=(), dump_only=(), partial=None, unknown=None)[source]¶
Bases:
SchemaMarshmallow schema for
Series.- Parameters:
- opts: typing.Any = <marshmallow.schema.SchemaOpts object>¶