datacatalog.managers package¶
Subpackages¶
- datacatalog.managers.annotations package
- datacatalog.managers.catalog package
- datacatalog.managers.pipelinejobs package
- Subpackages
- Submodules
- datacatalog.managers.pipelinejobs.config module
- datacatalog.managers.pipelinejobs.exceptions module
- datacatalog.managers.pipelinejobs.indexer module
- datacatalog.managers.pipelinejobs.indexrequest module
- datacatalog.managers.pipelinejobs.instanced module
- datacatalog.managers.pipelinejobs.jobmanager module
- datacatalog.managers.pipelinejobs.reactor module
- datacatalog.managers.pipelinejobs.store module
- datacatalog.managers.sampleset package
Submodules¶
datacatalog.managers.common module¶
-
class
datacatalog.managers.common.
ManagerBase
(*args, **kwargs)[source]¶ Bases:
object
Base class for non database, non Agave functions
-
class
datacatalog.managers.common.
Manager
(mongodb, agave=None, *args, **kwargs)[source]¶ Bases:
datacatalog.managers.common.ManagerBase
Manages operations across LinkedStores
-
RESOLVE_ORDER
= ('file', 'reference', 'pipelinejob', 'pipeline', 'sample', 'measurement', 'experiment', 'experiment_design', 'challenge_problem', 'structured_request', 'process', 'fixity', 'association', 'tag_annotation', 'text_annotation')¶
-
RESOLVE_RE
= re.compile('^(file|reference|pipelinejob|pipeline|sample|measurement|experiment|experiment_design|challenge_problem|structured_request|process|fixity|association|tag_annotation|text_annotation).')¶
-
derivation_from_inputs
(inputs=[])[source]¶ Retrieve derived_from linkages for a set of inputs
Parameters: inputs (list) – Identifier values for one or more inputs (e.g. name
,file_id
,uri
)Returns: a set of Typed UUIDs Return type: list
-
generator_from_inputs
(inputs=[])[source]¶ Retrieve generated_by linkages for a set of inputs
Parameters: inputs (list) – Identifier values for one or more inputs (e.g. name
,file_id
,uri
)Returns: a set of Typed UUIDs Return type: list
-
get_by_identifier
(identifier_string, permissive=True)[source]¶ Search LinkedStores for a string identifier
Parameters: identifier_string (str) – An identifier string Returns: The document that was retrieved Return type: dict
-
get_by_uuid
(uuid, permissive=True)[source]¶ Returns a LinkedStore document by UUID
Parameters: uuid (str) – UUID of the document to retrieve Returns: The document that was retrieved Return type: dict
-
get_by_uuids
(uuids, permissive=True)[source]¶ Returns a list of LinkedStore documents by UUID
Parameters: uuids (list) – List of document UUIDs Returns: list The document that was retrieved
-
get_links_from_identifier
(identifier, linkage_name='child_of')[source]¶ User-friendly method to get UUIDs linked to an identifier
Parameters: Raises: ValueError
– Invalid or unknown identifers are encounteredManagerError
– Failed to fetch and return linkages
Returns: A list of TypedUUIDs for the requested linkage
Return type:
-
get_tapis_user
(username=None, permissive=False)[source]¶ Retrieve a username record from the Tapis profile service
-
get_uuid_from_identifier
(identifier)[source]¶ Resolve an identifier into its corresponding UUID
Parameters: identifier (str) – A known distinct identifier from any colllection Returns: The string UUID for identifier
uuid_type: The TypedUUID type foruuid
Return type: uuid
-
kids_from_parents
(ids, parent='experiment', parent_id='experiment_id', kid='sample', kid_id='uuid', permissive=False)[source]¶
-
level_from_lineage
(lineage, level='experiment', permissive=False)[source]¶ Traverse a lineage and return value for a specific level
-
lineage_from_uuid
(query_uuid, target='child_of', permissive=True)[source]¶ Get self-inclusive lineage for a given UUID
Parameters: Raises: ValueError
– Raised ifpermissive==False
and complete lineage traversal cannot be achievedReturns: Ordered list of tuples (
<collection_level>
,<uuid5>
)Return type: Note
The lineage will include a reference to the original query at position 0. Access the UUID of immediate parent as follows:
my_lineage[1][1]
.
-
link
(identifier, linked_identifier, linkage_name='child_of', token=None)[source]¶ User-friendly method to link two Data Catalog documents
Parameters: Raises: ValueError
– Raised when invalid or unknown identifers are encounteredReturns: The modified record, including its new linkage
Return type:
-
linkage_from_inputs
(inputs=[], target='child_of')[source]¶ Retrieve linkage targets from a set of inputs
Filepaths will be resolved against the
file
collection and will return a reference to their immediate parent. URIs will be resolved against thereference
collection and will return a reference to themselves.Parameters: Returns: a set of Typed UUIDs
Return type:
-
parent_from_inputs
(inputs=[])[source]¶ Retrieve child_of linkages for a set of inputs
Parameters: inputs (list) – Identifier values for one or more inputs (e.g. name
,file_id
,uri
)Returns: a set of Typed UUIDs Return type: list
-
self_from_ids
(ids, enforce_type=True, permissive=False)[source]¶ Resolve UUIDs from one or more identifiers
Parameters: Raises: ValueError
– Raised when identifiers can’t be resolved or type enforcement failsReturns: One or UUID strings
Return type:
-
self_from_inputs
(inputs=[])[source]¶ Retrieve canonical linkage UUIDs for a list of inputs
Parameters: inputs (list) – Identifier values for one or more inputs (e.g. name
,file_id
,uri
)Returns: a set of Typed UUIDs Return type: list
-
-
exception
datacatalog.managers.common.
ManagerError
[source]¶ Bases:
datacatalog.linkedstores.basestore.exceptions.CatalogError
Error has occurred inside a Manager