mplib
A lightweight motion planning library
What it is and what it does
MPlib is a lightweight Python motion planning library designed for robot manipulation tasks. It decouples from ROS to simplify setup and use, offering core motion planning functionality through a minimal Python interface. The package depends on numpy for numerical computation, toppra for trajectory optimization, and transforms3d for 3D geometric transformations.
The library targets developers and researchers working on robot manipulation who need trajectory planning and collision checking without the overhead of a full ROS installation. It supports Python 3.8 through 3.12 on Linux and provides prebuilt wheels for straightforward installation, though the project has not released updates in over two years, which may limit support for newer Python versions or bug fixes.
Use it for:
- Plan collision-free trajectories for robotic arms in simulation or research prototypes.
- Compute smooth robot manipulation paths without setting up a full ROS environment.
- Integrate motion planning into Python-based robot control scripts using numpy arrays.
- Prototype manipulation algorithms in academic research on robot motion.
- Generate optimized trajectories for multi-joint robot systems in educational projects.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
MPlib provides motion planning algorithms for robot manipulation, decoupled from ROS, with trajectory computation and collision checking built on numpy, toppra, and transforms3d.
Yes, with conditions. Install if you need lightweight, ROS-independent motion planning for robot manipulation on Linux and can accept a dormant codebase. The MIT license and prebuilt wheels lower friction, but the 727-day release gap means no recent bug fixes or Python version updates—verify that version 0.2.1 meets your Python and platform requirements before committing. No known security vulnerabilities.
Install
mplib on PyPI
pip
pip install mplibuv
uv add mplibpoetry
poetry add mplibInstalling mplib
Before you install
Medium install friction: prebuilt wheels available for Python 3.8–3.12 on Linux, but the package is dormant (no releases in 727 days), which may affect long-term compatibility and bug fixes.
License in practice
MIT License permits commercial and private use with minimal restrictions; you must include the license notice in distributions but face no copyleft obligations.
Quickstart
pip install mplib
import mplib
# Create a planner and compute trajectories using numpy arrays
Requires Ubuntu 20.04+ and Linux x86_64; prebuilt wheels do not support macOS or Windows.
Verify before relying
- Specific motion planning algorithms implemented (RRT, PRM, etc.) and their performance characteristics.
- Whether the package is actively maintained despite the 727-day gap since last release.
- Integration requirements with robot simulators or hardware beyond the three listed dependencies.
Package facts
| License | MIT License Copyright (c) 2021 Hao Su's Lab, UCSD Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to… (full text in the JSON record) (permissive) |
| Python support | supports the current Python release (>=3.8) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | 3 — numpy, toppra, transforms3d |
| Maintenance | dormant — 727 days since the last release |
| First released | |
| Downloads | 74,641/month — #14,807 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: mplib-0.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; mplib-0.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; mplib-0.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; mplib-0.2.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; mplib-0.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Keywords: robotics, motion planning
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
evoevo evaluates and compares trajectory output…
copyleft · top 15,000 on PyPI
python-motion-planningImplements motion planning algorithms including…
copyleft · top 15,000 on PyPI
toppraComputes time-optimal path parameterization for…
permissive · top 15,000 on PyPI
pyperplanPyperplan is a lightweight STRIPS planner that…
copyleft · top 15,000 on PyPI
flexivrdkFlexiv Robotic Development Kit (RDK) provides…
permissive · top 15,000 on PyPI
unified-planningUnified Planning provides a Python library for…
permissive · top 15,000 on PyPI
libpinocchiolibpinocchio provides efficient rigid body…
permissive · top 15,000 on PyPI
pinPython interface to a C++ rigid-body dynamics…
permissive · top 5,000 on PyPI
resolve-robotics-uri-pyResolves ROS-style package:// and Gazebo-style…
permissive · top 15,000 on PyPI
minkmink solves inverse kinematics problems for…
permissive · top 15,000 on PyPI