mrkeyoor.com_
Mon 05 Oct 06:26 UTC
Dev Toolsevaluationupdated 05 Oct 2026

PythonRobotics review

PythonRobotics is a collection of readable Python examples and an online textbook for learning robotics algorithms. It lets you inspect and run localization, mapping, planning, control, and navigation methods without first adopting a full robot framework.

Verdict

Our PythonRobotics run installed 68 packages in 15 seconds, then pytest collected 0 tests and exited 5, so it is easier to explore than to trust as a ready-made dependency. Use it to understand an algorithm, compare approaches, or seed an experiment. Choose a packaged toolbox or robotics framework when stable releases, reusable APIs, and an immediately working test gate matter.

We ran it

Lab card: what happened when we ran PythonRoboticsScreenshot of PythonRobotics (atsushisakai.github.io/PythonRobotics)
Install✓ · 15s68 packages · 589 MB
Build✓ · 1s
Tests✗ · 2s0 passed · 0 failed of 0 (pytest)
Known vulns0(pip-audit)
Repo517 files~36,496 lines of source · 14.6 MB · 6 CI workflows · tests dir

Answers from our run

Does PythonRobotics build from source?

Dependencies installed in 15 seconds (68 packages), and the build succeeded in 1 seconds. We cloned commit ec422d3 into a clean Debian container with 3 CPUs and no project-specific setup.

Do PythonRobotics's tests pass?

Yes: 0 of 0 passed when we ran the project's own test command (pytest). Some failures need services or credentials a bare container does not have.

Does PythonRobotics have known vulnerabilities in its dependencies?

pip-audit found none in the dependency tree at the time of our run.

Who should not use PythonRobotics?

Teams seeking a versioned Python dependency: the README tells users to clone the repository and run scripts from individual directories, and GitHub has no latest release.

What are the alternatives to PythonRobotics?

Robotics Toolbox for Python, PathPlanning, MRPT. Our PythonRobotics run installed 68 packages in 15 seconds, then pytest collected 0 tests and exited 5, so it is easier to explore than to trust as a ready-made dependency.

Setup4/515-second install, but the default pytest run collected 0 tests
Docs5/5Extensive textbook, references, animations, and setup guidance
Community5/5October 5 push, 30,628 stars, and active issue and PR work
Maturity3/5Long-running project, but no releases and our test step failed

Who it’s for

Students who learn faster from a working animation beside the equations.
Robotics engineers comparing a known algorithm with a small, readable implementation.
Teachers who want runnable examples for localization, planning, SLAM, or control lessons.
Developers willing to adapt sample code and add their own integration and safety checks.

Who it’s NOT for

Teams seeking a versioned Python dependency: the README tells users to clone the repository and run scripts from individual directories, and GitHub has no latest release.
Release pipelines that require a green default test command: our pytest run collected 0 tests and exited 5.
Projects pinned to the README's supported environment but unable to use Python 3.13.x; our Python 3.12 sandbox installed successfully, but that is not the documented version.
Work that depends on resize-accurate RRT obstacle plots without local verification: open issue 1396 documents circles changing scale when a figure is resized.

Setup reality

Our sandbox installed commit ec422d3 in 15 seconds: 68 packages occupied 589 MB. The build passed in 1 second. Pytest failed with exit 5 after 2 seconds, reporting 0 passed, 0 failed, and no tests run. Pip-audit found 0 known vulnerabilities.

The README requires Python 3.13.x plus NumPy, SciPy, Matplotlib, and cvxpy, with pip and conda setup files. It documents no account, API credential, database, or hosted service. You clone the repository and execute a chosen script in its directory.

Our checkout contained 517 files, about 36,496 lines of source, and used 14.6 MB before installation. The repo has no Dockerfile. Many examples are visual or interactive, so running a script is only the start; you must inspect its assumptions and adapt it to your robot or lesson.

517 files make a readable algorithm atlas, not a robot stack

PythonRobotics contains 517 files and about 36,496 lines of source, yet its best promise is modest: each algorithm is meant to be read, run, and understood. The repository pairs small Python implementations with an online textbook, papers, and animations. That makes an extended Kalman filter, RRT*, Dynamic Window Approach, or Stanley controller easier to examine than it would be inside a large framework. It does not supply the surrounding hardware, messaging, deployment, and safety systems needed to operate a robot.

The README covers 8 broad areas, including localization, mapping, SLAM, path planning, path tracking, arm navigation, aerial navigation, and bipedal motion. Individual examples show the state that matters: a particle-filter plot separates ground truth, dead reckoning, and the estimate, while D* Lite visibly reroutes as obstacles appear. References sit near many examples, so you can move from the animation to the paper instead of treating the code as an unexplained recipe.

The 15-second install is easier than the execution model

