Mercurial > repos > guerler > springsuite
diff planemo/lib/python3.7/site-packages/bioblend/galaxy/__init__.py @ 0:d30785e31577 draft
"planemo upload commit 6eee67778febed82ddd413c3ca40b3183a3898f1"
author | guerler |
---|---|
date | Fri, 31 Jul 2020 00:18:57 -0400 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/planemo/lib/python3.7/site-packages/bioblend/galaxy/__init__.py Fri Jul 31 00:18:57 2020 -0400 @@ -0,0 +1,99 @@ +""" +A base representation of an instance of Galaxy +""" +from bioblend.galaxy import (config, datasets, datatypes, folders, forms, + ftpfiles, genomes, groups, histories, + invocations, jobs, libraries, quotas, roles, + tool_data, tools, toolshed, users, visual, + workflows) +from bioblend.galaxy.client import Client +from bioblend.galaxyclient import GalaxyClient + + +class GalaxyInstance(GalaxyClient): + def __init__(self, url, key=None, email=None, password=None, verify=True): + """ + A base representation of a connection to a Galaxy instance, identified + by the server URL and user credentials. + + After you have created a ``GalaxyInstance`` object, access various + modules via the class fields. For example, to work with histories and + get a list of all the user's histories, the following should be done:: + + from bioblend import galaxy + + gi = galaxy.GalaxyInstance(url='http://127.0.0.1:8000', key='your_api_key') + + hl = gi.histories.get_histories() + + :type url: str + :param url: A FQDN or IP for a given instance of Galaxy. For example: + http://127.0.0.1:8080 . If a Galaxy instance is served under + a prefix (e.g., http://127.0.0.1:8080/galaxy/), supply the + entire URL including the prefix (note that the prefix must + end with a slash). If a Galaxy instance has HTTP Basic + authentication with username and password, then the + credentials should be included in the URL, e.g. + http://user:pass@host:port/galaxy/ + + :type key: str + :param key: User's API key for the given instance of Galaxy, obtained + from the user preferences. If a key is not supplied, an + email address and password must be and the key will + automatically be created for the user. + + :type email: str + :param email: Galaxy e-mail address corresponding to the user. + Ignored if key is supplied directly. + + :type password: str + :param password: Password of Galaxy account corresponding to the above + e-mail address. Ignored if key is supplied directly. + + :param verify: Whether to verify the server's TLS certificate + :type verify: bool + """ + super().__init__(url, key, email, password, verify=verify) + self.libraries = libraries.LibraryClient(self) + self.histories = histories.HistoryClient(self) + self.workflows = workflows.WorkflowClient(self) + self.invocations = invocations.InvocationClient(self) + self.datasets = datasets.DatasetClient(self) + self.users = users.UserClient(self) + self.genomes = genomes.GenomeClient(self) + self.tools = tools.ToolClient(self) + self.toolshed = toolshed.ToolShedClient(self) + self.toolShed = self.toolshed # historical alias + self.config = config.ConfigClient(self) + self.visual = visual.VisualClient(self) + self.quotas = quotas.QuotaClient(self) + self.groups = groups.GroupsClient(self) + self.roles = roles.RolesClient(self) + self.datatypes = datatypes.DatatypesClient(self) + self.jobs = jobs.JobsClient(self) + self.forms = forms.FormsClient(self) + self.ftpfiles = ftpfiles.FTPFilesClient(self) + self.tool_data = tool_data.ToolDataClient(self) + self.folders = folders.FoldersClient(self) + + @property + def max_get_attempts(self): + return Client.max_get_retries() + + @max_get_attempts.setter + def max_get_attempts(self, v): + Client.set_max_get_retries(v) + + @property + def get_retry_delay(self): + return Client.get_retry_delay() + + @get_retry_delay.setter + def get_retry_delay(self, v): + Client.set_get_retry_delay(v) + + def __repr__(self): + """ + A nicer representation of this GalaxyInstance object + """ + return "GalaxyInstance object for Galaxy at {0}".format(self.base_url)