Program diagrams

Program diagrams#

These images are automatically generated by PyReverse.

Class diagram#

@startuml classes
set namespaceSeparator none
class "dill._dill.Pickler" as dill._dill.Pickler #EEDD88 {
  dispatch : typing.Dict[type, typing.Callable[[Pickler, typing.Any], None]]
  dump(obj)
  save(obj, save_persistent_id)
}
class "edgegraph.output.nrpickler._LazyMemo" as edgegraph.output.nrpickler._LazyMemo #44BB99 {
  obj
}
class "edgegraph.output.nrpickler._LazySave" as edgegraph.output.nrpickler._LazySave #44BB99 {
  obj
}
class "edgegraph.output.nrpickler._NonrecursivePickler" as edgegraph.output.nrpickler._NonrecursivePickler #44BB99 {
  lazywrites : list
  memoize
  realmemoize
  realsave
  realwrite
  write
  dump(obj)
  lazymemoize(obj)
  lazywrite()
  save(obj, save_persistent_id)
}
class "edgegraph.structure.base.BaseObject" as edgegraph.structure.base.BaseObject #BBCC33 {
  uid
  universes
  add_to_universe(universe: Universe) -> None
  remove_from_universe(universe: Universe) -> None
}
class "edgegraph.structure.directededge.DirectedEdge" as edgegraph.structure.directededge.DirectedEdge #BBCC33 {
  v1
  v2
}
class "edgegraph.structure.link.Link" as edgegraph.structure.link.Link #BBCC33 {
  vertices
  add_vertex(new: Vertex)
  unlink_from(kill: Vertex)
}
class "edgegraph.structure.singleton.TrueSingleton" as edgegraph.structure.singleton.TrueSingleton #BBCC33 {
}
class "edgegraph.structure.singleton._SemiSingleton" as edgegraph.structure.singleton.semi_singleton_metaclass._SemiSingleton #BBCC33 {
}
class "edgegraph.structure.twoendedlink.TwoEndedLink" as edgegraph.structure.twoendedlink.TwoEndedLink #BBCC33 {
  v1
  v2
  other(end: Vertex) -> Vertex | None
}
class "edgegraph.structure.undirectededge.UnDirectedEdge" as edgegraph.structure.undirectededge.UnDirectedEdge #BBCC33 {
}
class "edgegraph.structure.universe.Universe" as edgegraph.structure.universe.Universe #BBCC33 {
  laws
  vertices
  add_vertex(vert: vertex.Vertex)
  remove_vertex(vert: vertex.Vertex)
}
class "edgegraph.structure.universe.UniverseLaws" as edgegraph.structure.universe.UniverseLaws #BBCC33 {
  applies_to
  cycles
  edge_whitelist
  mixed_links
  multipath
  multiverse
}
class "edgegraph.structure.vertex.Vertex" as edgegraph.structure.vertex.Vertex #BBCC33 {
  NEIGHBOR_CACHING : bool
  links
  add_to_link(link: Link)
  add_to_universe(universe: Universe) -> None
  remove_from_link(link: Link)
  remove_from_universe(universe: Universe) -> None
  total_cache_stats() -> str
}
edgegraph.output.nrpickler._NonrecursivePickler --|> dill._dill.Pickler
edgegraph.structure.directededge.DirectedEdge --|> edgegraph.structure.twoendedlink.TwoEndedLink
edgegraph.structure.link.Link --|> edgegraph.structure.base.BaseObject
edgegraph.structure.twoendedlink.TwoEndedLink --|> edgegraph.structure.link.Link
edgegraph.structure.undirectededge.UnDirectedEdge --|> edgegraph.structure.twoendedlink.TwoEndedLink
edgegraph.structure.universe.Universe --|> edgegraph.structure.vertex.Vertex
edgegraph.structure.universe.UniverseLaws --|> edgegraph.structure.base.BaseObject
edgegraph.structure.vertex.Vertex --|> edgegraph.structure.base.BaseObject
edgegraph.structure.universe.UniverseLaws --* edgegraph.structure.universe.Universe : _laws
edgegraph.structure.universe.Universe --o edgegraph.structure.universe.UniverseLaws : _applies_to
edgegraph.structure.universe.Universe --o edgegraph.structure.universe.UniverseLaws : applies_to
edgegraph.structure.universe.Universe --o edgegraph.structure.universe.UniverseLaws : applies_to
@enduml

Package diagram#

