ARMW: Agnostic Robot MiddleWare
Project description
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.
Project details
Release history Release notifications | RSS feed
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 armw-2.1.0.tar.gz.
File metadata
- Download URL: armw-2.1.0.tar.gz
- Upload date:
- Size: 79.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fd6acd3ab98a78baabc2eccb2ed70b8dfcabf8b0503f4077f23e7a2306572ee8
|
|
| MD5 |
fe8fb337978096f74a0d708b5d88d6b4
|
|
| BLAKE2b-256 |
501a4f29e173f44e2794a63744b0650798d492751452f0e82fe2032cfb14c94d
|
File details
Details for the file armw-2.1.0-py3-none-any.whl.
File metadata
- Download URL: armw-2.1.0-py3-none-any.whl
- Upload date:
- Size: 58.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d6e80ec73b14c99da28ee35245d505117486c8e03fd88c95656312eed46e6f59
|
|
| MD5 |
895d670ef262816c394377d5a67da578
|
|
| BLAKE2b-256 |
1b889adabae27d984066bab4a8d2fb9775e4b3d4877fc80b9a42ec93c2ac7e9d
|