Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

A package for finding the best path throgh a network graph

Project description


Fastpath is a fast and lightweight tool for finding the shortest path in a weighted graph. As input it only needs the starting node, the ending node, and the weights of each node to node edge. For versatility it uses the Bellman-Ford algorithm, which allows for negative weights. Future version will incorporate the Dijkstra algorithm to speed up runtimes on graphs that do not contain negative edges. To install fastpath,

git clone
cd fastpath; make

The only library dependency for fastpath is uthash (which is included). The fastpathz has the extra dependency of mini-gmp (which is included).

Fastpath Example

Run on included sample data:

fastpath --source a --target e < input 

Output is the path of nodes, and should look like


The structure of the graph looks like:

a ─────▶ b ◀───── f
│        │
│        │
▼        ▼
c ─────▶ d ─────▶ e
  • Strings can be used for the nodes, and the weights can be positive or negative long double numbers. The weights can even be in the form of scientific shorthand (1.6E+9).

Project details

Release history Release notifications

This version


Download files

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

Files for fastpath, version 0.1
Filename, size File type Python version Upload date Hashes
Filename, size fastpath-0.1-cp37-cp37m-macosx_10_9_x86_64.whl (9.1 kB) File type Wheel Python version cp37 Upload date Hashes View hashes
Filename, size fastpath-0.1.tar.gz (4.2 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page