sevenbridges package

sevenbridges-python

copyright:

2020 Seven Bridges Genomics Inc.

license:

Apache 2.0

class sevenbridges.Api(url=None, token=None, oauth_token=None, config=None, timeout=None, download_max_workers=16, upload_max_workers=16, proxies=None, error_handlers=None, advance_access=False, pool_connections=10, pool_maxsize=100, pool_block=True, max_parallel_requests=100, retry_count=6, backoff_factor=1, debug=False)[source]

Bases: HttpClient

Api aggregates all resource classes into single place

actions

alias of Actions

apps

alias of App

async_jobs

alias of AsyncJob

automation_packages

alias of AutomationPackage

automation_runs

alias of AutomationRun

automations

alias of Automation

billing_groups

alias of BillingGroup

datasets

alias of Dataset

divisions

alias of Division

drs_imports

alias of DRSImportBulk

endpoints

alias of Endpoints

exports

alias of Export

files

alias of File

imports

alias of Import

invoices

alias of Invoice

markers

alias of Marker

projects

alias of Project

rate_limit

alias of RateLimit

tasks

alias of Task

teams

alias of Team

users

alias of User

volumes

alias of Volume

class sevenbridges.App(**kwargs)[source]

Bases: Resource

Central resource for managing apps.

copy(project, name=None, strategy=None, use_revision=False, api=None)[source]

Copies the current app. :param project: Destination project. :param name: Destination app name. :param strategy: App copy strategy. :param use_revision: Copy from set app revision. :param api: Api instance. :return: Copied App object.

Copy strategies:

clone copy all revisions and continue getting updates form the

original app (default method when the key is omitted)

direct copy only the latest revision and get the updates from

this point on

clone_direct copy the app like the direct strategy, but keep all

revisions

transient copy only the latest revision and continue getting

updates from the original app

classmethod create_revision(id, revision, raw, api=None)[source]

Create a new app revision. :param id: App identifier. :param revision: App revision. :param raw: Raw cwl object. :param api: Api instance. :return: App object.

deepcopy()
equals(other)
classmethod get_revision(id, revision, api=None)[source]

Get app revision. :param id: App identifier. :param revision: App revision :param api: Api instance. :return: App object.

href = None
property id
classmethod install_app(id, raw, api=None, raw_format=None)[source]

Installs and app. :param id: App identifier. :param raw: Raw cwl data. :param api: Api instance. :param raw_format: Format of raw app data being sent, json by default :return: App object.

name = None
project = None
classmethod query(project=None, visibility=None, q=None, id=None, offset=None, limit=None, api=None)[source]

Query (List) apps. :param project: Source project. :param visibility: private|public for private or public apps. :param q: List containing search terms. :param id: List contains app ids. Fetch apps with specific ids. :param offset: Pagination offset. :param limit: Pagination limit. :param api: Api instance. :return: collection object

raw = None
revision = None
sync()[source]

Syncs the parent app changes with the current app instance. :return: Synced App object.

class sevenbridges.AppCopyStrategy[source]

Bases: object

CLONE = 'clone'
CLONE_DIRECT = 'clone_direct'
DIRECT = 'direct'
TRANSIENT = 'transient'
class sevenbridges.AppRawFormat[source]

Bases: object

JSON = 'json'
YAML = 'yaml'
class sevenbridges.AsyncFileOperations[source]

Bases: object

COPY = 'copy'
DELETE = 'delete'
MOVE = 'move'
class sevenbridges.AsyncJob(**kwargs)[source]

Bases: Resource

Central resource for managing async jobs

completed_files = None
deepcopy()
equals(other)
failed_files = None
classmethod file_bulk_copy(files, api=None)[source]
classmethod file_bulk_delete(files, api=None)[source]
classmethod file_bulk_move(files, api=None)[source]
finished_on = None
classmethod get_file_copy_job(id, api=None)[source]

Retrieve file copy async job :param id: Async job identifier :param api: Api instance :return:

classmethod get_file_delete_job(id, api=None)[source]
Parameters:
  • id – Async job identifier

  • api – Api instance

Returns:

classmethod get_file_move_job(id, api=None)[source]

Retrieve file move async job :param id: Async job identifier :param api: Api instance :return:

get_result(api=None)[source]

Get async job result in bulk format :return: List of AsyncFileBulkRecord objects

id = None
classmethod list_file_jobs(offset=None, limit=None, api=None)[source]

Query ( List ) async jobs :param offset: Pagination offset :param limit: Pagination limit :param api: Api instance :return: Collection object

result = None
started_on = None
state = None
total_files = None
type = None
class sevenbridges.AsyncJobStates[source]

Bases: object

FINISHED = 'FINISHED'
RESOLVING = 'RESOLVING'
RUNNING = 'RUNNING'
SUBMITTED = 'SUBMITTED'
class sevenbridges.Automation(**kwargs)[source]

Bases: Resource

Central resource for managing automations.

add_member(user, permissions, api=None)[source]

Add member to the automation :param user: Member username :param permissions: Member permissions :param api: sevenbridges Api instance :return: AutomationMember object

add_package(version, file_path, schema, file_name=None, python=None, retry_count=6, timeout=300, part_size=None, api=None)[source]

Add a code package to automation template. :param version: The code package version. :param file_path: Path to the code package file to be uploaded. :param schema: IO schema for main step of execution. :param part_size: Size of upload part in bytes. :param file_name: Optional file name. :param python: Version of Python to execute Code Package with. Allowed values are ‘3.6’, ‘3.7’, ‘3.8’. Default is ‘3.6’. :param retry_count: Upload retry count. :param timeout: Timeout for s3/google session. :param api: sevenbridges Api instance. :return: AutomationPackage

add_team_member(team, permissions, api=None)[source]

Add team member to the automation :param team: Team object or team id :param permissions: Member permissions :param api: sevenbridges Api instance :return: AutomationMember object

archive(*args, **kwargs)
archived = None
billing_group = None
classmethod create(name, description=None, billing_group=None, secret_settings=None, project_based=None, memory_limit=None, api=None)[source]

