Workspace

class labstep.entities.workspace.model.Workspace(data, user)

Represents a Labstep Workspace.

To see all attributes of the workspace run

print(my_workspace)

Specific attributes can be accessed via dot notation like so…

print(my_workspace.name)
print(my_workspace.id)
edit(name=OPTIONAL, extraParams={})

Edit an existing Workspace.

Parameters:

name (str) – The new name of the Workspace.

Returns:

An object representing the edited Workspace.

Return type:

Workspace

Example

my_workspace = user.getWorkspace(17000)
my_workspace.edit(name='A New Workspace Name')
delete()

Delete an existing Workspace.

Example

my_workspace = user.getWorkspace(17000)
my_workspace.delete()
getExperiments(count=OPTIONAL, search_query=OPTIONAL, created_at_from=OPTIONAL, created_at_to=OPTIONAL, tag_id=OPTIONAL, collection_id=OPTIONAL, extraParams={})

Retrieve a list of Experiments within this specific Workspace, which can be filtered using the parameters:

Parameters:
  • count (int) – The number of Experiments to retrieve.

  • search_query (str) – Search for Experiments containing this string in the name or entry.

  • created_at_from (str) – The start date of the search range, must be in the format of ‘YYYY-MM-DD’.

  • created_at_to (str) – The end date of the search range, must be in the format of ‘YYYY-MM-DD’.

  • tag_id (int) – The id of a tag to filter by.

  • collection_id (int) – Get experiments in this collection.

Returns:

A list of Labstep Experiments.

Return type:

List[Experiment]

Example

entity = workspace.getExperiments(search_query='bacteria',
                                  created_at_from='2019-01-01',
                                  created_at_to='2019-01-31',
                                  tag_id=800)
getProtocols(count=OPTIONAL, search_query=OPTIONAL, created_at_from=OPTIONAL, created_at_to=OPTIONAL, tag_id=OPTIONAL, collection_id=OPTIONAL, extraParams={})

Retrieve a list of Protocols within this specific Workspace, which can be filtered using the parameters:

Parameters:
  • count (int) – The number of Protocols to retrieve.

  • search_query (str) – Search for Protocols with this ‘name’.

  • created_at_from (str) – The start date of the search range, must be in the format of ‘YYYY-MM-DD’.

  • created_at_to (str) – The end date of the search range, must be in the format of ‘YYYY-MM-DD’.

  • tag_id (int) – The id of a tag to filter by.

  • collection_id (int) – Get protocols in this collection.

Returns:

A list of Labstep Protocols.

Return type:

List[Protocol]

Example

entity = workspace.getProtocols(search_query='bacteria',
                                created_at_from='2019-01-01',
                                created_at_to='2019-01-31',
                                tag_id=800)
getResources(count=OPTIONAL, search_query=OPTIONAL, resource_category_id=OPTIONAL, tag_id=OPTIONAL, extraParams={})

Retrieve a list of Resources within this specific Workspace, which can be filtered using the parameters:

Parameters:
  • count (int) – The number of Resources to retrieve.

  • search_query (str) – Search for Resources with this ‘name’.

  • resource_category_id (int) – Search for Resources in a particular category.

  • tag_id (int) – The id of a tag to filter by.

Returns:

A list of Labstep Resources.

Return type:

List[Resource]

Example

entity = workspace.getResources(search_query='bacteria',
                                tag_id=800)
getResourceCategorys(count=OPTIONAL, search_query=OPTIONAL, tag_id=OPTIONAL, extraParams={})

Retrieve a list of Resource Categories within this specific Workspace, which can be filtered using the parameters:

Parameters:
  • count (int) – The number of ResourceCategorys to retrieve.

  • search_query (str) – Search for ResourceCategorys with this ‘name’.

  • tag_id (int) – The id of a tag to filter by.

Returns:

A list of Labstep ResourceCategorys.

Return type:

List[ResourceCategory]

Example

entity = workspace.getResourceCategorys(search_query='properties',
                                        tag_id=800)
getResourceLocations(count=OPTIONAL, search_query=OPTIONAL, extraParams={})

Retrieve a list of Resource Locations within this specific Workspace, which can be filtered using the parameters:

