tmuxp.workspace.builder.WorkspaceBuilderProtocol
- Bases:
Contract a builder must satisfy to be driven by
tmuxp load.Description#
A conforming builder is constructed with at least
session_configandserver(plus the optionalpluginsandon_*callbacks the classic builder accepts). It exposesbuild(), surfaces the populated tmux session viasession, and honors the plugin/progress integration points the CLI drives.Because the protocol carries data members (
session,plugins, theon_*callbacks), validate instances withisinstance; class-levelissubclasschecks are not supported for runtime-checkable protocols with non-method members.Examples#
A builder implementing the full contract satisfies the protocol:
>>> from tmuxp.workspace.builder.protocol import WorkspaceBuilderProtocol>>> class MiniBuilder:... plugins: list = []... on_progress = None... on_before_script = None... on_script_output = None... on_build_event = None... def __init__(self, session_config, server, **kwargs):... self._session_config = session_config... def build(self, session=None, append=False):... ...... def session_exists(self, session_name):... ...... def find_current_attached_session(self):... ...... @property... def session(self):... ...>>> builder = MiniBuilder(session_config={}, server=None)>>> isinstance(builder, WorkspaceBuilderProtocol)TrueAn object missing the contract does not:
>>> isinstance(object(), WorkspaceBuilderProtocol)False
Guides#
Pages that discuss WorkspaceBuilderProtocol.
Members10#
- plugins: list[t
.Any ] attribute - on_progress: t
.Callable [[str], None] | None attribute - on_before_script: t
.Callable [[], None] | None attribute - on_script_output: t
.Callable [[str], None] | None attribute - on_build_event: t
.Callable [[dict[str, t.Any ]], None] | None attribute - __init__ method Construct a builder from an expanded workspace and a tmux server.
- session property Return the tmux session the builder created or populated.
- build method Build the workspace, creating or populating a tmux session.
- session_exists method Return
Trueif a session withsession_namealready exists. - find_current_attached_session method Return the session currently attached within
TMUX.