/floyd-warshall-csv-generator

Takes a CSV of graph edges as input, and generates a CSV of the edges that are the shortest paths between all pairs of vertices.

Primary LanguagePythonApache License 2.0Apache-2.0

floyd-warshall-csv-generator

Takes a CSV of graph edges as input, and generates a CSV of the edges that are the shortest paths between all pairs of vertices.

Calculates output edges using scipy.sparse.csgraph.floyd_warshall.

For more information, see the article Introducing Floyd-Warshall CSV Generator.

Getting started

  1. Install a recent Python 3.x version (if you don't already have one).
  2. Install python-poetry:
    curl -sSL https://install.python-poetry.org | python3 -
  3. Install dependencies:
    poetry install

Developing

To clone the repo:

git clone git@github.com:Jaza/floyd-warshall-csv-generator.git

To automatically fix code style issues:

./scripts/format.sh

To verify code style and static typing:

./scripts/verify.sh

To run tests:

./scripts/test.sh

Building

To build the library:

poetry build