@startuml packages
set namespaceSeparator none
package "edgegraph" as edgegraph #77AADD {
}
package "edgegraph.builder" as edgegraph.builder #99DDFF {
}
package "edgegraph.builder.adjlist" as edgegraph.builder.adjlist #99DDFF {
}
package "edgegraph.builder.adjmatrix" as edgegraph.builder.adjmatrix #99DDFF {
}
package "edgegraph.builder.explicit" as edgegraph.builder.explicit #99DDFF {
}
package "edgegraph.builder.randgraph" as edgegraph.builder.randgraph #99DDFF {
}
package "edgegraph.output" as edgegraph.output #44BB99 {
}
package "edgegraph.output.nrpickler" as edgegraph.output.nrpickler #44BB99 {
}
package "edgegraph.output.plaintext" as edgegraph.output.plaintext #44BB99 {
}
package "edgegraph.output.plantuml" as edgegraph.output.plantuml #44BB99 {
}
package "edgegraph.output.pyvis" as edgegraph.output.pyvis #44BB99 {
}
package "edgegraph.structure" as edgegraph.structure #BBCC33 {
}
package "edgegraph.structure.base" as edgegraph.structure.base #BBCC33 {
}
package "edgegraph.structure.directededge" as edgegraph.structure.directededge #BBCC33 {
}
package "edgegraph.structure.link" as edgegraph.structure.link #BBCC33 {
}
package "edgegraph.structure.singleton" as edgegraph.structure.singleton #BBCC33 {
}
package "edgegraph.structure.twoendedlink" as edgegraph.structure.twoendedlink #BBCC33 {
}
package "edgegraph.structure.undirectededge" as edgegraph.structure.undirectededge #BBCC33 {
}
package "edgegraph.structure.universe" as edgegraph.structure.universe #BBCC33 {
}
package "edgegraph.structure.vertex" as edgegraph.structure.vertex #BBCC33 {
}
package "edgegraph.traversal" as edgegraph.traversal #AAAA00 {
}
package "edgegraph.traversal.breadthfirst" as edgegraph.traversal.breadthfirst #AAAA00 {
}
package "edgegraph.traversal.depthfirst" as edgegraph.traversal.depthfirst #AAAA00 {
}
package "edgegraph.traversal.helpers" as edgegraph.traversal.helpers #AAAA00 {
}
package "edgegraph.version" as edgegraph.version #77AADD {
}
edgegraph.builder.adjlist --> edgegraph.builder
edgegraph.builder.adjlist --> edgegraph.builder.explicit
edgegraph.builder.adjlist --> edgegraph.structure
edgegraph.builder.adjmatrix --> edgegraph.builder
edgegraph.builder.adjmatrix --> edgegraph.builder.explicit
edgegraph.builder.adjmatrix --> edgegraph.structure
edgegraph.builder.explicit --> edgegraph.structure
edgegraph.builder.explicit --> edgegraph.traversal
edgegraph.builder.explicit --> edgegraph.traversal.helpers
edgegraph.builder.randgraph --> edgegraph.builder
edgegraph.builder.randgraph --> edgegraph.builder.adjlist
edgegraph.builder.randgraph --> edgegraph.structure
edgegraph.output.plaintext --> edgegraph.structure
edgegraph.output.plaintext --> edgegraph.traversal
edgegraph.output.plaintext --> edgegraph.traversal.helpers
edgegraph.output.plantuml --> edgegraph.structure
edgegraph.output.pyvis --> edgegraph.output.pyvis
edgegraph.output.pyvis --> edgegraph.structure
edgegraph.structure --> edgegraph.structure.base
edgegraph.structure --> edgegraph.structure.directededge
edgegraph.structure --> edgegraph.structure.link
edgegraph.structure --> edgegraph.structure.twoendedlink
edgegraph.structure --> edgegraph.structure.undirectededge
edgegraph.structure --> edgegraph.structure.universe
edgegraph.structure --> edgegraph.structure.vertex
edgegraph.structure.directededge --> edgegraph.structure
edgegraph.structure.directededge --> edgegraph.structure.twoendedlink
edgegraph.structure.link --> edgegraph.structure
edgegraph.structure.link --> edgegraph.structure.base
edgegraph.structure.twoendedlink --> edgegraph.structure
edgegraph.structure.twoendedlink --> edgegraph.structure.link
edgegraph.structure.twoendedlink --> edgegraph.structure.vertex
edgegraph.structure.undirectededge --> edgegraph.structure
edgegraph.structure.undirectededge --> edgegraph.structure.twoendedlink
edgegraph.structure.universe --> edgegraph.structure
edgegraph.structure.universe --> edgegraph.structure.base
edgegraph.structure.universe --> edgegraph.structure.vertex
edgegraph.structure.vertex --> edgegraph.structure
edgegraph.structure.vertex --> edgegraph.structure.base
edgegraph.traversal.breadthfirst --> edgegraph.structure
edgegraph.traversal.breadthfirst --> edgegraph.traversal
edgegraph.traversal.breadthfirst --> edgegraph.traversal.helpers
edgegraph.traversal.depthfirst --> edgegraph.structure
edgegraph.traversal.depthfirst --> edgegraph.traversal
edgegraph.traversal.depthfirst --> edgegraph.traversal.helpers
edgegraph.traversal.helpers --> edgegraph.structure
edgegraph.structure.base ..> edgegraph.structure.universe
edgegraph.structure.directededge ..> edgegraph.structure.vertex
edgegraph.structure.link ..> edgegraph.structure.vertex
edgegraph.structure.undirectededge ..> edgegraph.structure.vertex
edgegraph.structure.vertex ..> edgegraph.structure.link
edgegraph.structure.vertex ..> edgegraph.structure.universe
@enduml