Workspace#
- class polars_cloud.Workspace(
- name: str | None = None,
- *,
- id: UUID | None = None,
- organization: str | UUID | Organization | None = None,
Polars Workspace.
- Parameters:
- name
Name of the workspace.
- id
Workspace identifier.
Attributes:
idWorkspace id.
nameWorkspace name.
statusWorkspace status.
organizationWorkspace status.
defaultsDefault Cluster Specification.
awsThe AWS connection of the workspace.
Methods:
loadLoad the workspace details (e.g. name, status, id) from the control plane.
set_defaultMake this workspace the default workspace of your account.
is_activeWhether the Workspace is active.
wait_until_activeWait until the workspace becomes active.
deleteDelete a workspace.
createCreate a new workspace.
setupCreate a new workspace and connect it to AWS.
connect_providerConnect an infrastructure provider to the workspace.
deployConnect an existing workspace to your own cloud environment.
listList all workspaces the user has access to.
- property id: UUID
Workspace id.
- property name: str
Workspace name.
- property status: WorkspaceStatus
Workspace status.
Deprecated since version 0.11.0: Workspace status and deployment have been deprecated and will be removed in future versions to support multiple infrastructure providers. Use
.aws.is_connected()to check whether AWS is connected.
- property organization: Organization
Workspace status.
- property defaults: WorkspaceDefaultComputeSpecs | None
Default Cluster Specification.
- property aws: WorkspaceProviderAWS
The AWS connection of the workspace.
Examples
>>> pc.Workspace("workspace-name").aws.is_connected() True
- load() None
Load the workspace details (e.g. name, status, id) from the control plane.
Note
Depending on the input
loadwill load theWorkspaceobject by id / name or if neither is given it will attempt to get the users default workspace.
- set_default() None
Make this workspace the default workspace of your account.
This is the same setting as the default workspace in the dashboard. It is used by
Workspace()and by any call that does not name a workspace explicitly.Examples
>>> pc.Workspace("workspace-name").set_default() >>> pc.Workspace() Workspace(id=UUID('xxxxxxxx-xxxx-7fd0-899b-5aaeefa553d1'), name='workspace-name', defaults=None)
- is_active() bool
Whether the Workspace is active.
Deprecated since version 0.11.0: Workspace status and deployment have been deprecated and will be removed in future versions to support multiple infrastructure providers. Use
.aws.is_connected()to check whether AWS is connected.Examples
>>> pc.Workspace("workspace-name").is_active() True
- wait_until_active(*, interval: int = 2, timeout: int = 300) bool
Wait until the workspace becomes active.
Deprecated since version 0.11.0: Workspace status and deployment have been deprecated and will be removed in future versions to support multiple infrastructure providers. Use
.aws.is_connected()to check whether AWS is connected.- Parameters:
- interval
The number of seconds between each verification call.
- timeout
The number of seconds before verification fails.
Examples
>>> pc.Workspace("workspace-name").wait_until_active(timeout=5) True
- delete() None
Delete a workspace.
The workspace must not have any infrastructure attached to it. Disconnect its infrastructure provider first, for example with
.aws.disconnect.Examples
>>> pc.Workspace("workspace-name").delete() Are you sure you want to delete the workspace? (y/n)
- classmethod create(workspace_name: str, organization_name: str) Self
Create a new workspace.
The workspace is created without any infrastructure attached to it. Use
deploy()to connect it to your own cloud environment.- Parameters:
- workspace_name
Desired name of the workspace.
- organization_name
Name of the organization to create the workspace in. The organization must already exist.
Examples
>>> pc.Workspace.create("new-workspace-name", "organization-name") Workspace(id=UUID('xxxxxxxx-xxxx-7fd0-899b-5aaeefa553d1'), name='new-workspace-name'
- classmethod setup( ) Self
Create a new workspace and connect it to AWS.
Deprecated since version 0.11.0: Workspace setup has been deprecated and will be removed in future versions. Use
Workspace.createto create the workspace, followed by.connect_provider()to connect it to your infrastructure.See also
create,connect_provider
- connect_provider(
- provider: ProviderType = AWS,
- *,
- verify: bool = True,
Connect an infrastructure provider to the workspace.
The workspace runs its compute on the connected provider. For AWS this opens a CloudFormation setup flow in a browser.
Does nothing if the provider is already connected.
- Parameters:
- provider
The infrastructure to run the workspace compute on.
- verify
Wait for the provider to be connected.
Examples
>>> pc.Workspace("workspace-name").connect_provider() Please complete the workspace setup process in your browser. Connecting your infrastructure may take up to 5 minutes to complete after clicking 'Create stack'. If your browser did not open automatically, please go to the following URL: [URL]
- deploy(
- *,
- provider_type: ProviderType = AWS,
- verify: bool = True,
Connect an existing workspace to your own cloud environment.
Deprecated since version 0.11.0: Workspace deploy has been deprecated and will be removed in future versions. Use
Workspace.connect_providerto connect your provider- Parameters:
- provider_type
The infrastructure to run the workspace compute on.
- verify
Wait for the deployment to complete
Examples
>>> pc.Workspace("workspace-name").deploy() Please complete the workspace setup process in your browser. Connecting your infrastructure may take up to 5 minutes to complete after clicking 'Create stack'. If your browser did not open automatically, please go to the following URL: [URL]
- classmethod list( ) list[Workspace]
List all workspaces the user has access to.
- Parameters:
- name
Filter workspaces by name prefix.
Examples
>>> pc.Workspace.list() [Workspace(id=UUID('xxxxxxxx-xxxx-7810-ad2d-0a642bccf80e'), name='new-workspace', defaults=None), Workspace(id=UUID('xxxxxxxx-xxxx-7e02-9a2c-5ab4a8ed8937'), name='workspace-name', defaults=None),]
>>> pc.Workspace.list(name="new") [Workspace(id=UUID('xxxxxxxx-xxxx-7810-ad2d-0a642bccf80e'), name='new-workspace', defaults=None)]