ROS2 Environment Manager using Virtualbox and Vagrant
Project description
ros2em - ROS2 Environment Manager
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
amd64andarm64architectures - 🧰 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ros2em-0.1.2.tar.gz.
File metadata
- Download URL: ros2em-0.1.2.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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
25dd8b2f2a3dbb964f6f1d19963f2d82bda71db845b0f1b516bcbdbd8ed5f4be
|
|
| MD5 |
e21e2b2ed8feca64c20e9c7a10ff2c34
|
|
| BLAKE2b-256 |
ae29ccfe03c4e1a74429a8f327e411988f4a3a4fc6698ffd35dbb9dabacbfc8c
|
File details
Details for the file ros2em-0.1.2-py3-none-any.whl.
File metadata
- Download URL: ros2em-0.1.2-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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8918e7e1a5c43f7af5a59af83378b29474ce5494b3e148363b30a724cc678589
|
|
| MD5 |
3456e628de39ae18819b00eed90a6eab
|
|
| BLAKE2b-256 |
07b082b099cbb9bf9fb10ee74262d79728fe7b127b1c15c64f1b48f3395c6b86
|