Skip to main content

Python Toolbox for Robotics

Project description

pybotics

The Python Toolbox for Robotics

Component Badges
Community Gitter chat
GitHub GitHub issues GitHub forks GitHub stars GitHub tag
PyPI PyPI Version PyPI License PyPI Wheel PyPI Format PyPI Pythons PyPI Implementation
Documentation Documentation Status
Referencing DOI
CI Build status Build Status CircleCI
Dependencies Updates Dependency Status
Coverage Coverage Status codecov
Code Quality Scrutinizer Code Quality Codacy Badge Maintainability Issue Count BCH compliance

Usage

Installation

Preferred

pipenv install pybotics

Legacy

pip install pybotics

Applications & Examples

Featured In

Development

  • All branches are deployed to PyPI's Test Site
  • Only tags on the master branch are deployed to PyPI
  • Requirements used for development (i.e., dev-requirements.txt) are pinned to a specific version to avoid the master branch from suddenly failing due to a package update.

References

  • Craig, John J. Introduction to robotics: mechanics and control. Vol. 3. Upper Saddle River: Pearson Prentice Hall, 2005.
  • Corke, Peter. Robotics, vision and control: fundamental algorithms in MATLAB. Vol. 73. Springer, 2011.

Logo made by Freepik from www.flaticon.com is licensed by CC 3.0 BY

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

[Unreleased]

[0.6.0] - 2018-04-10

Added

  • Jacobian methods
  • Basic usage script: docs/examples/basic_usage.py
  • pybotics.__version__ built-in using setuptools_scm
  • least_squares IK method
  • Robot.home_joints
  • Various setters/getters
  • More angle conventions and conversions
  • Various useful __repr__
  • OSX and Linux CircleCI builds
  • Windows builds with AppVeyor
  • .flake8 config
  • Repo bots (e.g., .github/config.yml, .github/stale.yml)

Changed

  • Simplified requirements files
  • Simplified pybotics/__init__.py structure
  • Versions now managed by setuptools_scm
  • Simplified overall API, see examples for more detail
  • Optimization vector/mask only exist in the context of OptimizationHandler
  • Robot.random_joints() can return array or has inplace flag
  • PyUp now creates PRs as individual packages are updated instead of a daily check
  • Pruning/excluding files in MANIFEST
  • Improved RTD documentation

Fixed

  • Joint limits are checked when setting Robot.joints
  • Various CI and test improvements
  • Typo in .github/ISSUE_TEMPLATE.md
  • TravisCI distributions key in wrong location

[0.5.0] - 2017-11-18

Fixed

[0.4.1] - 2017-11-10

Fixed

  • Error in setup.py when installing released package from PyPI
  • Fixed requirements.txt location in MANIFEST.in

Added

  • sdist and bdist are now tested in CI

[0.4.0] - 2017-11-08

  • A big refactor of pybotics
  • Many breaking changes to how models are designed and used
  • The goal was to clean technical debt and simplify the architecture

Added

  • pybotics.__version__
  • CODE_OF_CONDUCT.md
  • CI helper scripts
  • docs

Fixed

  • New PyPI test server in .travis.yml

Changed

  • All modules have been significantly updated
  • Split requirements
  • Typing now heavily relies on collections.abc
  • Simplified .travis.yml configuration
  • Simplified README.md
  • More static testing
  • Simplified setup.py
  • 100% test coverage requirement

Removed

  • Inverse kinematics (IK) for the moment
  • README.rst

[0.3.2] - 2017-06-20

CI

  • Added clean_readme.py for pandoc filtering to strip and convert README.md to a simpler README.rst for PyPI
  • Branches are now deployed to Test PyPI upon successful build
  • pandocfilters added to ci-requirements.txt
  • update_version.py now uses Travis CI environment variables to help differentiate between tag and branch builds in order to upload unique versions (conforming to PEP440) to Test PyPI

Misc

  • Changed relative URL of logo in README to absolute link
  • Added Development section

0.3.1

Misc

  • Migrated to pure pandoc README conversion
  • Added GitHub issue and PR templates

0.3.0

Travis CI

  • Switched to sudo-less containers
  • Upgraded to ubuntu:trusty
  • Simplified pip install stage with ci-requirements.txt
  • Added convert_readme.py to convert README.md to README.rst for PyPI
  • Added strict enforcement of:
    • mypy (typing)
    • flake8 (PEP8 coding style)
    • vulture (dead code)
    • bandit (security issues)
    • pydocstyle (docstrings)
    • pipdeptree (dependencies)

Misc

  • Removed PyPI downloads from README (deprecated)
  • Simplified README
  • Added logo
  • Added pyup service
  • Added QuantifiedCode service
  • Added Scrutinizer CI service
  • Discontinued Python 3.2 and 3.3 support
  • Updated docstring and typing

Project details


Download files

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

Source Distribution

pybotics-0.6.0.tar.gz (17.5 kB view hashes)

Uploaded Source

Built Distribution

pybotics-0.6.0-py2.py3-none-any.whl (18.5 kB view hashes)

Uploaded Python 2 Python 3

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