Agnostic Robot Middleware
ARMW is a Python shim layer for writing robot middleware code that can run on ROS 1, ROS 2, or ARMW's native backend (which has no external dependencies) with the same application-facing API.
Use ARMW when you want node code to depend on a small compatibility layer instead
of directly depending on rospy or rclpy.
Quick Start
Install the package from PyPi:
pip install armw
Or locally after cloning (-e for editable mode):
pip install -e .
Select a backend explicitly when you want deterministic behavior:
export ARMW_MIDDLEWARE=native
On Windows PowerShell:
$env:ARMW_MIDDLEWARE = "native"
Create and run a minimal node:
import armw
class MinimalNode(armw.ArmwNode):
def __init__(self):
super().__init__("minimal_node")
self.log_info("minimal_node started")
if __name__ == "__main__":
armw.run_node(MinimalNode, node_name="minimal_node")
More complete guides are in docs/:
Backend Selection
ARMW chooses a middleware backend at import time.
Set ARMW_MIDDLEWARE to force one of:
nativeros1ros2
If ARMW_MIDDLEWARE is not set, ARMW tries to detect ROS 1 first, then ROS 2.
The native backend is best for tests and local processes that do not need a ROS
runtime.
Metadata
Release files for armw 3.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| armw-3.0.1.tar.gz | 145.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| armw-3.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 334.3 kB
Release files / armw-3.0.1.tar.gz
| Download URL | armw-3.0.1.tar.gz |
|---|---|
| Size | 145.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ccfa8b635e5ff4779984cacb0d6ce4e3e5f4958902c62f4672b8a286be7292ba
|
|
BLAKE2b-256 checksum How to use checksums |
ff15405d3f835d11a26c1a74c746d61b053d7caead258840891dffcd43b79f4d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.5
|
Release files / armw-3.0.1-py3-none-any.whl
| Download URL | armw-3.0.1-py3-none-any.whl |
|---|---|
| Size | 188.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1ab4b5309804e6eb943078f81a853b895ea706b5b8863e36a5e3d2887fa0a254
|
|
BLAKE2b-256 checksum How to use checksums |
98a197ed9d5b36df2ba9e1612783a11460b9537bcca424e01781ccd6fea81fca
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.5
|