gtbook

An nbdev powered toolbox for Frank and Seth’s robotics book.

The book can be found at https://www.roboticsbook.org and has the following chapters:

The structure of gtbook mirrors this organization, and then has a few more support modules for displaying graphs inside notebooks and for running the code in the book. The gtbook modules are listed above alongside the chapter.

How to use

In the book chapters, we should have a cell that fetches the latest version using pip:

%pip install -q -U gtbook

The above automatically installs other libraries on colab, e.g., gtsam and plotly.

You also needs a cell that imports what you need in a particular section, for example:

from gtbook.display import show
from gtbook.discrete import Variables

Further usage examples of these and more functions are given in the module documentation itself.

There are also some command line tools defined in the cli module.

Notes for development

Mostly for Frank as he adds to the library.

  • Use the root environment.yml for development and CI: conda env create -f environment.yml, then conda activate nbdev2.
  • Run pip install -e '.[dev]' to install gtbook and the nbdev tools. Package and development dependencies are maintained in settings.ini. CI uses the same setup.
  • to preview the docs do nbdev_preview
  • to push a new version, use nbdev_prepare and then push.

If VS code gives trouble:

export CONDA_PREFIX=/Users/dellaert/miniforge3/envs/nbdev2
conda activate nbdev2

To release a new version:

  • nbdev_bump_version
  • nbdev_pypi