Our sandbox installed 68 packages in 15 seconds, and the environment occupied 589 MB. The checkout itself was only 14.6 MB. That is a reasonable cost for NumPy, SciPy, Matplotlib, cvxpy, and the other requirements used across a wide algorithm collection. Pip-audit reported 0 known vulnerabilities in the dependency set we installed. This audit result describes commit ec422d3 on October 4, 2026, not every future dependency update.

Setup still feels like coursework rather than a library contract. The README tells you to clone the repository, install a requirements file with pip or conda, enter an example directory, and run its script. It calls for Python 3.13.x, while our container used Python 3.12. The installation succeeded on 3.12, but that does not turn it into a documented target. No credential, database, or outside service is required for the advertised local examples.

What happened when we ran it

Our run at commit ec422d3 used an unprivileged Debian container with 3 CPUs, 8 GB of RAM, Python 3.12, and no secrets. Installation completed in 15 seconds, and the build completed in 1 second. The repository had 6 CI workflow files and a tests directory, while our scan found no Dockerfile. Those facts make the project easy to inspect and cheap to build, but they do not prove that a chosen simulation behaves correctly.

Pytest failed after 2 seconds with exit code 5. It reported 0 passed, 0 failed, and the final log said, "no tests ran in 0.00s." That is the whole finding. The log does not identify a missing system package, a discovery configuration error, or an incompatible Python version, so assigning any of those causes would be guesswork. A team adopting code from the collection must establish its own repeatable test command before changing an algorithm.

Six CI workflows do not make the empty test run green

PythonRobotics had 6 CI workflow files and a tests directory at the measured commit, yet the command in our sandbox collected 0 tests. Both details matter. The repository plainly contains testing and cross-platform automation signals, but a fresh user cannot treat those signals as a passing local gate. The practical response is to read the workflow for the example you plan to use, reproduce its exact invocation, and add a focused test for your own inputs.

That caution matters because these scripts encode assumptions you may not share. The README describes 2D planners, simulated RFID landmarks, known yaw in one histogram-filter example, and interactive Matplotlib controls for an arm example. Those choices are useful because they keep the lesson visible. They also mark the point where copying ends and engineering begins: sensor models, coordinate conventions, collision geometry, and failure behavior all need review against the real system.

An October 5 push shows activity, but there is no release channel

GitHub recorded the latest push on October 5, 2026, with 30,628 stars and 53 open issues and pull requests. The search API split that combined figure into 15 issues and 38 pull requests. New work included path tracking, flocking, planner fixes, and documentation changes. This is an active repository by both code and issue signals. The latest-release endpoint returned no release, however, so adopters choose a commit rather than a published version.

One current defect shows why that distinction matters. Open issue 1396 has 12 comments about RRT obstacle circles whose displayed radius changes when the Matplotlib figure is resized, even though collision checks use data coordinates. An open pull request proposes a shared plotting fix and a regression test. The issue concerns visualization rather than proof that the planner collides, but an educational display that disagrees with its geometry can still teach the wrong picture.

Three alternatives fit narrower or more operational jobs

Robotics Toolbox for Python is the better pick when you need an installable API, robot models, kinematics, and dynamics. PathPlanning narrows the material to animated search and sampling planners. MRPT goes the other direction with a C++ mobile-robotics framework, sensor support, SLAM, maps, applications, and ROS integration. These 3 projects solve different jobs. PythonRobotics wins when readable source and visual explanation matter more than a packaged interface.

Use PythonRobotics as a bench book you can execute. The 1-second build and broad textbook make it unusually easy to inspect an unfamiliar method, and the MIT license leaves room to adapt code. The failed 0-test run sets the boundary: before any example influences a real robot, pin commit ec422d3 or another reviewed revision, reproduce the relevant upstream check, and write tests around the assumptions your machine cannot afford to get wrong.

Alternatives

ProjectWhat it isPick it when
Robotics Toolbox for PythonAn installable Python toolbox with robot models, kinematics, dynamics, planning, and teaching material.pick this instead when you need a reusable Python API and packaged robot models rather than standalone examples.
PathPlanningA focused set of animated search-based and sampling-based path-planning implementations.pick this instead when path planning is the whole lesson and you want many variants grouped in one smaller collection.
MRPTA C++ mobile-robotics toolkit covering SLAM, sensors, geometry, maps, and applications.pick this instead when you need a broader robotics framework, sensor support, and ROS integration in C++.

What people are saying

  1. [velocity-scout] AtsushiSakai/PythonRobotics

Sources

  1. PythonRobotics repository and README
  2. PythonRobotics online textbook
  3. Open issue 1396 on RRT obstacle circle scaling
  4. PythonRobotics commit activity

More dev tools reviews

learning-python · github-launch-checklist · blitzstrike · AirCard · github-ranking-audit · gpt_sub_analysis · the whole board →