Skip to main content

PathPlan

PyPI - License PyPI - Version PyPI - Python Version PyPI Downloads

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 BaseSolver API.
  • 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)

Source distribution for pathplan 0.1.0
File Size Uploaded
pathplan-0.1.0.tar.gz 22.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pathplan 0.1.0
File Interpreter ABI Platform
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 log

Release 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

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

0.0.1

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