pyastar - A* Algorithm in Python
You can find a documentation of pyastar at: https://www.egr.msu.edu/coinlab/pyastar/
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)
| File | Size | Uploaded | |
|---|---|---|---|
| pyastar-0.1.tar.gz | 12.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|