Create a automation template. :param name: Automation name. :param billing_group: Automation billing group. :param description: Automation description. :param secret_settings: Automation settings. :param project_based: Create project based automation template. :param memory_limit: Memory limit in MB. :param api: Api instance. :return:

created_by = None
created_on = None
deepcopy()
description = None
equals(other)
get_member(username, api=None)[source]

Return specified automation member :param username: Member username :param api: sevenbridges Api instance. :return: AutomationMember object

get_members(offset=None, limit=None, api=None)[source]

Return list of automation members :param offset: Pagination offset. :param limit: Pagination limit. :param api: sevenbridges Api instance. :return: AutomationMember collection

classmethod get_package(package, api=None)[source]

Return specified automation member :param package: Automation Package Id :param api: sevenbridges Api instance. :return: AutomationMember object

get_packages(offset=None, limit=None, api=None)[source]

Return list of packages that belong to this automation :param offset: Pagination offset. :param limit: Pagination limit. :param api: sevenbridges Api instance. :return: AutomationPackage collection

get_runs(package=None, status=None, name=None, created_by=None, created_from=None, created_to=None, project_id=None, order_by=None, order=None, offset=None, limit=None, api=None)[source]

Query automation runs that belong to this automation :param package: Package id :param status: Run status :param name: Automation run name :param created_by: Username of member that created the run :param created_from: Date the run was created after :param created_to: Date the run was created before :param project_id: Search runs by project id, if run is project based :param order_by: Property by which to order results :param order: Ascending or Descending (“asc” or “desc”) :param offset: Pagination offset. :param limit: Pagination limit. :param api: sevenbridges Api instance :return: AutomationRun collection

href = None
id = None
memory_limit = None
modified_by = None
modified_on = None
name = None
owner = None
project_based = None
classmethod query(name=None, include_archived=False, project_based=None, offset=None, limit=None, api=None)[source]

Query (List) automations. :param name: Automation name. :param include_archived: Include archived automations also :param project_based: Search project based automations :param offset: Pagination offset. :param limit: Pagination limit. :param api: Api instance. :return: collection object

remove_member(user, api=None)[source]

Remove a member from the automation :param user: Member username :param api: sevenbridges Api instance :return: None

remove_team_member(team, api=None)[source]

Remove a team member from the automation :param team: Team object or team id :param api: sevenbridges Api instance :return: None

restore(*args, **kwargs)
save(*args, **kwargs)
secret_settings = None
class sevenbridges.AutomationMember(**kwargs)[source]

Bases: Resource

Central resource for managing automation members.

classmethod add(user, permissions, automation, api=None)[source]

Add a member to the automation. :param user: Member username :param permissions: Permissions dictionary. :param automation: Automation object or id :param api: sevenbridges Api instance :return: Automation member object.

classmethod add_team(team, permissions, automation, api=None)[source]

Add a team as a member to the automation. :param team: Team object or team id :param permissions: Permissions dictionary. :param automation: Automation object or id :param api: sevenbridges Api instance :return: Automation member object.

deepcopy()
email = None
equals(other)
classmethod get(id, automation, api=None)[source]

Fetches the resource from the server. :param id: Automation member username :param automation: Automation id or object :param api: sevenbridges Api instance. :return: AutomationMember object.

href = None
id = None
name = None
permissions
classmethod query(automation=None, offset=None, limit=None, api=None)[source]

Query (List) apps. :param automation: Automation id. :param offset: Pagination offset. :param limit: Pagination limit. :param api: Api instance. :return: collection object

classmethod remove(user, automation, api=None)[source]

Remove a member from the automation. :param user: Member username :param automation: Automation id :param api: sevenbridges Api instance :return: None

classmethod remove_team(team, automation, api=None)[source]

Remove a team member from the automation. :param team: Team object or team id :param automation: Automation id :param api: sevenbridges Api instance :return: None

save(*args, **kwargs)
type = None
username = None
class sevenbridges.AutomationPackage(**kwargs)[source]

Bases: Resource

Central resource for managing automation packages.

archive(*args, **kwargs)
archived = None
automation = None
classmethod create(automation, version, location, schema, memory_limit=None, python=None, api=None)[source]

Create a code package. :param automation: Automation id. :param version: File ID of the uploaded code package. :param location: The code package version. :param schema: IO schema for main step of execution. :param python: Version of Python to execute Code Package with. Allowed values are ‘3.6’, ‘3.7’, ‘3.8’. Default is ‘3.6’. :param memory_limit: Memory limit in MB. :param api: Api instance. :return:

created_by = None
created_on = None
custom_url = None
deepcopy()
equals(other)
id = None
location = None
memory_limit = None
python = None
classmethod query(automation, offset=None, limit=None, api=None)[source]

Query (List) automation packages. :param automation: Automation id. :param offset: Pagination offset. :param limit: Pagination limit. :param api: Api instance. :return: collection object

restore(*args, **kwargs)
save(*args, **kwargs)
schema = None
version = None
class sevenbridges.AutomationRun(**kwargs)[source]

Bases: Resource

Central resource for managing automation runs.

automation
classmethod create(package, inputs=None, settings=None, resume_from=None, name=None, secret_settings=None, memory_limit=None, api=None)[source]

Create and start a new run. :param package: Automation package id :param inputs: Input dictionary :param settings: Settings override dictionary :param resume_from: Run to resume from :param name: Automation run name :param secret_settings: dict to override secret_settings from automation template :param memory_limit: Memory limit in MB. :param api: sevenbridges Api instance :return: AutomationRun object

created_by = None
created_on = None
deepcopy()
end_time = None
equals(other)
execution_details = None
get_log_file(api=None)[source]

Retrieve automation run log. :param api: sevenbridges Api instance :return: Log string

get_state(api=None)[source]

Retrieve automation run state. :param api: sevenbridges Api instance :return: State file json contents as string

href = None
id = None
inputs = None
memory_limit = None
message = None
name = None
outputs = None
package
project_id = None
classmethod query(automation=None, package=None, status=None, name=None, created_by=None, created_from=None, created_to=None, project_id=None, order_by=None, order=None, offset=None, limit=None, api=None)[source]

