Skip to main content

pyastar - A* Algorithm in Python

You can find a documentation of pyastar at: https://www.egr.msu.edu/coinlab/pyastar/

build status python 3.6 license apache

Installation

The official release is always available at PyPi:

pip install -U pyastar

Usage

Graph

from pyastar.interface import astar_graph
from pyastar.util.graph import WeightedGraph


def create_sample_graph():
    G = WeightedGraph()

    G.add_node("s", "a", "b", "c", "d", "e", "g")
    G.add_edge("s", "a", 1.5)
    G.add_edge("a", "b", 2.0)
    G.add_edge("b", "c", 3.0)
    G.add_edge("c", "g", 4.0)
    G.add_edge("s", "d", 2.0)
    G.add_edge("d", "e", 3.0)
    G.add_edge("e", "g", 2.0)

    G.preprocess()

    return G


def heuristic_sample_graph(node):
    D = {
        "s": None,
        "a": 4.0,
        "b": 4.0,
        "c": 4.0,
        "d": 4.0,
        "e": 4.0,
        "g": 0.0
    }

    return D[node]


if __name__ == '__main__':
    G = create_sample_graph()
    ret = astar_graph(G, "s", "g", heuristic_sample_graph)
    print("Shortest Path:", ret)

Grid

from pyastar.interface import astar_graph
from pyastar.util.grid import Grid
from pyastar.util.heuristics import manhatten_dist_2d

grid = Grid(5, 5)
grid.add_obstacle((3, 0), (3, 1))
G = grid.to_graph()

start = (4, 0)
goal = (0, 4)

ret = astar_graph(G, start, goal, lambda x: manhatten_dist_2d(x, goal))
print("Shortest Path:", ret)

Contact

Feel free to contact me if you have any question:

Julian Blank (blankjul [at] egr.msu.edu)
Michigan State University
Computational Optimization and Innovation Laboratory (COIN)
East Lansing, MI 48824, USA

Metadata

Release files for pyastar 0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyastar 0.1
File Size Uploaded
pyastar-0.1.tar.gz 12.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyastar 0.1
File Interpreter ABI Platform
pyastar-0.1-py3-none-any.whl Python 3 none any Details

Total release size: 28.6 kB

Release files / pyastar-0.1.tar.gz

Download URL pyastar-0.1.tar.gz
Size 12.8 kB
Tags Source
SHA-256 checksum
How to use checksums
be9b1d32aa22a1bed78bb2e6fd1a3a864ba572791039778d64c133da2f8819b9
BLAKE2b-256 checksum
How to use checksums
7010f5218087ffdb323e891c7978b578c72ba8a301311eeac35cb3ec6f8027a2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

Release files / pyastar-0.1-py3-none-any.whl

Download URL pyastar-0.1-py3-none-any.whl
Size 15.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
60ba67ce5b2a1514fbc6421d48c36b173ae739a57aeb6b5becd2779a41ee9485
BLAKE2b-256 checksum
How to use checksums
6838fbc94e0f88cbb821ac98f506ffa2051f504f350080e63ada3c10c709d572
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

Release history Release notifications | RSS feed

This release

0.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page