Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

hpp-python

Python bindings of the Humanoid Path Planner C++ libraries, built with Boost.Python.

Package pyhpp follows the C++ libraries:

ModuleContent
pyhpp.pinocchiorobot model (Device), grippers, Lie groups (hpp-pinocchio)
pyhpp.constraintsdifferentiable functions, implicit and explicit constraints, solvers (hpp-constraints)
pyhpp.coreproblem, path planners, path optimizers, path validation, steering methods (hpp-core)
pyhpp.manipulationmanipulation device, constraint graph, manipulation planners, URDF/SRDF loading (hpp-manipulation, hpp-manipulation-urdf)
pyhpp.toolsPython helpers: xacro, constraint errors

The tutorials show how to use these bindings, and the Python API reference lists their classes and methods.

Installation

hpp-python is installed with the other HPP packages, see the installation instructions. To build it alone:

cmake -B build -DCMAKE_INSTALL_PREFIX=<prefix> -DCMAKE_BUILD_TYPE=Release
cmake --build build
cmake --build build -t test
cmake --build build -t install

Dependencies: Python 3 with numpy, Boost.Python, eigenpy, pinocchio, hpp-util, hpp-pinocchio, hpp-constraints, hpp-core, hpp-manipulation and hpp-manipulation-urdf. The tests also need example-robot-data and hpp-environments.

Documentation

  • Docstrings: doc/configure.py generates the docstrings of the bindings from the Doxygen XML documentation of the C++ libraries, which must therefore be installed (GENERATE_XML = YES in their Doxygen configuration).
  • Stubs: with GENERATE_PYTHON_STUBS (default ON, requires pybind11-stubgen), .pyi stubs are generated, their signatures are recovered from the docstrings by doc/fix_stubs, and they are installed with the modules.
  • API reference: doc/gen_api_md.py generates the pages of the Python API reference from the installed stubs. The CI generates them on each push to devel.
python doc/gen_api_md.py --stubs <prefix>/lib/python3.X/site-packages --output api

License

BSD 2-Clause, see LICENSE.