RoboStack / jupyterlab-ros

Helper extensions for running ROS from within JupyterLab
BSD 3-Clause "New" or "Revised" License
62 stars 22 forks source link

jupyterlab-ros

A JupyterLab extension for ROS.

Binder

Install

We recommend following the installation instructions of the RoboStack repository which enables you to install ROS Noetic in a conda environment. After following these instructions, simply

conda activate robostackenv
mamba install jupyterlab-ros nodejs=12

How to use?

Please see the examples folder for some tutorials and examples how to use jupyterlab-ros. These require the following ROS packages:

mamba install ros-noetic-ros-core ros-noetic-rospy ros-noetic-rosbridge-suite ros-noetic-rosbag ros-noetic-rosauth ros-noetic-tf2-web-republisher ros-noetic-franka-ros ros-noetic-interactive-marker-tutorials ros-noetic-teb-local-planner ros-noetic-turtlebot3 ros-noetic-turtlebot3-fake

Contributing

Install

The jlpm command is JupyterLab's pinned version of yarn that is installed with JupyterLab. You may use yarn or npm in lieu of jlpm below.

# Create a development environment
# With the following command you have all the necessary to run
# the examples (you will need to install jupyros from pip later).
# You can also use the install instructions from https://github.com/RoboStack/ros-noetic
# to create the environment
mamba create -n lab-ros -c conda-forge -c robostack python=3.8 nodejs=14 jupyterlab=3 ipympl ipyvuetify bqplot ipywidgets voila ros-noetic-ros-core ros-noetic-rospy ros-noetic-rosbridge-suite ros-noetic-rosbag ros-noetic-rosauth ros-noetic-tf2-web-republisher ros-noetic-franka-ros ros-noetic-interactive-marker-tutorials ros-noetic-teb-local-planner ros-noetic-turtlebot3 ros-noetic-turtlebot3-fake

# Activate the environment and install jupyros
conda activate lab-ros
pip install jupyros

# Clone the repo to your local environment
git clone https://github.com/RoboStack/jupyterlab-ros.git
# Move to jupyterlab-ros directory
cd jupyterlab-ros

# Install server extension in editable mode
python -m pip install -e .

# Link your development version of the extension with JupyterLab
jupyter-labextension develop . --overwrite

You can watch the source directory and run JupyterLab in watch mode to watch for changes in the extension's source and automatically rebuild the extension and application.

# Watch the source directory in another terminal tab
jlpm watch
# Run jupyterlab in watch mode in one terminal tab
jupyter-lab

Uninstall

# Uninstalling the frontend extension
jupyter-labextension uninstall @robostack/jupyterlab-ros

# Uninstalling the server extension
pip uninstall jupyter_ros_server

# Cleaning jupyterlab
jupyter lab clean
jupyter lab build