Clients
import os
from gladier import GladierBaseClient, generate_flow_definition
from my_tools import RunAnalysis
@generate_flow_definition
class ExampleAnalysisPipeline(GladierBaseClient):
secret_config_filename = os.path.expanduser('~/.gladier-secrets.cfg')
config_filename = 'gladier.cfg'
app_name = 'gladier_client'
client_id = 'e6c75d97-532a-4c88-b031-8584a319fa3e'
gladier_tools = [
'my_repo.custom_tools.PrepareData',
RunAnalysis,
'my_other_repo.stats.GenerateStatistics',
'my_other_repo.custom_tools.Publish',
]
Main Components
There are two main components of a Gladier Client:
gladier_tools
– A list of Gladier Tools derived fromgladier.GladierBaseTool
More on Gladier Tools below.flow_definition
– A complete Globus Flow, supplied automatically with@generate_flow_definition
gladier_tools
may be specified as a dotted string path (Ex: my_repo.custom_tools.PrepareData
)
or as a class that derives from gladier.GladierBaseTool
(Ex: RunAnalysis
). If
@generate_flow_definition
is used, the order the tools
appear in the list determines the order they will appear in the flow. Each tool must have a complete
and valid flow defined on it.
flow_definition
may be a python dict which defines a full and complete flow, and can be an
alternative to using @generate_flow_definition
. Note that @generate_flow_definition will
overwrite the ``flow_definition
set on the client on instantiation.
Other Attritubes
globus_group
– adds the Globus Group to all Automate permission levels: visible_to, runnable_by, administered_by, manage_by, monitor_by. See the Flows Client Docs for more info.secret_config_filename
– defines where login credentials are stored. Also stores function/flow ids and checksumsconfig_filename
– defines where GladierClient specific runtime variables are storedapp_name
– The name of the application, as it appears in Globusclient_id
– The UUID of the registered Globus Application, from https://developers.globus.org
See Also
The complete SDK Reference