larvaworld.portal.workspace =========================== .. py:module:: larvaworld.portal.workspace Attributes ---------- .. autoapisummary:: larvaworld.portal.workspace.WorkspaceKind larvaworld.portal.workspace.WORKSPACE_DIR_NAMES larvaworld.portal.workspace.WORKSPACE_METADATA_FILENAME larvaworld.portal.workspace.GLOBAL_CONFIG_FILENAME larvaworld.portal.workspace.WORKSPACE_SCHEMA_VERSION Exceptions ---------- .. autoapisummary:: larvaworld.portal.workspace.WorkspaceError Classes ------- .. autoapisummary:: larvaworld.portal.workspace.WorkspaceValidation larvaworld.portal.workspace.WorkspaceState Functions --------- .. autoapisummary:: larvaworld.portal.workspace.read_global_workspace_config larvaworld.portal.workspace.write_global_workspace_config larvaworld.portal.workspace.get_active_workspace_path larvaworld.portal.workspace.set_active_workspace_path larvaworld.portal.workspace.clear_active_workspace_path larvaworld.portal.workspace.read_workspace_metadata larvaworld.portal.workspace.write_workspace_metadata larvaworld.portal.workspace.validate_workspace larvaworld.portal.workspace.initialize_workspace larvaworld.portal.workspace.load_workspace larvaworld.portal.workspace.get_active_workspace larvaworld.portal.workspace.require_active_workspace larvaworld.portal.workspace.get_workspace_dir larvaworld.portal.workspace.get_notebook_workspace_dir Module Contents --------------- .. py:data:: WorkspaceKind .. py:data:: WORKSPACE_DIR_NAMES :type: dict[WorkspaceKind, str] .. py:data:: WORKSPACE_METADATA_FILENAME :value: 'workspace.json' .. py:data:: GLOBAL_CONFIG_FILENAME :value: 'workspace.json' .. py:data:: WORKSPACE_SCHEMA_VERSION :value: 1 .. py:exception:: WorkspaceError Bases: :py:obj:`RuntimeError` Raised when the active workspace is missing or invalid. .. py:class:: WorkspaceValidation .. py:attribute:: path :type: pathlib.Path .. py:attribute:: exists :type: bool .. py:attribute:: is_dir :type: bool .. py:attribute:: writable :type: bool .. py:attribute:: initialized :type: bool .. py:attribute:: missing_dirs :type: list[str] .. py:attribute:: errors :type: list[str] .. py:class:: WorkspaceState .. py:attribute:: root :type: pathlib.Path .. py:attribute:: name :type: str .. py:attribute:: metadata_path :type: pathlib.Path .. py:attribute:: environments_dir :type: pathlib.Path .. py:attribute:: experiments_dir :type: pathlib.Path .. py:attribute:: datasets_dir :type: pathlib.Path .. py:attribute:: analysis_dir :type: pathlib.Path .. py:attribute:: metadata_dir :type: pathlib.Path .. py:function:: read_global_workspace_config() -> dict[str, object] .. py:function:: write_global_workspace_config(data: dict[str, object]) -> None .. py:function:: get_active_workspace_path() -> pathlib.Path | None .. py:function:: set_active_workspace_path(path: str | pathlib.Path) -> pathlib.Path .. py:function:: clear_active_workspace_path() -> None .. py:function:: read_workspace_metadata(path: str | pathlib.Path) -> dict[str, object] .. py:function:: write_workspace_metadata(path: str | pathlib.Path, data: dict[str, object]) -> None .. py:function:: validate_workspace(path: str | pathlib.Path) -> WorkspaceValidation .. py:function:: initialize_workspace(path: str | pathlib.Path, *, name: str | None = None) -> WorkspaceState .. py:function:: load_workspace(path: str | pathlib.Path) -> WorkspaceState .. py:function:: get_active_workspace() -> WorkspaceState | None .. py:function:: require_active_workspace() -> WorkspaceState .. py:function:: get_workspace_dir(kind: WorkspaceKind, *, workspace: WorkspaceState | None = None) -> pathlib.Path .. py:function:: get_notebook_workspace_dir(*, workspace: WorkspaceState | None = None) -> pathlib.Path