python-motion-planning
Motion planning algorithms for Python
What it is and what it does
Python Motion Planning provides a collection of motion planning implementations for robotics, organized into three main components: path planners that find collision-free routes on N-D grids using graph search (Dijkstra, A*, JPS, Theta*) and sampling-based methods (RRT, RRT*); trajectory optimizers that generate smooth curves respecting kinematic and dynamic constraints; and path-tracking controllers (Pure Pursuit, PID, DWA, APF) that guide robots along planned paths. It includes a matplotlib-based visualizer and a toy 2D physics simulator for testing controllers on circular and differential-drive robots.
The package targets roboticists and autonomous systems developers who need reference implementations of standard planning algorithms. It depends on numpy, scipy, and numba for numerical computation, matplotlib and pyvista for visualization, and gymnasium for environment interaction. The repository is actively maintained with recent updates, though some algorithms from earlier versions (LQR, MPC, evolutionary methods) have not been migrated to the current release.
Use it for:
- Prototyping path-planning solutions for mobile robots in obstacle-filled environments
- Testing trajectory optimization and smoothing techniques for motion control
- Learning and teaching motion planning algorithms with working reference implementations
- Simulating multi-robot coordination using the toy 2D simulator with multiple robot types
- Benchmarking different planner algorithms on 2D and 3D grid problems
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Implements motion planning algorithms including path planners for N-D grids, trajectory optimizers, path-tracking controllers, and visualization tools for robotics applications.
Yes, with conditions. Install if you need reference implementations of standard motion planning algorithms for research, education, or prototyping. The low install friction, active maintenance, and lack of known vulnerabilities support adoption. However, be aware of the GPLv3 copyleft requirement if you plan to integrate this into proprietary code, and verify that the specific algorithms you need are present in version 2.0.1 (some have not been migrated from earlier releases).
Install
python-motion-planning on PyPI
pip
pip install python-motion-planninguv
uv add python-motion-planningpoetry
poetry add python-motion-planningInstalling python-motion-planning
Before you install
Low install friction with a pure Python wheel. Active maintenance with recent commits; last release 73 days ago. Depends on 9 runtime packages including numpy, scipy, numba for computation and matplotlib, pyvista for visualization.
License in practice
Licensed under GPLv3 (copyleft). Any modifications or derivative works must be released under the same license and source code must be made available to users.
Quickstart
pip install python-motion-planning
import python_motion_planning
# Access path planners, controllers, and trajectory optimizers via submodules
Verify before relying
- Whether specific planner implementations (Dijkstra, A*, RRT, etc.) are fully functional in current version or partially migrated
- Performance characteristics and scalability limits for N-D planning problems
- Compatibility with specific robot simulation environments beyond the toy 2D simulator mentioned
Package facts
| License | GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> Everyone is permitted to copy and distribute verbatim copies of this license… (full text in the JSON record) (copyleft) |
| Python support | supports the current Python release (>=3.6) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 9 — numpy, numba, scipy, matplotlib, osqp, gymnasium, faiss-cpu, pyvista, pyvistaqt |
| Maintenance | actively maintained — 73 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 127,226/month — #11,750 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: python_motion_planning-2.0.1-py3-none-any.whl
Tags
More Artificial Intelligence packages
LiteLLM provides a unified Python interface to…
permissive · top 100 on PyPI
huggingface-hubClient library and CLI tool for downloading,…
permissive · top 100 on PyPI
langchainLangChain provides a framework for building…
permissive · top 1,000 on PyPI
hf-xethf-xet provides chunk-based deduplication and…
permissive · top 1,000 on PyPI
tokenizersTokenizers converts raw text into token…
permissive · top 1,000 on PyPI
transformersTransformers provides a unified framework for…
permissive · top 1,000 on PyPI
drakeDrake is a robotics toolbox for analyzing robot…
permissive · top 15,000 on PyPI
flexivrdkFlexiv Robotic Development Kit (RDK) provides…
permissive · top 15,000 on PyPI
mplibMPlib provides motion planning algorithms for…
permissive · top 15,000 on PyPI
toppraComputes time-optimal path parameterization for…
permissive · top 15,000 on PyPI
cellpylibCellPyLib simulates 1- and 2-dimensional…
permissive · top 15,000 on PyPI
unified-planningUnified Planning provides a Python library for…
permissive · top 15,000 on PyPI
pyperplanPyperplan is a lightweight STRIPS planner that…
copyleft · top 15,000 on PyPI
pinPython interface to a C++ rigid-body dynamics…
permissive · top 5,000 on PyPI
libpinocchiolibpinocchio provides efficient rigid body…
permissive · top 15,000 on PyPI
contourpyContourPy calculates contours of 2D…
permissive · top 1,000 on PyPI