rostainer
A flexible, distro agnostic tool for ROS (1 and 2) development using Docker containers.
Requires Docker and Python 3 on the host; target machines for
rostainer package deployments need only Docker. On Python 3.11+ the
CLI is standard-library only; on older Python (e.g. Ubuntu 22.04's
default 3.10) pipx also installs the small tomli package, for reading
.rostainer.toml.
Full documentation
This README only covers the quick start. Everything else - the full
.rostainer.toml settings reference, GPU acceleration, hardware access,
volume mounts, networking, packaging for deployment, LSP setup, and the
rostainer_cli API reference - is in the documentation:
https://bmillerklugman.pages.whoi.edu/rostainer/ (for the latest
release).
It's built from docs/; to read it for your checkout instead, build and
open it locally:
pip install -r docs/requirements.txt
sphinx-build -b html docs docs/_build/html
python3 -m http.server -d docs/_build/html # then open http://localhost:8000
Quick Start
pipx install rostainer # or: uv tool install rostainer (see docs/)
mkdir my_ros_workspace && cd my_ros_workspace
rostainer init # scaffolds .rostainer.toml and src/
rostainer start # prompts for ROS distro/middleware
rostainer shell # drop into the running container
Commands
rostainer init- Initialize a new ROS workspace with example configsrostainer start- Start ROS environment (prompts for distro/middleware)rostainer restart- Restart ROS environment, keeping its build (fast)rostainer rebuild- Rebuild the workspace from scratch (--image: the Docker image too)rostainer stop- Stop running ROS environment, forstartto resume quickly (--rm: remove the container; the build is kept either way)rostainer shell- Drop into bash shell in running containerrostainer logs- Show a running container's logs, or just its build errorsrostainer status- Show status of ROS environmentrostainer prune- Remove unused build caches, old images and old package bundlesrostainer package- Build a deployable runtime image and install it on a target machine
Credits
This toolkit created with help from LLMs (Claude + Gemini)
Metadata
Release files for rostainer 0.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| rostainer-0.0.2.tar.gz | 101.8 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| rostainer-0.0.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 230.5 kB
Release files / rostainer-0.0.2.tar.gz
| Download URL | rostainer-0.0.2.tar.gz |
|---|---|
| Size | 101.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7fba3c5a4f6892b3ab5b5d3e46364b078aed805daf5a63b8fff82560bd58514c
|
|
BLAKE2b-256 checksum How to use checksums |
723f204b2f5bc84d14fce5a8f142144b9246894b52610d81375c0686a430ad6f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.17
|
Release files / rostainer-0.0.2-py3-none-any.whl
| Download URL | rostainer-0.0.2-py3-none-any.whl |
|---|---|
| Size | 128.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1bcfc373d6e6ef0b7a114c46ad5769c1253bdc29d15b70b659bab172ee890b03
|
|
BLAKE2b-256 checksum How to use checksums |
4250a2bc416e85697ba63a18db91241a5cd5c3201bf27cc762903808443b89f7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.17
|
Security for rostainer 0.0.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.