Query (List) automation runs. :param name: Automation run name :param automation: Automation template :param package: Package :param status: Run status :param created_by: Username of user that created the run :param order_by: Property by which to order results :param order: Ascending or descending (“asc” or “desc”) :param created_from: Date the run is created after :param created_to: Date the run is created before :param project_id: Id of project if Automation run is project based :param offset: Pagination offset. :param limit: Pagination limit. :param api: Api instance. :return: collection object

classmethod rerun(id, package=None, inputs=None, settings=None, resume_from=None, name=None, secret_settings=None, merge=True, api=None)[source]

Create and start rerun of existing automation. :param id: Automation id to rerun :param package: Automation package id :param inputs: Input dictionary :param settings: Settings override dictionary :param resume_from: Run to resume from :param name: Automation run name :param secret_settings: dict to override secret_settings from automation template :param merge: merge settings and inputs of run :param api: sevenbridges Api instance :return: AutomationRun object

resumed_from = None
save(*args, **kwargs)
settings = None
start_time = None
status = None
stop(api=None)[source]

Stop automation run. :param api: sevenbridges Api instance. :return: AutomationRun object

class sevenbridges.AutomationRunActions[source]

Bases: object

RERUN = 'rerun'
STOP = 'stop'
class sevenbridges.AutomationStatus[source]

Bases: object

ABORTED = 'ABORTED'
CREATED = 'CREATED'
FAILED = 'FAILED'
FINISHED = 'FINISHED'
QUEUED_FOR_EXECUTION = 'QUEUED_FOR_EXECUTION'
QUEUED_FOR_TERMINATION = 'QUEUED_FOR_TERMINATION'
RUNNING = 'RUNNING'
SENT_TO_EXECUTION = 'SENT_TO_EXECUTION'
terminal_states = ['FINISHED', 'FAILED', 'ABORTED']
exception sevenbridges.BadRequest(code=None, message=None, more_info=None)[source]

Bases: SbgError

class sevenbridges.BillingGroup(**kwargs)[source]

Bases: Resource

Central resource for managing billing groups.

analysis_breakdown(date_from=None, date_to=None, invoice_id=None, fields=None, offset=None, limit=None)[source]

Get Billing group analysis breakdown for the current billing group.

balance
deepcopy()
disabled = None
egress_breakdown(date_from=None, date_to=None, invoice_id=None, fields=None, offset=None, limit=None)[source]

Get Billing group egress breakdown for the current billing group.

equals(other)
href = None
id = None
name = None
owner = None
pending = None
classmethod query(offset=None, limit=None, api=None)[source]

Query (List) billing group. :param offset: Pagination offset. :param limit: Pagination limit. :return: Collection object. :param api: Api instance.

storage_breakdown(date_from=None, date_to=None, invoice_id=None, fields=None, offset=None, limit=None)[source]

Get Billing group storage breakdown for the current billing group.

type = None
class sevenbridges.BulkRecord(**kwargs)[source]

Bases: Resource

deepcopy()
equals(other)
error
classmethod parse_records(response, api=None)[source]
resource
property valid
class sevenbridges.Config(profile=None, proxies=None, advance_access=None)[source]

Bases: object

Utility configuration class.

exception sevenbridges.Conflict(code=None, message=None, more_info=None)[source]

Bases: SbgError

class sevenbridges.DRSImportBulk(**kwargs)[source]

Bases: Resource

Central resource for managing DRS imports.

classmethod bulk_get(import_job_id, api=None)[source]

Retrieve DRS bulk import details :param import_job_id: Import id to be retrieved. :param api: Api instance. :return: DRSImportBulk object.

classmethod bulk_submit(imports, tags=None, conflict_resolution='SKIP', api=None)[source]

Submit DRS bulk import :param imports: List of dicts describing a wanted import. :param tags: list of tags to be applied. :param conflict_resolution: Type of file naming conflict resolution. :param api: Api instance. :return: DRSImportBulk object.

deepcopy()
equals(other)
finished_on = None
href = None
id = None
result
property result_files

Retrieve files that were successfully imported. :return: List of File objects

started_on = None
state = None
class sevenbridges.Dataset(**kwargs)[source]

Bases: Resource

Central resource for managing datasets.

add_member(username, permissions, api=None)[source]

Add member to a dataset :param username: Member username :param permissions: Permissions dict :param api: Api instance :return: New member instance

deepcopy()
description = None
equals(other)
get_member(username, api=None)[source]

Retrieve dataset member :param username: Member name :param api: Api instance :return: Member object

get_members(api=None)[source]

Retrieve dataset members :param api: Api instance :return: Collection object

classmethod get_owned_by(username, api=None)[source]

Query ( List ) datasets by owner :param api: Api instance :param username: Owner username :return: Collection object

href = None
id = None
name = None
classmethod query(visibility=None, api=None)[source]

Query ( List ) datasets :param visibility: If provided as ‘public’, retrieves public datasets :param api: Api instance :return: Collection object

remove_member(member, api=None)[source]

Remove member from a dataset :param member: Member username :param api: Api instance :return: None

save(*args, **kwargs)
class sevenbridges.Division(**kwargs)[source]

Bases: Resource

Central resource for managing divisions.

deepcopy()
equals(other)
get_members(role=None, offset=None, limit=None)[source]
get_teams(offset=None, limit=None)[source]
href = None
id = None
name = None
classmethod query(offset=None, limit=None, api=None)[source]

Query (List) divisions.

Parameters:
  • offset – Pagination offset.

  • limit – Pagination limit.

  • api – Api instance.

Returns:

Collection object.

class sevenbridges.DivisionRole[source]

Bases: object

ADMIN = 'admin'
EXTERNAL_COLLABORATOR = 'external_collaborator'
MEMBER = 'member'
class sevenbridges.Endpoints(**kwargs)[source]

Bases: Resource

Central resource for managing Endpoints.

action_url = None
apps_url = None
billing_url = None
deepcopy()
equals(other)
files_url = None
classmethod get(api=None, **kwargs)[source]

Get api links. :param api: Api instance. :return: Endpoints object.

