marina 0.2.2

A dataset manager for robotics to organize, share, and discover datasets and metadata across storage backends.
Documentation

marina

Marina is a dataset manager for robotics built to organize, share, and discover bags and datasets across teams and storage backends.

See the Documentation for more information or the ROS installation directly for the ros2 bag CLI extension.

ROS 2 CLI

While Marina's dynamic autocomplete for modern shells is designed to work as a standalone tool, we provide a ROS 2 CLI mapping to ensure a more familiar user experience.

# Pull a dataset from any configured registry...
ros2 bag pull dlg_feldtage_24:cut

# and pass it straight to playback.
ros2 bag play $(ros2 bag resolve dlg_feldtage_24:cut)

# See available bags from configured remotes...
ros2 bag datasets --remote
# or use the alias.
ros2 bag ds --remote

Datasets are pulled from remote registries. You can easily create your own using SSH, Google Drive, HTTP or any filesystem folder.

# Record to local cache...
ros2 bag record --all -o $(ros2 bag import my_recording:session1)

# and push to your registry.
ros2 bag push my-run:v1 /path/to/bag/ --registry team_ssh

Standalone

Marina supports Linux and MacOS environments without additional requirements. Just install and run.

# Pull a dataset from any configured registry.
marina pull dlg_feldtage_24:cut

# Get and use the data from the local cache.
cat $(marina resolve dlg_feldtage_24:cut)/metadata.yaml

# See available bags from configured remotes...
marina list --remote
# or use the alias.
marina ls --remote

# Push any folder or bags to your registry.
marina bag push my-run:v1 /path/to/dataset/ --registry team_ssh

License