PathPlan
A lightweight, extensible Python library for 2D path planning and navigation. PathPlan provides a unified interface for implementing, comparing, and visualizing a wide array of classic and modern pathfinding algorithms.
Features
- Unified Interface: All planners follow a consistent
BaseSolverAPI. - Rich Algorithm Library: Includes 18 different path planning strategies ranging from graph-search to sampling-based, reactive, metaheuristic, and reinforcement learning methods.
- Standardized Mapping: Uses a normalized
GridMap(0.0 for free space, 1.0 for obstacles). - Visualization: Built-in utilities for rendering search progress (explored nodes/edges) and final paths.
Installation
Install the library directly from PyPI:
# Basic installation
pip install pathplan
# Install with plotting support
pip install pathplan[plot]
Alternatively, for development or to use the latest source:
git clone https://github.com/alejotoro-o/pathplan.git
cd pathplan
pip install .[plot]
Quick Start
import numpy as np
from pathplan.core import GridMap
from pathplan.classic import AStarPlanner
from pathplan.utils import Visualizer
# Create a 20x20 grid with some obstacles
data = np.zeros((20, 20))
data[5:15, 10] = 1.0 # Vertical wall
# Initialize map and planner
grid_map = GridMap(data)
planner = AStarPlanner(grid_map)
# Plan path
start, goal = (0, 0), (19, 19)
path, explored = planner.plan(start, goal)
# Visualize
viz = Visualizer(grid_map)
viz.plot_path(path, explored, title="A* Path Planning")
Available Algorithms
Classic Planners (pathplan.classic)
| Code | Full Name |
|---|---|
DijkstraPlanner |
Dijkstra's Algorithm |
AStarPlanner |
A* Search Algorithm |
BidirectionalAStarPlanner |
Bidirectional A* |
ThetaStarPlanner |
Theta* (Any-Angle A*) |
JPSPlanner |
Jump Point Search |
DStarLitePlanner |
D* Lite |
RRTPlanner |
Rapidly-exploring Random Tree |
RRTStarPlanner |
RRT* (Optimal RRT) |
InformedRRTStarPlanner |
Informed RRT* |
PRMPlanner |
Probabilistic Roadmap |
APFPlanner |
Artificial Potential Fields |
Bug2Planner |
Bug2 Algorithm |
Metaheuristic Planners (pathplan.metaheuristic)
Requires the external metaheuropt library.
| Code | Full Name |
|---|---|
GAPlanner |
Genetic Algorithm |
PSOPlanner |
Particle Swarm Optimization |
GWOPlanner |
Grey Wolf Optimizer |
WOAPlanner |
Whale Optimization Algorithm |
RL Planners (pathplan.rl)
Requires the external rlforge library.
| Code | Full Name |
|---|---|
QLearningPlanner |
Q-Learning |
SarsaPlanner |
SARSA |
Testing
Run the suite of automated tests to verify planner integrity:
pytest -v
License
This project is licensed under the MIT License - see the LICENSE file for details.
Metadata
Release files for pathplan 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pathplan-0.1.0.tar.gz | 22.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pathplan-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 57.2 kB
Release files / pathplan-0.1.0.tar.gz
| Download URL | pathplan-0.1.0.tar.gz |
|---|---|
| Size | 22.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f76001c4a4a8ea18e1f861c4152118b1521d253b594ba9083acb07db83ce4cce
|
|
BLAKE2b-256 checksum How to use checksums |
665d638cfabccd9da853ae84e043e698defda48c99f2e833a1b78d69e134a372
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 7, 2026.
Transparency logRelease files / pathplan-0.1.0-py3-none-any.whl
| Download URL | pathplan-0.1.0-py3-none-any.whl |
|---|---|
| Size | 35.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d51641a02f52b27b81e8bd031d9a3a1e70e7cdbecb8dabf9fa14a4bd0c13278c
|
|
BLAKE2b-256 checksum How to use checksums |
345e63d5be627c664b66492c875aec2c3f918ba0ec4a2aa2388227ed979139cf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 7, 2026.
Transparency log