Parameters:
  • count (int) – The number of ResourceLocations to retrieve.

  • search_query (str) – Search for ResourceLocations with this ‘name’.

Returns:

A list of ResourceLocation objects.

Return type:

List[ResourceLocation]

Example

entity = workspace.getResourceLocations(search_query='properties',
                                        tag_id=800)
getResourceItems(count=OPTIONAL, search_query=OPTIONAL, extraParams={})

Retrieve a list of ResourceItems in a workspace on Labstep.

Parameters:
  • count (int) – The number of ResourceItems to retrieve.

  • search_query (str) – Search for ResourceItems with this ‘name’.

Returns:

A list of ResourceItem objects.

Return type:

List[ResourceItem]

Example

entity = user.getResourceItems(search_query='batch #5')
getOrderRequests(count=OPTIONAL, name=OPTIONAL, status=OPTIONAL, tag_id=OPTIONAL, extraParams={})

Retrieve a list of Order Requests within this specific Workspace, which can be filtered using the parameters:

Parameters:
  • count (int) – The number of OrderRequests to retrieve.

  • name (str) – Search for OrderRequests with this ‘name’.

Returns:

A list of Labstep OrderRequests.

Return type:

List[OrderRequest]

Example

entity = workspace.getOrderRequests(name='polymerase')
getTags(count=OPTIONAL, search_query=OPTIONAL, type=OPTIONAL, extraParams={})

Retrieve a list of Tags within this specific Workspace, which can be filtered using the parameters:

Parameters:
  • count (int) – The number of Tags to retrieve.

  • type (str) – Return only tags of a certain type. Options are: ‘experiment_workflow’, ‘protocol_collection’, ‘resource’, ‘order_request’.

  • search_query (str) – Search for Tags with this ‘name’.

Returns:

A list of Labstep Tags.

Return type:

List[Tag]

Example

entity = workspace.getTags(search_query='bacteria')
newTag(name, type='experiment', extraParams={})

Create a new tag within this specific Workspace.

Parameters:
  • name (int) – The number of Tags to retrieve.

  • type (str) – Options are: ‘experiment’, ‘protocol’, ‘resource’, ‘order_request’.

Returns:

An object representing a Labstep Tag.

Return type:

Tag

Example

tag = workspace.newTag('bacteria')
addMember(user_id, workspace_role_name=OPTIONAL)

Add a new member to the workspace.

Note: can only be used to add users from within the same Organization.

Parameters:
  • user_id (int) – The id of the user to add as a member

  • workspace_role_name (str) – Name of the workspace role to assign to this member (defaults to ‘editor’)

Returns:

An object representing the member of the workspace and their permissions within the workspace.

Return type:

WorkspaceMember

Example

newMember = workspace.addMember(user_id=123)
getMembers(count=OPTIONAL, search_query=OPTIONAL, extraParams={})

Retrieve a list of the members of the workspace.

Parameters:
  • count (int) – The number of members to retrieve.

  • search_query (str) – Search for members by name.

Returns:

A list of the members of the workspace and their permissions.

Return type:

List[WorkspaceMember]

Example

members = workspace.getMembers(search_query='john')
getFiles(count=OPTIONAL, search_query=OPTIONAL, file_type=OPTIONAL, extraParams={})

Retrieve a list of Files in the Workspace on Labstep, which can be filtered using the parameters:

Parameters:
  • count (int) – The number of files to retrieve.

  • file_type (str) – Return only files of a certain type. Options are: ‘csv’, ‘doc’, ‘docx’, ‘jpg’, ‘pdf’,’png’,’ppt’,’pptx’,’svg’,’xls’,’xlsx’,’xml’ or ‘generic’ for all others.

  • search_query (str) – Search for files with this name.

Returns:

A list of Labstep Files.

Return type:

List[File]

Example

files = workspace.getFiles(search_query='bacteria')
getDevices(count=OPTIONAL, search_query=OPTIONAL, extraParams={})

Retrieve a list of Devices within this specific Workspace, which can be filtered using the parameters:

Parameters:
  • count (int) – The number of Devices to retrieve.

  • search_query (str) – Search for Devices by name of metadata fields.

Returns:

A list of Labstep Devices.

Return type:

List[Device]

Example

devices = workspace.getDevices(search_query='microscope')
sendInvites(emails, message)