projects_url = None
rate_limit_url = None
tasks_url = None
upload_url = None
user_url = None
users_url = None
exception sevenbridges.ExecutionDetailsInvalidTaskType(code=None, message=None, more_info=None)[source]

Bases: SbgError

class sevenbridges.Export(**kwargs)[source]

Bases: Resource

Central resource for managing exports.

classmethod bulk_get(exports, api=None)[source]

Retrieve exports in bulk. :param exports: Exports to be retrieved. :param api: Api instance. :return: list of ExportBulkRecord objects.

classmethod bulk_submit(exports, copy_only=False, api=None)[source]

Create exports in bulk. :param exports: List of dicts describing a wanted export. :param copy_only: If true files are kept on SevenBridges bucket. :param api: Api instance. :return: list of ExportBulkRecord objects.

deepcopy()
destination
equals(other)
error
finished_on = None
href = None
id = None
overwrite = None
properties
classmethod query(volume=None, state=None, offset=None, limit=None, api=None)[source]

Query (List) exports. :param volume: Optional volume identifier. :param state: Optional import sate. :param offset: Pagination offset. :param limit: Pagination limit. :param api: Api instance. :return: Collection object.

property result
property source
started_on = None
state = None
classmethod submit_export(file, volume, location, properties=None, overwrite=False, copy_only=False, api=None)[source]

Submit new export job. :param file: File to be exported. :param volume: Volume identifier. :param location: Volume location. :param properties: Properties dictionary. :param overwrite: If true it will overwrite file if exists :param copy_only: If true files are kept on SevenBridges bucket. :param api: Api Instance. :return: Export object.

class sevenbridges.File(**kwargs)[source]

Bases: Resource

Central resource for managing files.

FOLDER_TYPE = 'folder'
classmethod bulk_delete(files, api=None)[source]

Delete files with specified ids in bulk :param files: Files to be deleted. :param api: Api instance. :return: List of FileBulkRecord objects.

classmethod bulk_edit(files, api=None)[source]

This call edits the details for multiple specified files. Use this call to modify the existing information for the files or add new information while preserving omitted parameters. For each of the specified files, the call edits its name, tags and metadata. :param files: List of file instances. :param api: Api instance. :return: List of FileBulkRecord objects.

classmethod bulk_get(files, api=None)[source]

Retrieve files with specified ids in bulk :param files: Files to be retrieved. :param api: Api instance. :return: List of FileBulkRecord objects.

classmethod bulk_update(files, api=None)[source]

This call updates the details for multiple specified files. Use this call to set new information for the files, thus replacing all existing information and erasing omitted parameters. For each of the specified files, the call sets a new name, new tags and metadata. :param files: List of file instances. :param api: Api instance. :return: List of FileBulkRecord objects.

content(path=None, overwrite=True, encoding='utf-8')[source]

Downloads file to the specified path or as temporary file and reads the file content in memory. Should not be used on very large files. :param path: Path for file download If omitted tmp file will be used. :param overwrite: Overwrite file if exists locally :param encoding: File encoding, by default it is UTF-8 :return: File content.

copy(project, name=None)[source]

Copies the current file. :param project: Destination project. :param name: Destination file name. :return: Copied File object.

copy_to_folder(parent, name=None, api=None)[source]

Copy file to folder :param parent: Folder to copy file to :param name: New file name :param api: Api instance :return: New file instance

classmethod create_folder(name, parent=None, project=None, api=None)[source]

Create a new folder :param name: Folder name :param parent: Parent folder :param project: Project to create folder in :param api: Api instance :return: New folder

created_on = None
deepcopy()
download(path, retry=6, timeout=300, chunk_size=None, wait=True, overwrite=False)[source]

Downloads the file and returns a download handle. Download will not start until .start() method is invoked. :param path: Full path to the new file. :param retry: Number of retries if error occurs during download. :param timeout: Timeout for http requests. :param chunk_size: Chunk size in bytes. :param wait: If true will wait for download to complete. :param overwrite: If True will silently overwrite existing file. :return: Download handle.

download_info()[source]

Fetches download information containing file url that can be used to download file. :return: Download info object.

equals(other)
href = None
id = None
is_folder()[source]
list_files(offset=None, limit=None, api=None, cont_token=None)[source]

List files in a folder :param api: Api instance :param offset: Pagination offset :param limit: Pagination limit :param cont_token: Pagination continuation token :return: List of files

metadata
modified_on = None
move_to_folder(parent, name=None, api=None)[source]

Move file to folder :param parent: Folder to move file to :param name: New file name :param api: Api instance :return: New file instance

name = None
origin
parent = None
project = None
classmethod query(project=None, names=None, metadata=None, origin=None, tags=None, offset=None, limit=None, dataset=None, api=None, parent=None, cont_token=None)[source]

Query ( List ) files, requires project or dataset :param project: Project id :param names: Name list :param metadata: Metadata query dict :param origin: Origin query dict :param tags: List of tags to filter on :param offset: Pagination offset :param limit: Pagination limit :param dataset: Dataset id :param api: Api instance. :param parent: Folder id or File object with type folder :param cont_token: Pagination continuation token :return: Collection object.

reload()[source]

Refreshes the file with the data from the server.

save(*args, **kwargs)
classmethod search(query, cont_token=None, limit=None, api=None)[source]

Search files by a query. :param query: Query written in SBG query language. :param cont_token: Continuation token value. :param limit: Limit value. :param api: Api instance.

property secondary_files
size = None
storage
stream(part_size=32768)[source]

Creates an iterator which can be used to stream the file content. :param part_size: Size of the part in bytes. Default 32KB :return Iterator

tags = None
type = None
classmethod upload(path, project=None, parent=None, file_name=None, overwrite=False, retry=6, timeout=300, part_size=None, wait=True, api=None)[source]

Uploads a file using multipart upload and returns an upload handle if the wait parameter is set to False. If wait is set to True it will block until the upload is completed.

Parameters:
  • path – File path on local disc.

  • project – Project identifier

  • parent – Parent folder identifier

  • file_name – Optional file name.

  • overwrite – If true will overwrite the file on the server.

  • retry – Number of retries if error occurs during upload.

  • timeout – Timeout for http requests.

  • part_size – Part size in bytes.

  • wait – If true will wait for upload to complete.

  • api – Api instance.

