schrodinger.seam.viz.render module

class schrodinger.seam.viz.render.PipelineRenderer(pipeline_proto, options, expanded_nodes: Optional[List[str]] = None)

Bases: apache_beam.runners.render.PipelineRenderer

A PipelineRenderer that has a few extensions from the base beam PipelineRender:

  • It can render a pipeline with a subset of the nodes expanded.

  • It can render a pipeline with custom node styles.

  • The rendered graph is clickable and will call a javascript function

    when a node is clicked.

Intended mostly for use with the seam watcher.

__init__(pipeline_proto, options, expanded_nodes: Optional[List[str]] = None)
setNodeStyles(node_styles)
style(transform_id)
transform_attributes(transform_id)
classmethod userPipelineFromSeamEvents(seam_events: List[schrodinger.seam.runners.events.SeamEvent], expanded_nodes: Optional[List[str]] = None) str

Renders a pipeline from a list of seam events and returns the dot string. The pipeline will be rendered with the user labels as the nodes. The nodes will be colored based on the inferred status of the transform (e.g. running, completed). The status is based on the phases that the transform has been seen in.

The rendered graph is clickable and will call a javascript function when a node is clicked.

classmethod phasePipelineFromSeamEvents(seam_events: List[schrodinger.seam.runners.events.SeamEvent])

Renders a pipeline from a list of seam events. The pipeline will be rendered with the phase names as the nodes. The nodes will be colored based on the status of the phase (e.g. running, completed). The rendered graph

info()
is_leaf(transform_id)
layout_dot()
page()
page_callback_data(layout)
pcoll_leaf_consumers()
pcoll_leaf_consumers_iter(transform_id)
render_data()
render_json()
to_dot()
to_dot_iter()
transform_node(transform_id)
transform_to_dot(transform_id, pcoll_leaf_consumers, edges_out)
update(toggle=None)