/  PyMDB  /  Systems

Systems

System

class yamcs.pymdb.System

Bases: object

The top-level system is the root element for the set of metadata necessary to monitor and command a space device, such as a satellite.

A system defines a namespace.

Metadata areas include: telemetry, calibration, alarm, algorithms and commands.

A system may have child Subsystems, forming a system tree.

__init__(name: str, aliases: Optional[Mapping[str, str]] = None, short_description: Optional[str] = None, long_description: Optional[str] = None, extra: Optional[Mapping[str, str]] = None)
property algorithms: list[Algorithm]

Algorithms directly belonging to this system

aliases: dict[str, str]

Alternative names, keyed by namespace

property commands: list[Command]

Commands directly belonging to this system

property containers: list[Container]

Containers directly belonging to this system

dump(fp: TextIO, *, indent: str = '  ', top_comment: bool | str = True, skip_algorithms: bool = False, skip_commands: bool = False, skip_containers: bool = False, skip_parameters: bool = False, skip_subsystems: bool = False) None

Serialize this system in XTCE format to a file-like object

Parameters:
  • fp – The file-like object to serialize to. fp.write() must support str input.

  • indent – String used to indent each level. For most compact, use empty string. Defaults to two spaces.

  • top_comment – Customize the XML comment to insert at the top of the generated XTCE. Set to false to have no top comment.

  • skip_algorithms – If True, skip the <AlgorithmSet /> tag within <TelemetryMetaData />.

  • skip_commands – If True, skip the <CommandMetaData /> tag.

  • skip_containers – If True, skip the <ContainerSet /> tag within <TelemetryMetaData />.

  • skip_parameters – If True, skip the <ParameterSet /> and <ParameterTypeSet /> within <TelemetryMetaData />.

dumps(*, indent: str = '  ', top_comment: bool | str = True, skip_algorithms: bool = False, skip_commands: bool = False, skip_containers: bool = False, skip_parameters: bool = False, skip_subsystems: bool = False) str

Serialize this system to an XTCE-formatted string

Parameters:
  • indent – String used to indent each level. For most compact, use empty string. Defaults to two spaces.

  • top_comment – Customize the XML comment to insert at the top of the generated XTCE. Set to false to have no top comment.

  • skip_algorithms – If True, skip the <AlgorithmSet /> tag within <TelemetryMetaData />.

  • skip_commands – If True, skip the <CommandMetaData /> tag.

  • skip_containers – If True, skip the <ContainerSet /> tag within <TelemetryMetaData />.

  • skip_parameters – If True, skip the <ParameterSet /> and <ParameterTypeSet /> within <TelemetryMetaData />.

extra: dict[str, str]

Arbitrary information, keyed by name

find_algorithm(name: str) Algorithm

Find an algorithm belonging directly to this system.

Raises an exception if no algorithm is found

find_command(name: str) Command

Find a command belonging directly to this system.

Raises an exception if no command is found

find_container(name: str) Container

Find a container belonging directly to this system.

Raises an exception if no container is found

find_parameter(name: str) Parameter

Find a parameter belonging directly to this system.

Raises an exception if no parameter is found

find_subsystem(name: str) Subsystem

Find a subsystem belonging directly to this system.

Raises an exception if no subsystem is found

long_description: str | None

Multiline description

name: str

Short name of this system

property parameters: list[Parameter]

Parameters directly belonging to this system

property qualified_name: str
remove_algorithm(name: str) bool

Removes an algorithm directly belonging to this system.

Raises an exception if no such algorithm exists

remove_command(name: str) bool

Removes a command directly belonging to this system.

Raises an exception if no such command exists

remove_container(name: str) bool

Removes a container directly belonging to this system.

Raises an exception if no such container exists

remove_parameter(name: str) bool

Removes a parameter directly belonging to this system.

Raises an exception if no such parameter exists

remove_subsystem(name: str) bool

Removes a subsystem directly belonging to this system.

Raises an exception if no such subsystem exists

property root: System

The top-most system

short_description: str | None

Oneline description

property subsystems: list[Subsystem]

Subsystems directly belonging to this system

Subsystem

class yamcs.pymdb.Subsystem

Bases: System

A subsystem is identical to a System, but in addition keeps a reference to its parent system.

__init__(system: System, name: str, aliases: Optional[Mapping[str, str]] = None, short_description: Optional[str] = None, long_description: Optional[str] = None, extra: Optional[Mapping[str, str]] = None)
property algorithms: list[Algorithm]

Algorithms directly belonging to this system

aliases: dict[str, str]

Alternative names, keyed by namespace

property commands: list[Command]

Commands directly belonging to this system

property containers: list[Container]

Containers directly belonging to this system

dump(fp: TextIO, *, indent: str = '  ', top_comment: bool | str = True, skip_algorithms: bool = False, skip_commands: bool = False, skip_containers: bool = False, skip_parameters: bool = False, skip_subsystems: bool = False) None

Serialize this system in XTCE format to a file-like object

Parameters:
  • fp – The file-like object to serialize to. fp.write() must support str input.

  • indent – String used to indent each level. For most compact, use empty string. Defaults to two spaces.

  • top_comment – Customize the XML comment to insert at the top of the generated XTCE. Set to false to have no top comment.

  • skip_algorithms – If True, skip the <AlgorithmSet /> tag within <TelemetryMetaData />.

  • skip_commands – If True, skip the <CommandMetaData /> tag.

  • skip_containers – If True, skip the <ContainerSet /> tag within <TelemetryMetaData />.

  • skip_parameters – If True, skip the <ParameterSet /> and <ParameterTypeSet /> within <TelemetryMetaData />.

dumps(*, indent: str = '  ', top_comment: bool | str = True, skip_algorithms: bool = False, skip_commands: bool = False, skip_containers: bool = False, skip_parameters: bool = False, skip_subsystems: bool = False) str

Serialize this system to an XTCE-formatted string

Parameters:
  • indent – String used to indent each level. For most compact, use empty string. Defaults to two spaces.

  • top_comment – Customize the XML comment to insert at the top of the generated XTCE. Set to false to have no top comment.

  • skip_algorithms – If True, skip the <AlgorithmSet /> tag within <TelemetryMetaData />.

  • skip_commands – If True, skip the <CommandMetaData /> tag.

  • skip_containers – If True, skip the <ContainerSet /> tag within <TelemetryMetaData />.

  • skip_parameters – If True, skip the <ParameterSet /> and <ParameterTypeSet /> within <TelemetryMetaData />.

extra: dict[str, str]

Arbitrary information, keyed by name

find_algorithm(name: str) Algorithm

Find an algorithm belonging directly to this system.

Raises an exception if no algorithm is found

find_command(name: str) Command

Find a command belonging directly to this system.

Raises an exception if no command is found

find_container(name: str) Container

Find a container belonging directly to this system.

Raises an exception if no container is found

find_parameter(name: str) Parameter

Find a parameter belonging directly to this system.

Raises an exception if no parameter is found

find_subsystem(name: str) Subsystem

Find a subsystem belonging directly to this system.

Raises an exception if no subsystem is found

long_description: str | None

Multiline description

name: str

Short name of this system

property parameters: list[Parameter]

Parameters directly belonging to this system

property qualified_name: str

Fully qualified name of this system (absolute path)

remove_algorithm(name: str) bool

Removes an algorithm directly belonging to this system.

Raises an exception if no such algorithm exists

remove_command(name: str) bool

Removes a command directly belonging to this system.

Raises an exception if no such command exists

remove_container(name: str) bool

Removes a container directly belonging to this system.

Raises an exception if no such container exists

remove_parameter(name: str) bool

Removes a parameter directly belonging to this system.

Raises an exception if no such parameter exists

remove_subsystem(name: str) bool

Removes a subsystem directly belonging to this system.

Raises an exception if no such subsystem exists

property root: System

The top-most system

short_description: str | None

Oneline description

property subsystems: list[Subsystem]

Subsystems directly belonging to this system

system: System

Parent system