class sevenbridges.FileStorageType[source]

Bases: object

PLATFORM = 'PLATFORM'
VOLUME = 'VOLUME'
exception sevenbridges.Forbidden(code=None, message=None, more_info=None)[source]

Bases: SbgError

class sevenbridges.Import(**kwargs)[source]

Bases: Resource

Central resource for managing imports.

autorename = None
classmethod bulk_get(imports, api=None)[source]

Retrieve imports in bulk :param imports: Imports to be retrieved. :param api: Api instance. :return: List of ImportBulkRecord objects.

classmethod bulk_submit(imports, api=None)[source]

Submit imports in bulk :param imports: List of dicts describing a wanted import. :param api: Api instance. :return: List of ImportBulkRecord objects.

deepcopy()
destination
equals(other)
error
finished_on = None
href = None
id = None
overwrite = None
preserve_folder_structure = None
classmethod query(project=None, volume=None, state=None, offset=None, limit=None, api=None)[source]

Query (List) imports. :param project: Optional project identifier. :param volume: Optional volume identifier. :param state: Optional import sate. :param offset: Pagination offset. :param limit: Pagination limit. :param api: Api instance. :return: Collection object.

property result
source
started_on = None
state = None
classmethod submit_import(volume, location, project=None, name=None, overwrite=False, properties=None, parent=None, preserve_folder_structure=True, autorename=False, api=None)[source]

Submits new import job. :param volume: Volume identifier. :param location: Volume location. :param project: Project identifier. :param name: Optional file name. :param overwrite: If true it will overwrite file if exists. :param properties: Properties dictionary. :param parent: The ID of the target folder to which the item should be imported. Should not be used together with project. :param preserve_folder_structure: Whether to keep the exact source folder structure. The default value is true if the item being imported is a folder. Should not be used if you are importing a file. :param autorename: Whether to automatically rename the item (by prefixing its name with an underscore and number) if another one with the same name already exists at the destination. :param api: Api instance. :return: Import object.

class sevenbridges.ImportExportState[source]

Bases: object

COMPLETED = 'COMPLETED'
FAILED = 'FAILED'
PENDING = 'PENDING'
RUNNING = 'RUNNING'
class sevenbridges.Invoice(**kwargs)[source]

Bases: Resource

Central resource for managing invoices.

analysis_costs
deepcopy()
equals(other)
href = None
id = None
invoice_period
pending = None
classmethod query(offset=None, limit=None, api=None)[source]

Query (List) invoices. :param offset: Pagination offset. :param limit: Pagination limit. :param api: Api instance. :return: Collection object.

storage_costs
total
exception sevenbridges.LocalFileAlreadyExists(code=None, message=None, more_info=None)[source]

Bases: SbgError

class sevenbridges.Marker(**kwargs)[source]

Bases: Resource

chromosome = None
classmethod create(file, name, position, chromosome, private=True, api=None)[source]

Create a marker on a file. :param file: File object or identifier. :param name: Marker name. :param position: Marker position object. :param chromosome: Chromosome number. :param private: Whether the marker is private or public. :param api: Api instance. :return: Marker object.

created_by = None
created_time = None
deepcopy()
equals(other)
file = None
href = None
id = None
name = None
position
classmethod query(file, offset=None, limit=None, api=None)[source]

Queries genome markers on a file. :param file: Genome file - Usually bam file. :param offset: Pagination offset. :param limit: Pagination limit. :param api: Api instance. :return: Collection object.

save(*args, **kwargs)
class sevenbridges.Member(**kwargs)[source]

Bases: Resource

Central resource for managing members. This resource is reused on both projects and volumes.

deepcopy()
email = None
equals(other)
href = None
id = None
permissions
save(*args, **kwargs)
type = None
username = None
exception sevenbridges.MethodNotAllowed(code=None, message=None, more_info=None)[source]

Bases: SbgError

exception sevenbridges.NotFound(code=None, message=None, more_info=None)[source]

Bases: SbgError

exception sevenbridges.PaginationError(message)[source]

Bases: SbgError

class sevenbridges.PartSize[source]

Bases: object

DOWNLOAD_MINIMUM_PART_SIZE = 5242880
GB = 1073741824
KB = 1024
MAXIMUM_OBJECT_SIZE = 5497558138880
MAXIMUM_TOTAL_PARTS = 10000
MAXIMUM_UPLOAD_SIZE = 5368709120
MB = 1048576
TB = 1099511627776
UPLOAD_MINIMUM_PART_SIZE = 5242880
class sevenbridges.Permissions(**kwargs)[source]

Bases: CompoundMutableDict, Resource

Members permissions resource.

class sevenbridges.Project(**kwargs)[source]

Bases: Resource

Central resource for managing projects.

add_files(files)[source]

Adds files to this project. :param files: List of files or a Collection object.

add_member(user, permissions)[source]

Add a member to the project. :param user: Member username :param permissions: Permissions dictionary. :return: Member object.

add_member_division(division, permissions)[source]

Add a member (team) to a project. :param division: Division object or division identifier. :param permissions: Permissions dictionary. :return: Member object.

add_member_email(email, permissions=None)[source]

Add a member to the project using member email. :param email: Member email. :param permissions: Permissions dictionary. :return: Member object.

add_member_team(team, permissions)[source]

Add a member (team) to a project. :param team: Team object or team identifier. :param permissions: Permissions dictionary. :return: Member object.

billing_group = None
category = None
classmethod create(name, billing_group=None, description=None, tags=None, settings=None, api=None)[source]

Create a project. :param name: Project name. :param billing_group: Project billing group. :param description: Project description. :param tags: Project tags. :param settings: Project settings. :param api: Api instance. :return:

create_task(name, app, revision=None, batch_input=None, batch_by=None, inputs=None, description=None, run=False, disable_batch=False, interruptible=True, execution_settings=None)[source]

Creates a task for this project.

