Reference¶
Module contents¶
A reusable Django app to manage analyses and pipelines.
Submodules¶
django_analyses.admin module¶
Registers various admin
models to generate the app’s
admin site interface.
References
-
class
django_analyses.admin.
AnalysisAdmin
(model, admin_site)¶ Bases:
django.contrib.admin.options.ModelAdmin
-
fields
= ('title', 'description', 'category', 'created', 'modified')¶
-
inlines
= [<class 'django_analyses.admin.AnalysisVersionInline'>]¶
-
list_display
= ('title', 'description', 'run_count')¶
-
media
¶
-
readonly_fields
= ('run_count', 'created', 'modified')¶
-
run_count
(instance: django_analyses.models.analysis.Analysis) → int¶
-
-
class
django_analyses.admin.
AnalysisVersionAdmin
(model, admin_site)¶ Bases:
django.contrib.admin.options.ModelAdmin
-
analysis_link
(instance: django_analyses.models.input.input_specification.InputSpecification) → str¶
-
fieldsets
= ((None, {'fields': ('analysis', 'title', 'description', 'input_specification_link', 'output_specification_link')}), ('Advanced Options', {'fields': ('max_parallel', 'run_method_key', 'nested_results_attribute', 'fixed_run_method_kwargs')}))¶
-
id_link
(instance: django_analyses.models.analysis_version.AnalysisVersion) → str¶
-
inlines
= (<class 'django_analyses.admin.NodeInline'>,)¶
-
input_specification_link
(instance: django_analyses.models.analysis_version.AnalysisVersion) → str¶
-
list_display
= ('id_link', 'analysis_link', 'title', 'description', 'input_specification_link', 'output_specification_link', 'run_count', 'created', 'modified')¶
-
media
¶
-
name
(instance) → str¶
-
output_specification_link
(instance: django_analyses.models.analysis_version.AnalysisVersion) → str¶
-
readonly_fields
= ('analysis', 'id_link', 'input_specification_link', 'output_specification_link', 'run_count')¶
-
run_count
(instance: django_analyses.models.analysis_version.AnalysisVersion) → int¶
-
-
class
django_analyses.admin.
AnalysisVersionInline
(parent_model, admin_site)¶ Bases:
django.contrib.admin.options.TabularInline
-
can_delete
= False¶
-
extra
= 0¶
-
fields
= ('id_link', 'title', 'description', 'input_specification_link', 'output_specification_link', 'run_count')¶
-
has_add_permission
(request, obj)¶ Return True if the given request has permission to add an object. Can be overridden by the user in subclasses.
-
id_link
(instance: django_analyses.models.analysis_version.AnalysisVersion) → str¶
-
input_specification_link
(instance: django_analyses.models.analysis_version.AnalysisVersion) → str¶
-
media
¶
-
model
¶ alias of
django_analyses.models.analysis_version.AnalysisVersion
-
output_specification_link
(instance: django_analyses.models.analysis_version.AnalysisVersion) → str¶
-
readonly_fields
= ('id_link', 'title', 'description', 'input_specification_link', 'output_specification_link', 'run_count')¶
-
run_count
(instance: django_analyses.models.analysis_version.AnalysisVersion) → int¶
-
-
class
django_analyses.admin.
AnalysisVersionInputSpecInline
(parent_model, admin_site)¶ Bases:
django.contrib.admin.options.TabularInline
-
can_delete
= False¶
-
extra
= 0¶
-
fields
= ('version_link', 'description', 'output_specification_link')¶
-
has_add_permission
(request, obj)¶ Return True if the given request has permission to add an object. Can be overridden by the user in subclasses.
-
media
¶
-
model
¶ alias of
django_analyses.models.analysis_version.AnalysisVersion
-
output_specification_link
(instance: django_analyses.models.analysis_version.AnalysisVersion) → str¶
-
readonly_fields
= ('version_link', 'description', 'output_specification_link')¶
-
version_link
(instance: django_analyses.models.analysis_version.AnalysisVersion) → str¶
-
-
class
django_analyses.admin.
AnalysisVersionOutputSpecInline
(parent_model, admin_site)¶ Bases:
django.contrib.admin.options.TabularInline
-
can_delete
= False¶
-
extra
= 0¶
-
fields
= ('version_link', 'description', 'input_specification_link')¶
-
has_add_permission
(request, obj)¶ Return True if the given request has permission to add an object. Can be overridden by the user in subclasses.
-
input_specification_link
(instance: django_analyses.models.analysis_version.AnalysisVersion) → str¶
-
media
¶
-
model
¶ alias of
django_analyses.models.analysis_version.AnalysisVersion
-
readonly_fields
= ('version_link', 'description', 'input_specification_link')¶
-
version_link
(instance: django_analyses.models.analysis_version.AnalysisVersion) → str¶
-
-
class
django_analyses.admin.
InputAdmin
(model, admin_site)¶ Bases:
django.contrib.admin.options.ModelAdmin
-
analysis_version
(instance) → str¶
-
analysis_version_link
(instance: django_analyses.models.input.input.Input) → str¶
-
change_view
(*args, **kwargs)¶
-
check_fileness
(instance: django_analyses.models.input.input.Input) → bool¶
-
definition_link
(instance: django_analyses.models.input.input.Input) → str¶
-
fields
= ('analysis_version_link', 'definition_link', 'run_link', 'input_type', '_value')¶
-
get_queryset
(request)¶ Return a QuerySet of all model instances that can be edited by the admin site. This is used by changelist_view.
-
input_type
(instance: django_analyses.models.input.input.Input) → str¶
-
list_display
= ('analysis_version_link', 'run_link', 'definition_link', 'input_type', 'value')¶
-
list_display_links
= None¶
-
list_filter
= ('run__analysis_version',)¶
-
media
¶
-
readonly_fields
= ('analysis_version_link', 'definition_link', 'run_link', 'input_type', '_value')¶
-
run_link
(instance: django_analyses.models.input.input.Input) → str¶
-
search_fields
= ('run__id',)¶
-
-
class
django_analyses.admin.
InputDefinitionAdmin
(model, admin_site)¶ Bases:
django.contrib.admin.options.ModelAdmin
-
choices
(instance) → list¶
-
fieldsets
= ((None, {'fields': ['key', 'description', 'required', 'default', 'min_value', 'max_value', 'choices']}), ('Advanced Integration', {'classes': ('collapse',), 'fields': ['is_configuration', 'run_method_input', 'db_value_preprocessing', 'value_attribute']}))¶
-
get_queryset
(request)¶ Return a QuerySet of all model instances that can be edited by the admin site. This is used by changelist_view.
-
list_display
= ('key', 'description', 'min_value', 'max_value', 'default', 'choices', 'required', 'is_configuration')¶
-
list_filter
= ('specification_set__analysis__title', 'specification_set__id')¶
-
max_value
(instance)¶
-
media
¶
-
min_value
(instance)¶
-
readonly_fields
= ('default', 'choices', 'min_value', 'max_value')¶
-
-
class
django_analyses.admin.
InputDefinitionsInline
(parent_model, admin_site)¶ Bases:
django.contrib.admin.options.TabularInline
-
can_delete
= False¶
-
default
(instance: django_analyses.models.input.definitions.input_definition.InputDefinition) → str¶
-
description
(instance: django_analyses.models.input.definitions.input_definition.InputDefinition) → str¶
-
extra
= 0¶
-
fields
= ('id_link', 'key', 'input_type', 'description', 'required', 'is_configuration', 'default')¶
-
has_add_permission
(request, obj)¶ Return True if the given request has permission to add an object. Can be overridden by the user in subclasses.
-
id_link
(instance: django_analyses.models.input.definitions.input_definition.InputDefinition) → str¶
-
input_type
(instance: django_analyses.models.input.definitions.input_definition.InputDefinition) → str¶
-
is_configuration
(instance: django_analyses.models.input.definitions.input_definition.InputDefinition) → str¶
-
key
(instance: django_analyses.models.input.definitions.input_definition.InputDefinition) → str¶
-
media
¶
-
model
¶ alias of
django_analyses.models.input.input_specification.InputSpecification_base_input_definitions
-
readonly_fields
= ('id_link', 'key', 'input_type', 'description', 'required', 'is_configuration', 'default')¶
-
required
(instance: django_analyses.models.input.definitions.input_definition.InputDefinition) → bool¶
-
verbose_name_plural
= 'Input Definitions'¶
-
-
class
django_analyses.admin.
InputInline
(parent_model, admin_site)¶ Bases:
django.contrib.admin.options.TabularInline
-
can_delete
= False¶
-
definition_link
(instance: django_analyses.models.input.input.Input) → str¶
-
extra
= 0¶
-
get_queryset
(request)¶ Return a QuerySet of all model instances that can be edited by the admin site. This is used by changelist_view.
-
has_add_permission
(request, obj)¶ Return True if the given request has permission to add an object. Can be overridden by the user in subclasses.
-
id_link
(instance: django_analyses.models.input.input.Input) → str¶
-
input_type
(instance: django_analyses.models.input.input.Input) → str¶
-
media
¶
-
model
¶
-
readonly_fields
= ('id_link', 'definition_link', 'input_type', 'value')¶
-
-
class
django_analyses.admin.
InputSpecificationAdmin
(model, admin_site)¶ Bases:
django.contrib.admin.options.ModelAdmin
-
analysis_link
(instance: django_analyses.models.input.input_specification.InputSpecification) → str¶
-
analysis_versions
(instance: django_analyses.models.input.input_specification.InputSpecification) → str¶
-
fields
= ('analysis',)¶
-
inlines
= [<class 'django_analyses.admin.AnalysisVersionInputSpecInline'>, <class 'django_analyses.admin.InputDefinitionsInline'>]¶
-
input_definitions_count
(instance: django_analyses.models.input.input_specification.InputSpecification) → int¶
-
list_display
= ('id', 'analysis_link', 'analysis_versions', 'input_definitions_count')¶
-
list_filter
= ('analysis',)¶
-
media
¶
-
readonly_fields
= ('analysis', 'analysis_link', 'analysis_versions', 'input_definitions_count')¶
-
-
class
django_analyses.admin.
NodeAdmin
(model, admin_site)¶ Bases:
django.contrib.admin.options.ModelAdmin
-
analysis_version_link
(instance: django_analyses.models.pipeline.node.Node) → str¶
-
fields
= ('analysis_version_link', 'configuration')¶
-
formfield_overrides
= {<class 'django.db.models.fields.json.JSONField'>: {'widget': <class 'django_analyses.admin.PrettyJSONWidget'>}}¶
-
list_display
= ('id', 'analysis_version_link', 'configuration')¶
-
list_filter
= ('analysis_version__analysis',)¶
-
media
¶
-
readonly_fields
= ('analysis_version_link',)¶
-
search_fields
= ('id', 'analysis_version__analysis__title', 'analysis_version__title', 'configuration__has_key')¶
-
-
class
django_analyses.admin.
NodeInline
(parent_model, admin_site)¶ Bases:
django.contrib.admin.options.TabularInline
-
can_delete
= False¶
-
extra
= 0¶
-
fields
= ('id_link', 'configuration')¶
-
has_add_permission
(request, obj)¶ Return True if the given request has permission to add an object. Can be overridden by the user in subclasses.
-
id_link
(instance: django_analyses.models.pipeline.node.Node) → str¶
-
media
¶
-
model
¶
-
readonly_fields
= ('id_link', 'configuration')¶
-
-
class
django_analyses.admin.
OutputAdmin
(model, admin_site)¶ Bases:
django.contrib.admin.options.ModelAdmin
-
analysis_version
(instance: django_analyses.models.output.output.Output) → str¶
-
analysis_version_link
(instance: django_analyses.models.output.output.Output) → str¶
-
change_view
(*args, **kwargs)¶
-
check_fileness
(instance: django_analyses.models.output.output.Output) → bool¶
-
definition_link
(instance: django_analyses.models.output.output.Output) → str¶
-
download
(instance: django_analyses.models.output.output.Output) → str¶
-
fields
= ('analysis_version_link', 'definition_link', 'run_link', 'output_type', '_value', 'download')¶
-
get_queryset
(request)¶ Return a QuerySet of all model instances that can be edited by the admin site. This is used by changelist_view.
-
list_display
= ('analysis_version_link', 'run_link', 'definition_link', 'output_type', 'value', 'download')¶
-
list_display_links
= None¶
-
list_filter
= ('run__analysis_version',)¶
-
media
¶
-
output_type
(instance: django_analyses.models.output.output.Output) → str¶
-
readonly_fields
= ('analysis_version_link', 'definition_link', 'run_link', 'output_type', '_value', 'download')¶
-
run_link
(instance: django_analyses.models.output.output.Output) → str¶
-
search_fields
= ('run__id',)¶
-
-
class
django_analyses.admin.
OutputDefinitionAdmin
(model, admin_site)¶ Bases:
django.contrib.admin.options.ModelAdmin
-
analysis
(instance)¶
-
list_display
= ('key', 'description', 'analysis')¶
-
list_filter
= ('specification_set__analysis__title', 'specification_set__id')¶
-
media
¶
-
-
class
django_analyses.admin.
OutputDefinitionsInline
(parent_model, admin_site)¶ Bases:
django.contrib.admin.options.TabularInline
-
can_delete
= False¶
-
description
(instance: django_analyses.models.output.definitions.output_definition.OutputDefinition) → str¶
-
extra
= 0¶
-
fields
= ('id_link', 'key', 'output_type', 'description')¶
-
has_add_permission
(request, obj)¶ Return True if the given request has permission to add an object. Can be overridden by the user in subclasses.
-
id_link
(instance: django_analyses.models.output.definitions.output_definition.OutputDefinition) → str¶
-
key
(instance: django_analyses.models.output.definitions.output_definition.OutputDefinition) → str¶
-
media
¶
-
model
¶ alias of
django_analyses.models.output.output_specification.OutputSpecification_base_output_definitions
-
output_type
(instance: django_analyses.models.output.definitions.output_definition.OutputDefinition) → str¶
-
readonly_fields
= ('id_link', 'key', 'output_type', 'description')¶
-
verbose_name_plural
= 'Output Definitions'¶
-
-
class
django_analyses.admin.
OutputInline
(parent_model, admin_site)¶ Bases:
django.contrib.admin.options.TabularInline
-
can_delete
= False¶
-
definition_link
(instance: django_analyses.models.output.output.Output) → str¶
-
download
(instance: django_analyses.models.output.output.Output) → str¶
-
extra
= 0¶
-
get_queryset
(request)¶ Return a QuerySet of all model instances that can be edited by the admin site. This is used by changelist_view.
-
has_add_permission
(request, obj)¶ Return True if the given request has permission to add an object. Can be overridden by the user in subclasses.
-
id_link
(instance: django_analyses.models.output.output.Output) → str¶
-
media
¶
-
model
¶
-
output_type
(instance: django_analyses.models.output.output.Output) → str¶
-
readonly_fields
= ('id_link', 'definition_link', 'output_type', 'value', 'download')¶
-
-
class
django_analyses.admin.
OutputSpecificationAdmin
(model, admin_site)¶ Bases:
django.contrib.admin.options.ModelAdmin
-
analysis_link
(instance: django_analyses.models.output.output_specification.OutputSpecification) → str¶
-
analysis_versions
(instance: django_analyses.models.output.output_specification.OutputSpecification) → str¶
-
fields
= ('analysis',)¶
-
inlines
= [<class 'django_analyses.admin.AnalysisVersionOutputSpecInline'>, <class 'django_analyses.admin.OutputDefinitionsInline'>]¶
-
list_display
= ('id', 'analysis_link', 'analysis_versions', 'output_definitions_count')¶
-
list_filter
= ('analysis',)¶
-
media
¶
-
output_definitions_count
(instance: django_analyses.models.output.output_specification.OutputSpecification) → int¶
-
readonly_fields
= ('analysis', 'analysis_link', 'analysis_versions', 'output_definitions_count')¶
-
-
class
django_analyses.admin.
PipeAdmin
(model, admin_site)¶ Bases:
django.contrib.admin.options.ModelAdmin
-
destination_analysis_version
(instance: django_analyses.models.pipeline.pipe.Pipe) → str¶
-
destination_configuration
(instance: django_analyses.models.pipeline.pipe.Pipe) → str¶
-
destination_node
(instance: django_analyses.models.pipeline.pipe.Pipe) → str¶
-
destination_port_key
(instance: django_analyses.models.pipeline.pipe.Pipe) → str¶
-
fieldsets
= ((None, {'fields': ['pipeline', 'source_analysis_version', 'source_port_key', 'source_node', 'source_configuration', 'destination_analysis_version', 'destination_port_key', 'destination_node', 'destination_configuration']}), ('Configuration', {'fields': ['index', 'source_run_index', 'destination_run_index']}))¶
-
formfield_overrides
= {<class 'django.db.models.fields.json.JSONField'>: {'widget': <class 'django_analyses.admin.PrettyJSONWidget'>}}¶
-
id_link
(instance: django_analyses.models.pipeline.pipe.Pipe) → str¶
-
list_display
= ('id_link', 'pipeline_link', 'source_analysis_version', 'source_node', 'source_port_key', 'destination_analysis_version', 'destination_node', 'destination_port_key')¶
-
list_filter
= ('pipeline', ('source__analysis_version__analysis', <class 'django_analyses.admin.custom_titled_filter.<locals>.Wrapper'>), ('destination__analysis_version__analysis', <class 'django_analyses.admin.custom_titled_filter.<locals>.Wrapper'>))¶
-
media
¶
-
pipeline_link
(instance: django_analyses.models.pipeline.pipe.Pipe) → str¶
-
readonly_fields
= ('id_link', 'pipeline_link', 'source_analysis_version', 'source_port_key', 'source_node', 'source_configuration', 'destination_analysis_version', 'destination_port_key', 'destination_node', 'destination_configuration')¶
-
search_fields
= ('id', 'pipeline__title', 'source__analysis_version__analysis__title', 'source__analysis_version__title', 'destination__analysis_version__analysis__title', 'destination__analysis_version__title')¶
-
source_analysis_version
(instance: django_analyses.models.pipeline.pipe.Pipe) → str¶
-
source_configuration
(instance: django_analyses.models.pipeline.pipe.Pipe) → str¶
-
source_node
(instance: django_analyses.models.pipeline.pipe.Pipe) → str¶
-
source_port_key
(instance: django_analyses.models.pipeline.pipe.Pipe) → str¶
-
-
class
django_analyses.admin.
PipeInLine
(parent_model, admin_site)¶ Bases:
django.contrib.admin.options.TabularInline
-
can_delete
= False¶
-
destination_analysis_version
(instance: django_analyses.models.pipeline.pipe.Pipe) → str¶
-
destination_node
(instance: django_analyses.models.pipeline.pipe.Pipe) → str¶
-
destination_port_key
(instance: django_analyses.models.pipeline.pipe.Pipe) → str¶
-
extra
= 0¶
-
fields
= ('id_link', 'source_analysis_version', 'source_node', 'source_port_key', 'destination_analysis_version', 'destination_port_key', 'destination_node')¶
-
has_add_permission
(request, obj)¶ Return True if the given request has permission to add an object. Can be overridden by the user in subclasses.
-
id_link
(instance: django_analyses.models.input.input.Input) → str¶
-
media
¶
-
model
¶
-
readonly_fields
= ('id_link', 'source_analysis_version', 'source_node', 'source_port_key', 'destination_analysis_version', 'destination_port_key', 'destination_node')¶
-
source_analysis_version
(instance: django_analyses.models.pipeline.pipe.Pipe) → str¶
-
source_node
(instance: django_analyses.models.pipeline.pipe.Pipe) → str¶
-
source_port_key
(instance: django_analyses.models.pipeline.pipe.Pipe) → str¶
-
-
class
django_analyses.admin.
PipelineAdmin
(model, admin_site)¶ Bases:
django.contrib.admin.options.ModelAdmin
-
fields
= ('title', 'description', 'created', 'modified')¶
-
inlines
= (<class 'django_analyses.admin.PipeInLine'>,)¶
-
list_display
= ('id', 'title', 'description', 'node_count', 'pipe_count')¶
-
media
¶
-
node_count
(instance: django_analyses.models.pipeline.pipeline.Pipeline) → int¶
-
pipe_count
(instance: django_analyses.models.pipeline.pipeline.Pipeline) → int¶
-
readonly_fields
= ('created', 'modified', 'node_count', 'pipe_count')¶
-
search_fields
= ('id', 'title', 'description')¶
-
-
class
django_analyses.admin.
PrettyJSONWidget
(attrs=None)¶ Bases:
django.forms.widgets.Textarea
-
format_value
(value)¶ Return a value as it should appear when rendered in a template.
-
media
¶
-
-
class
django_analyses.admin.
RunAdmin
(model, admin_site)¶ Bases:
django.contrib.admin.options.ModelAdmin
-
analysis_version_link
(instance: django_analyses.models.run.Run) → str¶
-
download
(instance: django_analyses.models.run.Run) → str¶
-
duration
(instance: django_analyses.models.run.Run) → datetime.timedelta¶
-
fieldsets
= ((None, {'fields': ('analysis_version_link', 'user')}), ('Execution', {'fields': ('start_time', 'end_time', ('status', 'duration'), 'traceback', 'path', 'download')}))¶
-
inlines
= (<class 'django_analyses.admin.InputInline'>, <class 'django_analyses.admin.OutputInline'>)¶
-
list_display
= ('id', 'analysis_version_link', 'user_link', 'start_time', 'end_time', 'duration', '_status', 'download')¶
-
list_filter
= ('status', 'start_time', 'analysis_version__analysis', 'user')¶
-
media
¶
-
readonly_fields
= ('analysis_version', 'analysis_version_link', 'user_link', 'start_time', 'end_time', 'duration', 'status', 'path', 'download')¶
-
search_fields
= ('id', 'analysis_version__title', 'analysis_version__analysis__title')¶
-
user_link
(instance: django_analyses.models.run.Run) → str¶
-
-
django_analyses.admin.
custom_titled_filter
(title: str)¶ Copied from SO: https://stackoverflow.com/a/21223908/4416932
django_analyses.apps module¶
Definition of the DjangoAnalysesConfig
class.
References
django_analyses.pipeline_runner module¶
Definition of the PipelineRunner
class.
-
class
django_analyses.pipeline_runner.
PipelineRunner
(pipeline: django_analyses.models.pipeline.pipeline.Pipeline, quiet: bool = False)¶ Bases:
object
Manages the execution of pipelines.
-
generate_user_inputs_string
(user_inputs: dict) → str¶ Formats the user provided input dictionary as a readable string.
Parameters: user_inputs (dict) – Standardized user provided inputs Returns: Formatted user provided input dictionary Return type: str
-
get_destination_kwarg
(pipe: django_analyses.models.pipeline.pipe.Pipe) → dict¶ Composes a keyword argument to include in a destination node’s configuration.
Parameters: pipe (Pipe) – A pipe with an existing run matching its source node Returns: Destination node keyword argument Return type: dict
-
get_incoming_pipes
(node: django_analyses.models.pipeline.node.Node, run_index: int) → django.db.models.query.QuerySet¶ Returns all pipes in the pipeline that declare the given node instance as their destination.
Parameters: Returns: Pipes with the provided node as destination
Return type: QuerySet
-
get_node_inputs
(node: django_analyses.models.pipeline.node.Node, user_inputs: Dict[django_analyses.models.pipeline.node.Node, List[Dict[str, Any]]], run_index: int) → dict¶ Returns the node’s input configuration, including inputs specified by the user and preceding nodes’ outputs.
Parameters: Returns: Input configuration
Return type:
-
get_node_user_inputs
(user_inputs: Dict[django_analyses.models.pipeline.node.Node, List[Dict[str, Any]]], node: django_analyses.models.pipeline.node.Node, run_index: int) → Dict[str, Any]¶ Returns the input configuration dictionary provided by the user for the specified node’s execution.
Parameters: Returns: User provided input configuration
Return type: Dict[str, Any]
-
get_safe_results
() → dict¶ Returns a JSON-serializable dictionary of the pipeline’s outputs.
Returns: Results dictionary with node IDs as keys a list of result dictionaries for each run of that node Return type: dict
-
has_required_runs
(node: django_analyses.models.pipeline.node.Node, run_index: int) → bool¶ Checks whether the provided node is ready to be run by evaluating the execution state of the nodes it requires (nodes that generate output meant to be piped to it).
Parameters: Returns: Whether all required nodes have been executed or not
Return type:
-
report_node_execution_end
(run) → None¶ Reports the end of a node’s execution.
Parameters: run ( Run
) – The created run instance
-
report_node_execution_failure
(node: django_analyses.models.pipeline.node.Node, user_inputs: dict, node_inputs: dict, exception: str) → None¶ Reports a failure in a node’s execution.
Parameters: Raises: RuntimeError
– [description]
-
report_node_execution_start
(node: django_analyses.models.pipeline.node.Node, run_index: int, inputs: dict, first: bool = False) → None¶ Reports the start of a node’s execution.
Parameters:
-
reset_runs_dict
() → None¶ Resets the
runs
dictionary before a new execution.
-
run
(inputs: dict) → dict¶ Runs
pipeline
with the provided inputs.Parameters: inputs (dict) – Input configurations to be passed to the nodes, this may either be provided as a dictionary with nodes as keys and configurations as values or simply an input configuration if there’s only one entry node Returns: Resulting run instances Return type: dict
-
run_entry_nodes
(user_inputs: Dict[django_analyses.models.pipeline.node.Node, List[Dict[str, Any]]]) → None¶ Runs the “entry” nodes of the pipeline, i.e. nodes that are not the destination of any other node.
Parameters: user_inputs (Dict[Node, List[Dict[str, Any]]]) – User provided input configurations
-
run_node
(node: django_analyses.models.pipeline.node.Node, user_inputs: Dict[django_analyses.models.pipeline.node.Node, List[Dict[str, Any]]]) → None¶ Runs the provided node and stores the created
Run
instances in the class’sruns
attribute.Parameters:
-
standardize_user_input
(user_input: Union[List[Dict[str, Any]], Dict[Union[str, django_analyses.models.pipeline.node.Node], Any]]) → Dict[django_analyses.models.pipeline.node.Node, List[Dict[str, Any]]]¶ Standardizes user input to conform with the desired format (a dictionary with nodes as keys and list of input dictionaries as values).
Parameters: user_input (Union[List[Dict[str, Any]], Dict[Union[str, Node], Any]]) – User input as either a dictionary of nodes and their input dictionaries, or an input dictionary (or list of input dictionaries) specified for a singular entry node Returns: Standardized user input Return type: Dict[Node, List[Dict[str, Any]]]
-
validate_user_input_keys
(user_input: Dict[Union[str, django_analyses.models.pipeline.node.Node], Any]) → bool¶ Validates all keys of a user input dictionary are either nodes or strings. Return True if all are nodes, False if all are strings, and raises a ValueError in any other case.
Parameters: user_input (Dict[Union[str, Node], Any]) – User input dictionary Returns: True of all keys are nodes, False if all keys are strings Return type: bool
-