Pybotics
Pybotics: Python Toolbox for Robotics - Published in JOSS (2019)
Science Score: 49.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 12 DOI reference(s) in README -
✓Academic publication links
Links to: mdpi.com, joss.theoj.org, zenodo.org -
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (5.9%) to scientific vocabulary
Keywords
Keywords from Contributors
Scientific Fields
Repository
The Python Toolbox for Robotics
Basic Info
- Host: GitHub
- Owner: engnadeau
- License: mit
- Language: Python
- Default Branch: master
- Homepage: https://pybotics.readthedocs.io/
- Size: 6.08 MB
Statistics
- Stars: 349
- Watchers: 14
- Forks: 63
- Open Issues: 33
- Releases: 26
Topics
Metadata Files
README.md
Pybotics

The Python Toolbox for Robotics
| Item | Badges |
| ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Repo |
|
| Releases |
|
| Compatibility |
|
| Workflows |
|
| Documentation |
|
| Citations |
|
| License |
|
| Social |
|
Contents
Overview
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.
Usage
Documentation
Please visit https://pybotics.readthedocs.io/
Installation
```bash
python3 is mapped to pip or inside a venv
pip install pybotics
python3-pip
pip3 install pybotics
https://github.com/pypa/pipenv
pipenv install pybotics
https://github.com/sdispater/poetry
poetry add pybotics ```
Applications & Examples
Featured In
- Impedance Control Self-Calibration of a Collaborative Robot Using Kinematic Coupling
- PyCon Canada 2017
- Montreal-Python 2017
Citing
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, https://doi.org/10.21105/joss.01738
@article{nadeau2019pybotics,
doi = {10.21105/joss.01738},
url = {https://doi.org/10.21105/joss.01738},
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.
@article{nadeau2019impedance,
title={Impedance Control Self-Calibration of a Collaborative Robot Using Kinematic Coupling},
volume={8},
ISSN={2218-6581},
url={http://dx.doi.org/10.3390/robotics8020033},
DOI={10.3390/robotics8020033},
number={2},
journal={Robotics},
publisher={MDPI AG},
author={Nadeau, Nicholas A. and Bonev, Ilian A. and Joubair, Ahmed},
year={2019},
month={Apr},
pages={33}
}
Development and Community Guidelines
Local Development
- Use poetry to install the dev virtual environment:
bash
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
```bash
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 ```
Commits
- The repo abides by SemVer,
semantic-release, and Angular commit message syntax - It is highly recommended to use the
commitizenCLI - See commit examples below:
| Change | Commit Type |
| ------------------------- | ----------- |
| Bumped dependency version | build |
| Bumped Python requirement | feat |
Dependency Management
```bash
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
Contributing
- Please see
CONTRIBUTING.mdand the Code of Conduct for how to contribute to the project
Testing
- Please review the
Makefilefor an overview of all available tests - The most important tests and
makecommands are highlighted below:
```bash
auto-format code
make format
perform all static tests
make lint
run all python tests
make test ```
GitHub Actions
- This repo uses
semantic-releasesto generate releases and release notes automatically from commits- A
PERSONAL_TOKENActions secret from a Personal Token with apublic_reposcope is needed for CI releases
- A
Icons made by Pixel perfect from www.flaticon.com
Owner
- Name: Nicholas Nadeau, Ph.D., P.Eng.
- Login: engnadeau
- Kind: user
- Location: Canada
- Company: @Onix-AI
- Website: https://nicholasnadeau.com/
- Twitter: EngNadeau
- Repositories: 109
- Profile: https://github.com/engnadeau
Building Personal Intelligence
GitHub Events
Total
- Watch event: 13
- Fork event: 3
Last Year
- Watch event: 13
- Fork event: 3
Committers
Last synced: 5 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Nicholas Nadeau | n****u@g****m | 457 |
| Nicholas Nadeau | n****1@e****a | 442 |
| pyup-bot | g****t@p****o | 260 |
| Nicholas Nadeau | n****s@a****m | 98 |
| Nicholas Nadeau | n****s@r****m | 55 |
| dependabot[bot] | 4****] | 38 |
| renovate[bot] | 2****] | 37 |
| Nicholas Nadeau | n****s@o****l | 11 |
| requires.io | s****t@r****o | 10 |
| Sean Alford | s****d@i****m | 1 |
| Pablo | p****7@g****m | 1 |
| Bas van Schaik | g****b@s****t | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 4 months ago
All Time
- Total issues: 27
- Total pull requests: 114
- Average time to close issues: 14 days
- Average time to close pull requests: 10 days
- Total issue authors: 5
- Total pull request authors: 3
- Average comments per issue: 0.33
- Average comments per pull request: 0.55
- Merged pull requests: 87
- Bot issues: 1
- Bot pull requests: 86
Past Year
- Issues: 0
- Pull requests: 3
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 2
- Average comments per issue: 0
- Average comments per pull request: 0.0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 3
Top Authors
Issue Authors
- engnadeau (23)
- yagizyalcintas (1)
- Jad-Tawil (1)
- renovate[bot] (1)
- niklasconbotics (1)
Pull Request Authors
- renovate[bot] (56)
- dependabot[bot] (53)
- engnadeau (29)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- pypi 245 last-month
- Total dependent packages: 0
- Total dependent repositories: 1
- Total versions: 26
- Total maintainers: 1
pypi.org: pybotics
Python Toolbox for Robotics
- Homepage: https://github.com/engnadeau/pybotics
- Documentation: https://github.com/engnadeau/pybotics
- License: OSI Approved,MIT License
-
Latest release: 3.1.2
published over 2 years ago
Rankings
Maintainers (1)
Dependencies
- attrs *
- numpy *
- scipy *
- 129 dependencies
- black >=22.1 develop
- coverage >=6 develop
- flake8 >=4 develop
- flake8-bugbear * develop
- hypothesis >=6 develop
- isort >=5.5 develop
- matplotlib * develop
- mccabe * develop
- mypy >=0.960 develop
- notebook * develop
- pandas * develop
- pep8-naming * develop
- pydocstyle >=6 develop
- pytest >=7 develop
- pytest-cov * develop
- pytest-randomly * develop
- pytest-runner * develop
- rope >=1 develop
- scikit-learn * develop
- sphinx * develop
- sphinx-autobuild * develop
- sphinx-rtd-theme * develop
- sphinxcontrib-apidoc * develop
- vulture >=2.0 develop
- attrs >=19.0
- numpy ^1.20
- python ^3.7
- scipy ^1
- actions/checkout v3 composite
- github/codeql-action/analyze v2 composite
- github/codeql-action/init v2 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- actions/checkout v3 composite
- actions/setup-node v3 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite