ABC module#

This module provides the ABC base class for abstract base classes.

class lpcore.abc.Task(parameters: dict[str, Any] | None = None, child_tasks: dict[str, Any] | None = None, name: str | None = None, *args: Any, **kwargs: Any)[ソース]#

ベースクラス: ABC

タスクを表す抽象基底クラス.

パラメータ:
  • parameters (dict[str, Any], optional) -- タスクのパラメタ. パラメタは, parameters_required で指定されたパラメタと一致する必要がある. デフォルト値は None.

  • child_tasks (dict[str, Any], optional) -- 子タスク. 子タスクは, child_tasks_required で指定されたタスクと一致する必要がある. デフォルト値は None.

  • name (str, optional) -- タスクの名前. デフォルト値は None.

parameters_required: ClassVar[dict[str, Any]] = {}#

タスクが必要とするパラメタを指定する辞書型.

parameters_optional: ClassVar[dict[str, Any]] = {}#

タスクがオプションとして持つパラメタを指定する辞書型.

child_tasks_required: ClassVar[dict[str, Any]] = {}#

タスクが必要とする子タスクを指定する辞書型.

child_tasks_optional: ClassVar[dict[str, Any]] = {}#

タスクがオプションとして持つ子タスクを指定する辞書型.

runtime_parameters_required: ClassVar[dict[str, Any]] = {}#

タスクの実行に必要なパラメタを指定する辞書型.

runtime_parameters_optional: ClassVar[dict[str, Any]] = {}#

タスクの実行にオプションとして必要なパラメタを指定する辞書型.

validate_parameters(provided_items: dict[str, Any], required_items: dict[str, Any], group_name: str) None[ソース]#

パラメータの型チェックを行うメソッド.

コンストラクタの内部で呼び出される.

パラメータ:
  • provided_items (dict[str, Any]) -- チェックされるべきパラメタ辞書.

  • required_items (dict[str, Any]) -- パラメタに必要なキーと型の辞書.

  • group_name (str) -- チェック対象のパラメタのグループ名.

例外:
  • ValueError -- パラメタが不足している場合.

  • TypeError -- パラメタの型が不正な場合.

validate_optional_parameters(provided_items: dict[str, Any], optional_items: dict[str, Any], group_name: str) None[ソース]#

オプションパラメタの型チェックを行うメソッド.

パラメータ:
  • provided_items (dict[str, Any]) -- チェックされるべきパラメタ辞書.

  • optional_items (dict[str, Any]) -- パラメタに必要なキーと型の辞書.

  • group_name (str) -- チェック対象のパラメタのグループ名.

例外:

TypeError -- パラメタの型が不正な場合.

_check_type(value: Any, expected_type: Any, path: str) str | None[ソース]#

expected_type に対して value が妥当なら None を返す. 不適合ならエラーメッセージ文字列を返す.

パラメータ:
  • value (Any) -- チェック対象の値.

  • expected_type (Any) -- 期待する型.

  • path (str) -- 「parameters.param[0]」など「どこをチェックしているか」を示すための文字列.

戻り値:

エラーメッセージ.

戻り値の型:

msg (str | None)

initialize(*args: Any, **kwargs: Any) None[ソース]#

タスクの初期化メソッド.

Task クラスを継承したクラスで,このメソッドをオーバーライドして初期化処理を記述する.

property name: str#

タスクの名前(イミュータブル)

property parameters: dict[str, Any]#

タスクのパラメタ(イミュータブル)

property child_tasks: dict[str, Any]#

子タスク(イミュータブル)

property task_hierarchy: dict[str, Any]#

タスクの階層構造(イミュータブル)

このプロパティは,タスクの階層構造を辞書型で表す. この辞書は,タスクの名前をキーとし,そのタスクが持つ子タスクを値として持つ.

show_hierarchy() None[ソース]#

タスクの階層構造を表示するメソッド

パラメータ:

level (int) -- 階層の深さ(内部的に用いる)

final execute(**kwargs: Any) dict[str, Any][ソース]#

タスクを実行するメソッド.

パラメータ:

**kwargs -- タスクの実行に必要なパラメタを受け取るための可変長引数. runtime_parameters_required で指定されたパラメタを指定する必要がある.

戻り値:

タスクの実行結果を返す辞書型.

この辞書は,必ず status キーを持ち, TaskStatus の値を持つ. その他のキーは,タスクの実行結果を表し,継承したクラスが _execute() メソッド内で自由に定義できる.

戻り値の型:

dict

警告

継承したクラスは,このメソッドをオーバーライドすることは推奨されない. 各クラスが提供する機能は, _execute() メソッド内で実装することが推奨される.

class lpcore.abc.Process(devices: dict[str, Any] | None = None, parameters: dict[str, Any] | None = None, child_tasks: dict[str, Task] | None = None, name: str | None = None, *args: Any, **kwargs: Any)[ソース]#

ベースクラス: Task, ABC

プロセスを表す抽象クラス.

パラメータ:
  • devices (dict[str, Any], optional) -- プロセスが使用するデバイス.

  • parameters (dict[str, Any], optional) -- プロセスのパラメータ.

  • child_tasks (dict[str, Task], optional) -- 子タスク.

  • name (str, optional) -- プロセスの名前. デフォルト値は None.

参考

Task

devices_required: ClassVar[dict[str, Any]] = {}#

プロセスが必要とするデバイスを指定する辞書型.

devices_optional: ClassVar[dict[str, Any]] = {}#

プロセスがオプションで必要とするデバイスを指定する辞書型.

property devices: dict[str, Any]#

プロセスが使用するデバイス(イミュータブル)

execute(**kwargs: Any) dict[str, Any][ソース]#

プロセスを実行するメソッド.

戻り値:

プロセスの実行結果.

戻り値の型:

dict[str, Any]

class lpcore.abc.Analysis(parameters: dict[str, Any] | None = None, child_tasks: dict[str, Any] | None = None, name: str | None = None, *args: Any, **kwargs: Any)[ソース]#

ベースクラス: Task

解析を行うタスクの基底クラス.

パラメータ:
  • parameters (dict[str, Any], optional) -- 解析の初期化時のパラメタ. パラメタは, parameters_required で指定されたパラメタと一致する必要がある. デフォルト値は None.

  • child_tasks (dict[str, Any], optional) -- 子タスク. 子タスクは, child_tasks_required で指定されたタスクと一致する必要がある. デフォルト値は None.

  • name (str, optional) -- 解析の名前. デフォルト値は None.

execute(**kwargs: Any) dict[str, Any][ソース]#

解析を実行するメソッド.

戻り値:

解析の実行結果.

戻り値の型:

tuple[TaskStatus, dict[str, Any]]