Parameters:
  • name – Task name.

  • app – CWL app identifier.

  • revision – CWL app revision.

  • batch_input – Batch input.

  • batch_by – Batch criteria.

  • inputs – Input map.

  • description – Task description.

  • run – True if you want to run a task upon creation.

  • disable_batch – True if you want to disable batching.

  • interruptible – True if you want to use interruptible instances.

  • execution_settings – Execution settings for the task.

Returns:

Task object.

created_by = None
created_on = None
deepcopy()
description = None
equals(other)
get_apps(offset=None, limit=None)[source]

Retrieves apps in this project. :param offset: Pagination offset. :param limit: Pagination limit. :return: Collection object.

get_exports(volume=None, state=None, offset=None, limit=None)[source]

Fetches exports for this volume. :param volume: Optional volume identifier. :param state: Optional state. :param offset: Pagination offset. :param limit: Pagination limit. :return: Collection object.

get_files(offset=None, limit=None)[source]

Retrieves files in this project. :param offset: Pagination offset. :param limit: Pagination limit. :return: Collection object.

get_imports(volume=None, state=None, offset=None, limit=None)[source]

Fetches imports for this project. :param volume: Optional volume identifier. :param state: Optional state. :param offset: Pagination offset. :param limit: Pagination limit. :return: Collection object.

get_member(username, api=None)[source]

Fetches information about a single project member :param username: Member name :param api: Api instance :return: Member object

get_members(offset=None, limit=None)[source]

Retrieves project members. :param offset: Pagination offset. :param limit: Pagination limit. :return: Collection object.

get_tasks(status=None, offset=None, limit=None)[source]

Retrieves tasks in this project. :param status: Optional task status. :param offset: Pagination offset. :param limit: Pagination limit. :return: Collection object.

href = None
id = None
modified_on = None
name = None
classmethod query(owner=None, name=None, offset=None, limit=None, api=None, category=None, tags=None)[source]

Query (List) projects :param owner: Owner username. :param name: Project name :param offset: Pagination offset. :param limit: Pagination limit. :param api: Api instance. :param category: Project category. :param tags: Project tags. :return: Collection object.

remove_member(user)[source]

Remove member from the project. :param user: User to be removed.

root_folder = None
save(*args, **kwargs)
settings
tags = None
type = None
exception sevenbridges.ReadOnlyPropertyError(message)[source]

Bases: SbgError

exception sevenbridges.RequestTimeout(code=None, message=None, more_info=None)[source]

Bases: SbgError

exception sevenbridges.ResourceNotModified[source]

Bases: SbgError

exception sevenbridges.SbgError(message=None, code=None, status=None, more_info=None)[source]

Bases: Exception

Base class for SBG errors.

Provides a base exception for all errors that are thrown by sevenbridges-python library.

exception sevenbridges.ServerError(code=None, message=None, more_info=None)[source]

Bases: SbgError

exception sevenbridges.ServiceUnavailable(code=None, message=None, more_info=None)[source]

Bases: SbgError

class sevenbridges.Task(**kwargs)[source]

Bases: Resource

Central resource for managing tasks.

abort(*args, **kwargs)
app = None
batch = None
batch_by
batch_group
batch_input = None
classmethod bulk_get(tasks, api=None)[source]

Retrieve tasks with specified ids in bulk :param tasks: Tasks to be retrieved. :param api: Api instance. :return: List of TaskBulkRecord objects.

clone(run=True)[source]

Clone task :param run: run task after cloning :return: Task object.

classmethod create(name, project, app, revision=None, batch_input=None, batch_by=None, inputs=None, description=None, run=False, disable_batch=False, interruptible=None, execution_settings=None, output_location=None, api=None)[source]

Creates a task on server. :param name: Task name. :param project: Project identifier. :param app: CWL app identifier. :param revision: CWL app revision. :param batch_input: Batch input. :param batch_by: Batch criteria. :param inputs: Input map. :param description: Task description. :param run: True if you want to run a task upon creation. :param disable_batch: If True disables batching of a batch task. :param interruptible: If True interruptible instance will be used. :param execution_settings: Execution settings for the task. :param output_location: Dictionary that allows you to define the exact location where your task outputs will be stored. :param api: Api instance. :return: Task object. :raises: TaskValidationError if validation Fails. :raises: SbgError if any exception occurs during request.

created_by = None
created_time = None
deepcopy()
description = None
end_time = None
equals(other)
errors = None
executed_by = None
execution_settings = None
execution_status
get_batch_children(status=None, created_from=None, created_to=None, started_from=None, started_to=None, ended_from=None, ended_to=None, order_by=None, order=None, offset=None, limit=None, api=None)[source]

Retrieves batch child tasks for this task if its a batch task. :return: Collection instance. :raises SbError if task is not a batch task.

get_execution_details()[source]

Retrieves execution details for a task. :return: Execution details instance.

href = None
id = None
inputs
name = None
origin = None
output_location = None
outputs
parent = None
price
project = None
classmethod query(project=None, status=None, batch=None, parent=None, created_from=None, created_to=None, started_from=None, started_to=None, ended_from=None, ended_to=None, offset=None, limit=None, order_by=None, order=None, origin=None, api=None)[source]

Query (List) tasks. Date parameters may be both strings and python date objects. :param project: Target project. optional. :param status: Task status. :param batch: Only batch tasks. :param parent: Parent batch task identifier. :param ended_to: All tasks that ended until this date. :param ended_from: All tasks that ended from this date. :param started_to: All tasks that were started until this date. :param started_from: All tasks that were started from this date. :param created_to: All tasks that were created until this date. :param created_from: All tasks that were created from this date. :param offset: Pagination offset. :param limit: Pagination limit. :param order_by: Property to order by. :param order: Ascending or descending ordering. :param origin: Entity that created the task, e.g. automation run, if task was created by an automation run. :param api: Api instance. :return: Collection object.

run(*args, **kwargs)
save(*args, **kwargs)
start_time = None
status = None
type = None
use_interruptible_instances = None
wait(period=10, callback=None, *args, **kwargs)[source]

Wait until task is complete :param period: Time in seconds between reloads :param callback: Function to call after the task has finished, arguments and keyword arguments can be provided for it :return: Return value of provided callback function or None if a callback function was not provided

