Skip to main content

Python Toolbox for Robotics

Project description


Robot arm logo

The Python Toolbox for Robotics

Item Badges
Repo GitHub issues GitHub forks GitHub stars GitHub repo size
Releases GitHub tag PyPI Version PyPI Wheel PyPI Format semantic-release semantic-release: angular PyPI - Downloads
Compatibility PyPI Pythons PyPI Implementation
Workflows Test Release Publish
Documentation Documentation Status
Citations DOI DOI
License PyPI License
Social Twitter Follow Twitter



Pybotics is an open-source Python toolbox for robot kinematics and calibration. It was designed to provide a simple, clear, and concise interface to quickly simulate and evaluate common robot concepts, such as kinematics, dynamics, trajectory generations, and calibration. The toolbox is specifically designed for use with the Modified Denavit–Hartenberg parameters convention.



Please visit


# python3 is mapped to pip or inside a venv
pip install pybotics

# python3-pip
pip3 install pybotics

pipenv install pybotics

poetry add pybotics

Applications & Examples

Featured In


Please cite the following articles if you use pybotics in your research:

Nadeau, (2019). Pybotics: Python Toolbox for Robotics. Journal of Open Source Software, 4(41), 1738,

  doi = {10.21105/joss.01738},
  url = {},
  year = {2019},
  month = sep,
  publisher = {The Open Journal},
  volume = {4},
  number = {41},
  pages = {1738},
  author = {Nicholas Nadeau},
  title = {Pybotics: Python Toolbox for Robotics},
  journal = {Journal of Open Source Software}

Nadeau, Nicholas A., Ilian A. Bonev, and Ahmed Joubair. "Impedance Control Self-Calibration of a Collaborative Robot Using Kinematic Coupling." Robotics 8.2 (2019): 33.

  title={Impedance Control Self-Calibration of a Collaborative Robot Using Kinematic Coupling},
  publisher={MDPI AG},
  author={Nadeau, Nicholas A. and Bonev, Ilian A. and Joubair, Ahmed},

Development and Community Guidelines

Local Development

  • Use poetry to install the dev virtual environment:
poetry install

Docker Development

  • Docker is a great tool to test the package in an isolated environment
  • It is especially useful for debugging issues between python versions
# launch container attached to current directory
docker run -v $(pwd):/$(basename $(pwd)) -w /$(basename $(pwd)) -it python:3 bash

# install deps
pip install poetry
poetry install

# run tests
make test


Change Commit Type
Bumped dependency version build
Bumped Python requirement feat

Dependency Management

# refresh lock file
poetry lock --no-update

Submit an Issue

  • Navigate to the repository's issue tab
  • Search for related existing issues
  • If necessary, create a new issue using the provided templates



  • Please review the Makefile for an overview of all available tests
  • The most important tests and make commands are highlighted below:
# auto-format code
make format

# perform all static tests
make lint

# run all python tests
make test

GitHub Actions

Icons made by Pixel perfect from

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pybotics-3.1.2.tar.gz (16.7 kB view hashes)

Uploaded source

Built Distribution

pybotics-3.1.2-py3-none-any.whl (16.6 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page