ragraph.analysis._classes#

Abstracted analysis base classes and methods.

Module Contents#

Classes#

Cast

Cast for parameters.

GraphCast

Just check whether the argument is a Graph.

NodeCast

Cast node names into instances.

NodesCast

Cast leaf node names into node instances. If an empty list is provided, take

LeafsCast

Cast leaf node names into node instances. If an empty list is provided, take

MethodCast

Cast a Callable to ensure the method is fetched when it's an Analysis object.

Parameter

Analysis parameter.

Analysis

Analysis interface.

BusAnalysis

Analysis interface.

ClusterAnalysis

Analysis interface.

SequenceAnalysis

Analysis interface.

BranchsortAnalysis

Analysis interface.

Attributes#

graph

root

nodes

leafs

edge_weights

names

inplace

inherit

loops

safe

class ragraph.analysis._classes.Cast(**kwargs)#

Bases: abc.ABC

Cast for parameters.

abstract __call__(value: Any) Any#

Cast a value.

class ragraph.analysis._classes.GraphCast#

Bases: Cast

Just check whether the argument is a Graph.

__call__(value: Any) ragraph.graph.Graph#

Cast a value.

class ragraph.analysis._classes.NodeCast(graph: Optional[ragraph.graph.Graph])#

Bases: Cast

Cast node names into instances.

Parameters:

graph – Graph to fetch nodes from.

__call__(value: Any) Optional[ragraph.node.Node]#

Cast a value.

class ragraph.analysis._classes.NodesCast(graph: Optional[ragraph.graph.Graph], root: Optional[Union[ragraph.node.Node, str]] = None)#

Bases: Cast

Cast leaf node names into node instances. If an empty list is provided, take child nodes below a specific root node or all leafs in the graph.

__call__(value: Optional[List[str]] = None) List[ragraph.node.Node]#

Cast a value.

class ragraph.analysis._classes.LeafsCast(graph: Optional[ragraph.graph.Graph], root: Optional[str] = None)#

Bases: Cast

Cast leaf node names into node instances. If an empty list is provided, take leaf nodes below a specific root node or all leafs in the graph.

__call__(value: Optional[List[str]] = None) List[ragraph.node.Node]#

Cast a value.

class ragraph.analysis._classes.MethodCast#

Bases: Cast

Cast a Callable to ensure the method is fetched when it’s an Analysis object.

__call__(value: Callable)#

Cast a value.

class ragraph.analysis._classes.Parameter(name: str, type: Any, description: str = '', default: Any = None, cast: Any = None, enum: Optional[Set[Any]] = None, lower: Optional[ragraph.generic.Bound] = None, upper: Optional[ragraph.generic.Bound] = None)#

Analysis parameter.

Parameters:
  • name – Argument name.

  • description – Argument description.

  • type – Argument instance type.

  • default – Default argument value.

  • cast – Optional cast to use for incoming execution values.

  • enum – Allowed values if this parameter is an enumeration.

  • lower – Lower bound for numeric values (inclusive).

  • upper – Upper bound for numeric values (inclusive).

__str__() str#

Return str(self).

parse(value: Any) Any#

Check and parse a value.

ragraph.analysis._classes.graph#
ragraph.analysis._classes.root#
ragraph.analysis._classes.nodes#
ragraph.analysis._classes.leafs#
ragraph.analysis._classes.edge_weights#
ragraph.analysis._classes.names#
ragraph.analysis._classes.inplace#
ragraph.analysis._classes.inherit#
ragraph.analysis._classes.loops#
ragraph.analysis._classes.safe#
class ragraph.analysis._classes.Analysis(name: str, description: str = '', parameters: Optional[Dict[str, Parameter]] = None)#

Analysis interface.

Parameters:
  • name – Analysis name.

  • description – Analysis description.

  • parameters – Analysis parameter mapping.

_default_parameters :Dict[str, Parameter]#
_returns :Optional[List[str]]#
__str__() str#

Return str(self).

__repr__() str#

Return repr(self).

__call__(func: Callable)#

Wrap an analysis function to apply docstring and parameter parsing.

_parse_signature(func: Callable)#

Check whether the signature of the function matches with the parameters.

_apply_docstring(func: Callable)#

Apply new docstring.

_parse_parameters(kw: Dict[str, Any])#

Parse given arguments using the Parameter specifications.

abstract wrap(func: Callable) Callable#

Wrapper function to wrap analysis method with.

log(msg: str, level: int = DEBUG)#

Dispatch a logging message.

class ragraph.analysis._classes.BusAnalysis(name: str, description: str = '', parameters: Optional[Dict[str, Parameter]] = None)#

Bases: Analysis

Analysis interface.

Parameters:
  • name – Analysis name.

  • description – Analysis description.

  • parameters – Analysis parameter mapping.

_default_parameters#
_returns = ['Detected bus nodes (or names thereof).', 'Remaining nonbus nodes (or names thereof).']#
wrap(func: Callable) Callable#

Wrapper for all bus detection algorithms.

Returns:

Function that preprocesses the arguments and handles some typical/trivial cases where nodes are not set or too few to distinguish a bus at all.

class ragraph.analysis._classes.ClusterAnalysis(name: str, description: str = '', parameters: Optional[Dict[str, Parameter]] = None)#

Bases: Analysis

Analysis interface.

Parameters:
  • name – Analysis name.

  • description – Analysis description.

  • parameters – Analysis parameter mapping.

_default_parameters#
wrap(func: Callable) Callable#

Wrapper function to wrap analysis method with.

class ragraph.analysis._classes.SequenceAnalysis(name: str, description: str = '', parameters: Optional[Dict[str, Parameter]] = None)#

Bases: Analysis

Analysis interface.

Parameters:
  • name – Analysis name.

  • description – Analysis description.

  • parameters – Analysis parameter mapping.

_default_parameters#
wrap(func: Callable) Callable#

Wrapper function to wrap analysis method with.

class ragraph.analysis._classes.BranchsortAnalysis(name: str, description: str = '', parameters: Optional[Dict[str, Parameter]] = None)#

Bases: Analysis

Analysis interface.

Parameters:
  • name – Analysis name.

  • description – Analysis description.

  • parameters – Analysis parameter mapping.

_default_parameters#
wrap(func: Callable)#

Wrapper function to wrap analysis method with.