monitor_schema.models.commons#

Common schema definitions.

Module Contents#

Classes#

NoExtrasBaseModel

No extras base model.

ImmediateSchedule

Schedule the monitor to run immediately.

TimeRange

Support for a specific time range.

CronSchedule

Support for scheduling.

Cadence

Cadence for an analyzer or monitor run.

FixedCadenceSchedule

Support for scheduling based on a predefined cadence.

Metadata

Metadata for a top-level objects such as monitors, analyzers, and schema.

Attributes#

monitor_schema.models.commons.CRON_REGEX = (@(annually|yearly|monthly|weekly|daily|hourly))|((((\d+,)+\d+|(\d+(\/|-)\d+)|\d+|\*) ?){5,7})#
monitor_schema.models.commons.DATASET_ID_REGEX = [a-zA-Z0-9\-_\.]+#
monitor_schema.models.commons.DATASET_ID_DEF#
class monitor_schema.models.commons.NoExtrasBaseModel(**data: Any)[source]#

Bases: pydantic.BaseModel

No extras base model.

Inherit to prevent accidental extra fields.

class monitor_schema.models.commons.ImmediateSchedule(**data: Any)[source]#

Bases: NoExtrasBaseModel

Schedule the monitor to run immediately.

type :Literal[immediate]#
class monitor_schema.models.commons.TimeRange(**data: Any)[source]#

Bases: NoExtrasBaseModel

Support for a specific time range.

start :datetime.datetime#
end :datetime.datetime#
class monitor_schema.models.commons.CronSchedule(**data: Any)[source]#

Bases: NoExtrasBaseModel

Support for scheduling.

type :Literal[CronSchedule.cron]#
cron :str#
exclusionRanges :Optional[List[TimeRange]]#
class monitor_schema.models.commons.Cadence[source]#

Bases: str, enum.Enum

Cadence for an analyzer or monitor run.

hourly = hourly#
daily = daily#
weekly = weekly#
monthly = monthly#
class monitor_schema.models.commons.FixedCadenceSchedule(**data: Any)[source]#

Bases: NoExtrasBaseModel

Support for scheduling based on a predefined cadence.

type :Literal[fixed]#
cadence :Literal[Cadence, Cadence, Cadence, Cadence]#
exclusionRanges :Optional[List[TimeRange]]#
class monitor_schema.models.commons.Metadata(**data: Any)[source]#

Bases: NoExtrasBaseModel

Metadata for a top-level objects such as monitors, analyzers, and schema.

This object is managed by WhyLabs. Any user-provided values will be ignored on WhyLabs side.

version :int#
schemaVersion :Optional[int]#
updatedTimestamp :int#
author :str#
description :Optional[str]#