warnings = None
class sevenbridges.TaskStatus[source]

Bases: object

ABORTED = 'ABORTED'
ABORTING = 'ABORTING'
COMPLETED = 'COMPLETED'
CREATING = 'CREATING'
DRAFT = 'DRAFT'
FAILED = 'FAILED'
QUEUED = 'QUEUED'
RUNNING = 'RUNNING'
terminal_states = ['COMPLETED', 'FAILED', 'ABORTED']
exception sevenbridges.TaskValidationError(message, task=None)[source]

Bases: SbgError

class sevenbridges.Team(**kwargs)[source]

Bases: Resource

Central resource for managing teams.

add_member(user)[source]

Add member to team :param user: User object or user’s username :return: Added user.

classmethod create(name, division, api=None)[source]

Create team within a division :param name: Team name. :param division: Parent division. :param api: Api instance. :return: Team object.

deepcopy()
equals(other)
get_members(offset=None, limit=None)[source]

Fetch team members for current team. :param offset: Pagination offset. :param limit: Pagination limit. :return: Collection object.

href = None
id = None
name = None
classmethod query(division, list_all=False, offset=None, limit=None, api=None)[source]
Parameters:
  • division – Division slug.

  • list_all – List all teams in division.

  • offset – Pagination offset.

  • limit – Pagination limit.

  • api – Api instance.

Returns:

Collection object.

remove_member(user)[source]

Remove member from the team. :param user: User to be removed.

save(*args, **kwargs)
class sevenbridges.TeamMember(**kwargs)[source]

Bases: Resource

Central resource for managing team members.

deepcopy()
equals(other)
href = None
id = None
role = None
username = None
exception sevenbridges.TooManyRequests(code=None, message=None, more_info=None)[source]

Bases: SbgError

class sevenbridges.TransferState[source]

Bases: object

ABORTED = 'ABORTED'
COMPLETED = 'COMPLETED'
FAILED = 'FAILED'
PAUSED = 'PAUSED'
PREPARING = 'PREPARING'
RUNNING = 'RUNNING'
STOPPED = 'STOPPED'
exception sevenbridges.Unauthorized(code=None, message=None, more_info=None)[source]

Bases: SbgError

class sevenbridges.User(**kwargs)[source]

Bases: Resource

Central resource for managing users.

address = None
affiliation = None
city = None
country = None
deepcopy()
disable(api=None)[source]

Disable user :param api: Api instance. :return:

email = None
equals(other)
first_name = None
classmethod get(user, api=None)[source]

Fetches the resource from the server. :param id: Resource identifier :param api: sevenbridges Api instance. :return: Resource object.

href = None
last_name = None
classmethod me(api=None)[source]

Retrieves current user information. :param api: Api instance. :return: User object.

phone = None
classmethod query(division, role=None, offset=None, limit=None, api=None)[source]

Query division users :param division: Division slug. :param role: User role in division. :param offset: Pagination offset. :param limit: Pagination limit. :param api: Api instance. :return: Collection object.

role = None
state = None
username = None
zip_code = None
exception sevenbridges.ValidationError(message)[source]

Bases: SbgError

class sevenbridges.Volume(**kwargs)[source]

Bases: Resource

Central resource for managing volumes.

access_mode = None
active = None
add_member(user, permissions)[source]

Add a member to the volume. :param user: Member username :param permissions: Permissions dictionary. :return: Member object.

add_member_division(division, permissions)[source]

Add a member (team) to a volume. :param division: Division object or division identifier. :param permissions: Permissions dictionary. :return: Member object.

add_member_team(team, permissions)[source]

Add a member (team) to a volume. :param team: Team object or team identifier. :param permissions: Permissions dictionary. :return: Member object.

classmethod create_google_iam_volume(name, bucket, configuration, access_mode, description=None, prefix=None, properties=None, api=None)[source]

Create google volume. :param name: Volume name. :param bucket: Referenced bucket. :param configuration: Google configuration. :param access_mode: Access Mode. :param description: Volume description. :param prefix: Volume prefix. :param properties: Volume properties. :param api: Api instance. :return: Volume object.

classmethod create_google_volume(name, bucket, client_email, private_key, access_mode, description=None, prefix=None, properties=None, api=None)[source]

Create google volume. :param name: Volume name. :param bucket: Referenced bucket. :param client_email: Google client email. :param private_key: Google client private key. :param access_mode: Access Mode. :param description: Volume description. :param prefix: Volume prefix. :param properties: Volume properties. :param api: Api instance. :return: Volume object.

classmethod create_oss_volume(name, bucket, endpoint, access_key_id, secret_access_key, access_mode, description=None, prefix=None, properties=None, api=None)[source]

Create oss volume. :param name: Volume name. :param bucket: Referenced bucket. :param access_key_id: Access key identifier. :param secret_access_key: Secret access key. :param access_mode: Access Mode. :param endpoint: Volume Endpoint. :param description: Volume description. :param prefix: Volume prefix. :param properties: Volume properties. :param api: Api instance. :return: Volume object.

classmethod create_s3_volume(name, bucket, access_key_id, secret_access_key, access_mode, description=None, prefix=None, properties=None, api=None)[source]

Create s3 volume. :param name: Volume name. :param bucket: Referenced bucket. :param access_key_id: Amazon access key identifier. :param secret_access_key: Amazon secret access key. :param access_mode: Access Mode. :param description: Volume description. :param prefix: Volume prefix. :param properties: Volume properties. :param api: Api instance. :return: Volume object.

classmethod create_s3_volume_role_auth(name, bucket, role_arn, external_id, access_mode, description=None, prefix=None, properties=None, api=None)[source]

Create s3 volume using IAM Role auth. :param name: Volume name. :param bucket: Referenced bucket. :param role_arn: Amazon role ARN. :param external_id: Amazon role external id. :param access_mode: Access Mode. :param description: Volume description. :param prefix: Volume prefix. :param properties: Volume properties. :param api: Api instance. :return: Volume object.

created_on = None
deepcopy()
description = None
equals(other)
get_exports(state=None, offset=None, limit=None)[source]

Fetches exports for this volume. :param state: Optional state. :param offset: Pagination offset. :param limit: Pagination limit. :return: Collection object.

