Network science abstract data types
scinet.Graph is designed upon the graph (abstract data type) definition and functions as a bare bones skeletal graph data mapping, containing abstract vertices and edges.
Includes DiGraph and MultiGraph support, with HyperGraph capabilities.
Installation
- Install Python >= 3.8
- Install scinet
$ pip install scinet-josugoar
Usage
Import scinet
import scinet as sn
Create graph
G = sn.Graph()
Manipulate data
- add_vertex
G.add_vertex(vertex := "foo")
- add_edge
Edges must be assigned using hashable keys so that no name conflicts exist between source_vertex and target_vertex edges
key = G.add_edge(source_vertex := "foo", target_vertex := "bar"[, edge := "foobar"])
- remove_vertex
G.remove_vertex(vertex := "foo")
- remove_edge
G.remove_edge(source_vertex := "foo", target_vertex := "bar"[, edge := "foobar"])")
- adjacent
(target_vertex := "bar") in G[(source_vertex := "foo")]
>>> True
- neighbours
set(G[(vertex := "foo")])
>>> { "neighbour_1", "neighbour_2", ... }
See docs for further details.
Contributors
- josugoar - Main contributor - GitHub