API documentation

exception disentangler.CircularDependency

Bases: disentangler.Error

exception disentangler.DependencyAlreadyExists

Bases: disentangler.Error

class disentangler.Disentangler(tree)

Bases: object

exception CircularDependency

Bases: disentangler.Error

exception Disentangler.DependencyAlreadyExists

Bases: disentangler.Error

exception Disentangler.Error

Bases: exceptions.Exception

Disentangler.FORWARD_KEY = 'depends_on'
Disentangler.REVERSE_KEY = 'required_by'
exception Disentangler.UnresolvableDependency(deps, node_id)

Bases: disentangler.Error

Disentangler.add(node_id, node)

Add a new node to the not yet ordered tree.

Parameters:
  • node_id – unique identifier of a dependency (may be used by other dependencies to reference it)
  • node – dict, optionally containing forward and / or reverse dependencies
classmethod Disentangler.new(forward_key=None, reverse_key=None)

Create an empty dependency graph.

Parameters:
  • forward_key – set the key used in the dependency specification which points to forward dependencies
  • reverse_key – set the key used in the dependency specification which points to reverse dependencies
Disentangler.pop(node_id)

Remove a node from the tree.

Disentangler.solve()

Disentangle the graph by ordering nodes according to the specified dependency tree.

exception disentangler.Error

Bases: exceptions.Exception

exception disentangler.UnresolvableDependency(deps, node_id)

Bases: disentangler.Error