get_imports(project=None, state=None, offset=None, limit=None)[source]

Fetches imports for this volume. :param project: Optional project identifier. :param state: Optional state. :param offset: Pagination offset. :param limit: Pagination limit. :return: Collection object.

get_member(username, api=None)[source]

Fetches information about a single volume member :param username: Member name :param api: Api instance :return: Member object

get_members(offset=None, limit=None)[source]

Retrieves volume members. :param offset: Pagination offset. :param limit: Pagination limit. :return: Collection object.

get_volume_object_info(location)[source]

Fetches information about single volume object - usually file :param location: object location :return:

href = None
id = None
list(prefix=None, limit=None, fields='_all')[source]
modified_on = None
name = None
classmethod query(offset=None, limit=None, api=None)[source]

Query (List) volumes. :param offset: Pagination offset. :param limit: Pagination limit. :param api: Api instance. :return: Collection object.

remove_member(user)[source]

Remove member from the volume. :param user: User to be removed.

save(*args, **kwargs)
service
class sevenbridges.VolumeAccessMode[source]

Bases: object

READ_ONLY = 'RO'
READ_WRITE = 'RW'
class sevenbridges.VolumeObject(**kwargs)[source]

Bases: Resource

Volume object resource contains information about single file (object) entry in a specific volume.

deepcopy()
equals(other)
href = None
location = None
metadata = None
type = None
volume = None
class sevenbridges.VolumeType[source]

Bases: object

GOOGLE = 'GCS'
OSS = 'OSS'
S3 = 'S3'

Subpackages

Submodules

sevenbridges.api module

class sevenbridges.api.Api(url=None, token=None, oauth_token=None, config=None, timeout=None, download_max_workers=16, upload_max_workers=16, proxies=None, error_handlers=None, advance_access=False, pool_connections=10, pool_maxsize=100, pool_block=True, max_parallel_requests=100, retry_count=6, backoff_factor=1, debug=False)[source]

Bases: HttpClient

Api aggregates all resource classes into single place

actions

alias of Actions

apps

alias of App

async_jobs

alias of AsyncJob

automation_packages

alias of AutomationPackage

automation_runs

alias of AutomationRun

automations

alias of Automation

billing_groups

alias of BillingGroup

datasets

alias of Dataset

divisions

alias of Division

drs_imports

alias of DRSImportBulk

endpoints

alias of Endpoints

exports

alias of Export

files

alias of File

imports

alias of Import

invoices

alias of Invoice

markers

alias of Marker

projects

alias of Project

rate_limit

alias of RateLimit

tasks

alias of Task

teams

alias of Team

users

alias of User

volumes

alias of Volume

sevenbridges.config module

class sevenbridges.config.Config(profile=None, proxies=None, advance_access=None)[source]

Bases: object

Utility configuration class.

class sevenbridges.config.UserProfile(profile)[source]

Bases: object

CONFIG = '/home/docs/.sevenbridges/sevenbridges-python/config'
CREDENTIALS = '/home/docs/.sevenbridges/credentials'
property advance_access
property api_endpoint
property auth_token
property proxies
sevenbridges.config.format_proxies(proxies)[source]

Helper method for request proxy key compatibility. :param proxies: Proxies dictionary :return: Dict compatible with request proxy format.

sevenbridges.decorators module

sevenbridges.decorators.check_for_error(func)[source]

Executes the wrapped function and inspects the response object for specific errors.

sevenbridges.decorators.inplace_reload(method)[source]

Executes the wrapped function and reloads the object with data returned from the server.

sevenbridges.decorators.throttle(func)[source]

Throttles number of parallel requests made by threads from single HttpClient session.

sevenbridges.errors module

exception sevenbridges.errors.AdvanceAccessError(message=None)[source]

Bases: SbgError

exception sevenbridges.errors.BadRequest(code=None, message=None, more_info=None)[source]

Bases: SbgError

exception sevenbridges.errors.Conflict(code=None, message=None, more_info=None)[source]

Bases: SbgError

exception sevenbridges.errors.ExecutionDetailsInvalidTaskType(code=None, message=None, more_info=None)[source]

Bases: SbgError

exception sevenbridges.errors.Forbidden(code=None, message=None, more_info=None)[source]

Bases: SbgError

exception sevenbridges.errors.LocalFileAlreadyExists(code=None, message=None, more_info=None)[source]

Bases: SbgError

exception sevenbridges.errors.MethodNotAllowed(code=None, message=None, more_info=None)[source]

Bases: SbgError

exception sevenbridges.errors.NonJSONResponseError(status, code=None, message=None, more_info=None)[source]

Bases: SbgError

exception sevenbridges.errors.NotFound(code=None, message=None, more_info=None)[source]

Bases: SbgError

exception sevenbridges.errors.PaginationError(message)[source]

Bases: SbgError

exception sevenbridges.errors.ReadOnlyPropertyError(message)[source]

Bases: SbgError

exception sevenbridges.errors.RequestTimeout(code=None, message=None, more_info=None)[source]

Bases: SbgError

exception sevenbridges.errors.ResourceNotModified[source]

Bases: SbgError

exception sevenbridges.errors.SbgError(message=None, code=None, status=None, more_info=None)[source]

Bases: Exception

Base class for SBG errors.

Provides a base exception for all errors that are thrown by sevenbridges-python library.

exception sevenbridges.errors.ServerError(code=None, message=None, more_info=None)[source]

Bases: SbgError

exception sevenbridges.errors.ServiceUnavailable(code=None, message=None, more_info=None)[source]

Bases: SbgError

exception sevenbridges.errors.TaskValidationError(message, task=None)[source]

Bases: SbgError

exception sevenbridges.errors.TooManyRequests(code=None, message=None, more_info=None)[source]

Bases: SbgError

exception sevenbridges.errors.URITooLong(code=None, message=None, more_info=None)[source]

Bases: SbgError

exception sevenbridges.errors.Unauthorized(code=None, message=None, more_info=None)[source]

Bases: SbgError

exception sevenbridges.errors.ValidationError(message)[source]

Bases: SbgError