Skip to main content

tools for graph theory and network science with many generation models

Project description

graph-tools Package

graph_tools - tools for graph theory and network science with many generation models

DESCRIPTION

This manual page documents graph-tools module, a Python module that provides a number of features for handling directed/undirected graphs and complex networks. graph-tools was initially developed for networking researchers, who perform experiments in the field of graph theory and network science. graph-tools provides Graph class, which supports both directed and undirected graphs with multi-edges, vertex weights, edge weights, and graph attributes. A number of graph/network generation models and graph algorithms are supported.

Major features of graph-tools are:

  • directed/undirected graph with multi-edges, vertex weights, edge weights, and graph attributes

  • vertex operations (add, delete, degree, neighbors, random vertex, and set/get vertex attributes)

  • edge operations (add, delete, random edge, and set/get edge attributes)

  • graph operations (copy, adjacency matrix, diagonal matrix, Laplacian matrix)

  • major graph algorithms (exploration, connectivity, components, maximal component, Dijkstra, Floyd-Warshall, betweenness centrality)

  • spectral graph theory (spectral radius, spectral gap, natural connectivity, algebraic connectivity, effective_resistance, and spanning tree count)

  • a number of graph/network generation models (random graph, ER (Erdos Renyi), BA (Barabasi Albert), randomized BA, ring, tree, binary tree, BA tree, generalized BA, latent, lattice, Voronoi, DB (Degree Bounded), configuration model, random regular graph, Li-Miani graph)

  • graph import/export in DOT (GraphViz) format

HISTORY

The development of graph-tools started in 2007, which was initially an extension to Graph module in CPAN (Comprehensive Perl Archive Network) by Jarkko Hietaniemi. Our Perl module has been called graphtools for long time and Perl module names were Graph::Util and Graph::Enhanced. graphtools in Perl has been developed until 2018. Python version of graph-tools was born in 2018 by porting graphtools in Perl to Python. Hence, the internal structure and the coding style receives significant influence from Graph module by Jarkko Hietaniemi.

EXAMPLE

from graph_tools import Graph

# create a graph with four nodes and two edges
g = Graph(directed=True)
g.add_edge(1, 2)
g.add_edge(2, 3)
g.add_vertex(4)
print(g)

# find the all shortest paths from vertex 1
dist, prev = g.dijkstra(1)
print(dist)

# generate BA graph with 100 vertices
g = Graph(directed=False).create_graph('barabasi', 100)

# check if all vertices are mutually connected
print(g.is_connected())

# compute the betweenness centrality of vertex 1
print(g.betweenness(1))

INSTALLATION

pip3 install graph-tools

AVAILABILITY

The latest version of graph-tools module is available at PyPI (https://pypi.org/project/graph-tools/) .

SEE ALSO

graphviz - graph visualization software (https://graphviz.org/)

AUTHOR

Hiroyuki Ohsaki <ohsaki[atmark]lsnl.jp>

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

graph-tools-1.14.tar.gz (35.7 kB view details)

Uploaded Source

Built Distribution

graph_tools-1.14-py3-none-any.whl (37.3 kB view details)

Uploaded Python 3

File details

Details for the file graph-tools-1.14.tar.gz.

File metadata

  • Download URL: graph-tools-1.14.tar.gz
  • Upload date:
  • Size: 35.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.2

File hashes

Hashes for graph-tools-1.14.tar.gz
Algorithm Hash digest
SHA256 42dc229376dfd983377fb3484fec45660612baae56f39c558d1894a80c5e1b42
MD5 a99889fcba79d224eb67661a6d8dbeca
BLAKE2b-256 248c09ae906639c261f1a123eac3000df226c378ab2f45df0a782097ef527710

See more details on using hashes here.

File details

Details for the file graph_tools-1.14-py3-none-any.whl.

File metadata

  • Download URL: graph_tools-1.14-py3-none-any.whl
  • Upload date:
  • Size: 37.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.2

File hashes

Hashes for graph_tools-1.14-py3-none-any.whl
Algorithm Hash digest
SHA256 7edf1be36a29f4c04fcfbf3000edac8708cc5042f445e861cdbdaed29a32ae59
MD5 0d18355d08b879fe483444295331da48
BLAKE2b-256 41e21c7514464e0d35408a45d339b91d0d12c63f46ba4d4f5cc9bd4d1b734dc7

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page