Skip to main content

ROS2 Environment Manager using Virtualbox and Vagrant

Project description

ros2em - ROS2 Environment Manager

PyPI version License Platform

ros2em is a CLI tool to create and manage isolated ROS2 environments using VirtualBox and Vagrant.

Whether you're a robotics developer, student, or researcher, ros2em makes it easy to:

  • 🧠 Launch ROS2 in clean, isolated virtual machines
  • 🖥 Access GUIs like Rviz or Gazebo via browser
  • ✅ Support both amd64 and arm64 architectures
  • 🧰 Handle setup: VirtualBox, Vagrant, and box file download

🚀 Features

  • ⚡ One-line setup for fully functional ROS 2 VMs
  • 📦 Architecture-specific box handling (amd64, arm64)
  • 🖥 GUI access using browser
  • 🔐 No system pollution – nothing touches your host machine
  • 💡 Powered by Typer (CLI) and Rich (colored output)

📦 Installation

Recommended (via pipx)

pipx install ros2em

Or using pip

pip install ros2em

🛠 Commands

🔧 Setup dependencies

ros2em init

Installs VirtualBox and Vagrant (if not found).

⬇️ Download the correct ROS2 box

ros2em download-box

Auto-detects your architecture and downloads the appropriate .box file.

🐢 Create an environment

ros2em create myenv

Creates ~/.ros2em/myenv and spins up a VM.

📋 Manage environments

ros2em list        # List all environments
ros2em start myenv # Start a VM
ros2em stop myenv  # Stop a VM
ros2em delete myenv # Delete an environment

📁 Environment Structure

~/.ros2em/
├── boxes/
│   └── arm64/ or amd64/
│       └── ros2-humble.box
├── myenv/
│   └── Vagrantfile

🧩 Contributing

We welcome contributions, ideas, and feedback.

  • Open issues for bugs and enhancements
  • Fork and submit a pull request
  • Share your use case via Discussions

📄 License

MIT License — © 2025 Kodo Robotics

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

ros2em-0.1.3.tar.gz (9.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ros2em-0.1.3-py3-none-any.whl (11.0 kB view details)

Uploaded Python 3

File details

Details for the file ros2em-0.1.3.tar.gz.

File metadata

  • Download URL: ros2em-0.1.3.tar.gz
  • Upload date:
  • Size: 9.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.17

File hashes

Hashes for ros2em-0.1.3.tar.gz
Algorithm Hash digest
SHA256 338de11e15aac00484d5c693d39b2c6da8fc441696e8e38638decbd1e3f56999
MD5 e08b982d1c48f64412fff2edc51bf78c
BLAKE2b-256 aa00ef48247bde98dd2d1f87c5e17d50c4e0b462ae760cdb6b50878d808a2990

See more details on using hashes here.

File details

Details for the file ros2em-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: ros2em-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 11.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.17

File hashes

Hashes for ros2em-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 fede2a8e4d3ccef5e3e4c9c45d8857f5b030bb979f79d6b0b6001a6fa7e011e2
MD5 6e5425f7b637066751445e3d1ba3c070
BLAKE2b-256 d966412d0848e699754c4b63005b8be18ad661d27ddeb34b35cfbd8f2b9b2d41

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page