Send invites to a Labstep Workspace via email.

Parameters:
  • emails (list) – A list of the emails to send the invite to.

  • message (str) – A message to send with the invite.

Return type:

None

Example

workspace.sendInvites(
    emails=['collegue1@labstep.com','collegue2@labstep.com'],
    message='Hi, please collaborate with me on Labstep!')

Get the sharelink for the workspace.

Returns:

The sharelink for the workspace

Return type:

Sharelink

getCollections(count=OPTIONAL, search_query=OPTIONAL, type='experiment', extraParams={})

Retrieve a list of Collections within this specific Workspace, which can be filtered using the parameters:

Parameters:
  • count (int) – The number of Collection to retrieve.

  • type (str) – Return only Collections of a certain type. Options are: ‘experiment’, ‘protocol’.

  • search_query (str) – Search for Collections with this ‘name’.

Returns:

A list of Labstep Collections.

Return type:

List[Collection]

Example

entity = workspace.getCollections(search_query='bacteria')
newCollection(name, type='experiment')

Create a new Collection within the Workspace for Experiments or Protocols.

Parameters:
  • user (obj) – The Labstep user creating the Collection. Must have property ‘api_key’. See ‘login’.

  • name (str) – Name of the new Collection.

  • type (str) – Return only collections of a certain type. Options are: ‘experiment’, ‘protocol’. Defaults to ‘experiment’

Returns:

An object representing the new Labstep Collection.

Return type:

collection

setHome()

Sets this workspace as the default workspace for the active user.

getDeviceCategorys(count=OPTIONAL, search_query=OPTIONAL, tag_id=OPTIONAL, extraParams={})

Retrieve a list of a User’s Device Categorys across all Workspaces on Labstep, which can be filtered using the parameters:

Parameters:
  • count (int) – The number of ResourceCategorys to retrieve.

  • search_query (str) – Search for ResourceCategorys with this ‘name’.

  • tag_id (int) – The id of a tag to filter by.

Returns:

A list of Labstep DeviceCategorys.

Return type:

List[DeviceCategory]

Example

entity = user.getDeviceCategorys(search_query='properties',
                                   tag_id=800)
getJupyterNotebook(guid)

Retrieve an specific Jupyter Notebook attached to this Labstep Entity.

Parameters:

guid (str) – The GUID of the Jupyter Notebook to retrieve.

Returns:

List of the Jupyter Notebooks attached.

Return type:

List[JupyterNotebook]

Example

entity = user.getWorkspace(17000)
jupyter_notebooks = entity.getJupyterNotebooks()
print(jupyter_notebooks[0])
getJupyterNotebooks(count=OPTIONAL)

Retrieve the Jupyter Notebooks attached to this Labstep Entity.

Parameters:

count (int) – The number of ResourceCategorys to retrieve.

Returns:

List of the Jupyter Notebooks attached.

Return type:

List[JupyterNotebook]

Example

entity = user.getWorkspace(17000)
jupyter_notebooks = entity.getJupyterNotebooks()
print(jupyter_notebooks[0])
addJupyterNotebook(name=OPTIONAL, data=OPTIONAL)

Add a Jupyter Notebook to a workspace.

Parameters:
  • name (str) – Name of Jupyter Notebook

  • data (JSON) – JSON Jupyter Notebook structure

Returns:

The newly added file entity.

Return type:

JupyterNotebook

Example

workspace = user.getWorkspace(17000)
workspace.addJupyterNotebook()

Workspace Member

class labstep.entities.workspaceMember.model.WorkspaceMember(data, user)

Represents a member of a Labstep Workspace.

To see all attributes of the workspace run

print(member)

Specific attributes can be accessed via dot notation like so…

print(member.name)
remove()

Remove this member from the workspace (requires owner permission)

setWorkspaceRole(role_name)

Set an existing Workspace Role to a Workspace Member.

Parameters:

role_name(str) – The name of the role to give the Workspace Member. It can be ‘owner’, ‘viewer’ or ‘editor’ or a custom role.

Returns:

An object representing the edited Workspace Member.

Return type:

WorkspaceMember

Example

workspace_members = my_workspace.getMembers()
workspace_members[0].setWorkspaceRole('edit')