ska_oso_pdm._shared

The ska_oso_pdm._shared package model entities and types that are used by more than one OSO entity, for example the Target that is used by both SB Definitions and Observing Proposals. Package contents are presented in the diagram below.

../../_images/ska_oso_pdm__shared.svg

Class diagram for the ska_oso_pdm._shared package

class PdmObject[source]

Shared Base Class for all PDM Entities.

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'extra': 'ignore', 'validate_assignment': True, 'validate_default': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

class FunctionArgs(*, function_name: str | None = None, function_args: PythonArguments | None = None)[source]

Represents a Python function & its arguments

class PythonArguments(*, args: list = None, kwargs: dict = None)[source]

Represents the arguments for a Python callable.

class Metadata(*, version: int = 1, created_by: str | None = None, created_on: AwareDatetime = None, last_modified_by: str | None = None, last_modified_on: AwareDatetime = None)[source]

Represents metadata about other entities.

Contains very basic building blocks used elsewhere in the PDM. Enums, constants, type definitions, etc. Don’t put any fancy models or classes in here.

class TelescopeType(value)[source]

An enumeration.

class TerseStrEnum(value)[source]

Subclass to give enums a terse repr()