/scinet

Network science abstract data types

Primary LanguagePythonMIT LicenseMIT

scinet

build author license pypi python

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

  1. Install Python >= 3.8
  2. 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