pyspw_rmap
pyspw_rmap provides Python bindings and CLI tooling for the spw_rmap SpaceWire/RMAP helper library. It exposes the same TCP client that the C++ API uses, so you can connect to a SpaceWire-over-TCP bridge, describe a target node, and issue synchronous read/write transactions from pure Python.
Installation
The package is published as a scikit-build-core wheel, so CMake, Ninja (or another generator), and a C/C++ compiler must be available. Once the build prerequisites are satisfied, install it like any other PyPI package:
python -m pip install pyspw_rmap
Command-line helpers are included automatically and become available as spwrmap and spwrmap_speedtest.
Quick start
from pyspw_rmap import TargetNode, SpwRmapTCPNode
target = TargetNode(
logical_address=0x32,
target_spacewire_address=[0x06, 0x02],
reply_address=[0x01, 0x03],
)
with SpwRmapTCPNode(ip_address="192.168.1.100", port="10030") as node:
node.connect()
node.write(target, 0x44A200D4, [0, 0, 0, 1])
data = node.read(target, 0x44A200D0, 4)
print(list(data))
TargetNoderepresents the destination node (logical address, hop list, and return path).SpwRmapTCPNodeowns the SpaceWire-over-TCP connection and performs the request/reply handshake.- Calls are synchronous: they block until a reply frame is parsed or the default 100 ms timeout elapses. Pass
timeout=toreadorwriteto override it. Catch the raised exception to handle transport or timeout errors explicitly. - Blocking calls release the Python GIL, so other Python threads can run while a request is in flight. The binding does not provide an
asynciowrapper.
Call disconnect() to close the TCP connection explicitly, or use the context manager as shown above. Destruction also closes the connection.
Building from source
If you prefer installing from a checkout, clone the main repository and let pip build the wheel locally:
python -m pip install .
The build steps mirror the ones documented in the root README.md. The pyspw_rmap wheel bundles the Python module, the C++ extension, and the CLI entry points, so no extra copy steps are required after pip finishes.
Testing a source build
After installing the checkout, run the binding smoke tests with:
python -m unittest tests/test_python_bindings.py
These tests cover module import, target-node field conversion, client construction and context management, and the debug-control functions. They do not require a SpaceWire-over-TCP server.
Metadata
Release files for pyspw-rmap 1.0.0
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 | |
|---|---|---|---|---|
| pyspw_rmap-1.0.0.tar.gz | 66.5 kB | With provenance | Details |
Built distributions (wheels)
Total release size: 7.8 MB
Release files / pyspw_rmap-1.0.0.tar.gz
| Download URL | pyspw_rmap-1.0.0.tar.gz |
|---|---|
| Size | 66.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
088eb0543abc3e7c33317b33f06511cdfc93526dc8e33d2dc7098913eb13fc3c
|
|
BLAKE2b-256 checksum How to use checksums |
120eadb3298c9662fbf96cf70c615912cdaaa14661541399172653993ac416a7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 22, 2026.
Transparency logRelease files / pyspw_rmap-1.0.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | pyspw_rmap-1.0.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 569.0 kB |
| Tags | CPython 3.14 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
f6b543dd4eddc1685c28ae60212487fd5a5870a9bf8f5e1d3ed3fef2b1dd01a3
|
|
BLAKE2b-256 checksum How to use checksums |
7a7e80c72925409968524e4ffa326019807a10e5939a11b25a828b4d9cbede44
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 22, 2026.
Transparency logRelease files / pyspw_rmap-1.0.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
| Download URL | pyspw_rmap-1.0.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 538.4 kB |
| Tags | CPython 3.14 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
6b51bc5799ed1abb1fd3b1d02811ae611edd07644396b9e8e0fcd2aa169c2d53
|
|
BLAKE2b-256 checksum How to use checksums |
1490caefd6dc7252eabcac846a8af4a8686742b105fd28f1d2a9806e8d1f3192
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 22, 2026.
Transparency logRelease files / pyspw_rmap-1.0.0-cp314-cp314-macosx_11_0_arm64.whl
| Download URL | pyspw_rmap-1.0.0-cp314-cp314-macosx_11_0_arm64.whl |
|---|---|
| Size | 432.4 kB |
| Tags | CPython 3.14 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
25e986959299ac252689931a193e20618874b0c24b9e30e96f76f74b004ed29f
|
|
BLAKE2b-256 checksum How to use checksums |
307ca813c489d88ee11ccf94a0e108159c27034bb53795a12ebacb1ff462f273
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 22, 2026.
Transparency logRelease files / pyspw_rmap-1.0.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | pyspw_rmap-1.0.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 569.0 kB |
| Tags | CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
9606bbcbf2494518bc252c6e846a9487694cc18aa4611806b4e28fdee4d951c7
|
|
BLAKE2b-256 checksum How to use checksums |
3293a160aaa23a407447f1f8ed62e09394a364b65d5895785407173f276edbbe
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 22, 2026.
Transparency logRelease files / pyspw_rmap-1.0.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
| Download URL | pyspw_rmap-1.0.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 537.9 kB |
| Tags | CPython 3.13 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
abde52bee7589de7f583de4eb86c753c5ae0856ec2874397618d942bd37f8cfe
|
|
BLAKE2b-256 checksum How to use checksums |
3eb3083b120af8fa42e1278206c617273588cdb5c8867b24a6f7473215b5ea21
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 22, 2026.
Transparency logRelease files / pyspw_rmap-1.0.0-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | pyspw_rmap-1.0.0-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 432.1 kB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
8da41dac6adc292b188aea0a2634cd9bc4ed5798123c3f97150bf287d4a0bc04
|
|
BLAKE2b-256 checksum How to use checksums |
693b8cd397dd253b5f64b8d2b26422622dcd93db19f19599464d3105c3aac209
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 22, 2026.
Transparency logRelease files / pyspw_rmap-1.0.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | pyspw_rmap-1.0.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 569.0 kB |
| Tags | CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
5f7196d5fefb4c10ce8d4d91898a0f2a55ff3110fa1d34faeb0eeb5ffdd9db23
|
|
BLAKE2b-256 checksum How to use checksums |
2aaa791391b00909cc6280c15a649e2dec76103e080aaea7cf71d574c54f84f1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 22, 2026.
Transparency logRelease files / pyspw_rmap-1.0.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
| Download URL | pyspw_rmap-1.0.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 537.8 kB |
| Tags | CPython 3.12 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
1689727f4a774878247daf14dcdccff49f2026ff87d96b1125db18d419299575
|
|
BLAKE2b-256 checksum How to use checksums |
dafb443882a9bc2e84412ceaf9f6207430fbc23f520c5979bfb85963cb0678e7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 22, 2026.
Transparency logRelease files / pyspw_rmap-1.0.0-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | pyspw_rmap-1.0.0-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 432.1 kB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
e2f810e96a1198a63f7f3546e0fe817e6bafad1a9dac5badb9292dc9fa15cc44
|
|
BLAKE2b-256 checksum How to use checksums |
92a11fae6a6761cf9743ad860dac6742faf930957b3db15984815b06cfb308ef
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 22, 2026.
Transparency logRelease files / pyspw_rmap-1.0.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | pyspw_rmap-1.0.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 568.1 kB |
| Tags | CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
f96eb7dbab34af46db2e3573131b050b97b41d03a1a522df251e99fcd9bea076
|
|
BLAKE2b-256 checksum How to use checksums |
1359e926a5b14c80ea1e610c3a5a6122133260c815833ed393c9137dbfe568de
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 22, 2026.
Transparency logRelease files / pyspw_rmap-1.0.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
| Download URL | pyspw_rmap-1.0.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 537.2 kB |
| Tags | CPython 3.11 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
78d173986a32adb2516bc07b3f4350f9ba96a6c35ef25c1b999d42a607b6a831
|
|
BLAKE2b-256 checksum How to use checksums |
242b9c3218db7edd184d284816c4ac2a60292cceaef7364d4284e9500e145408
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 22, 2026.
Transparency logRelease files / pyspw_rmap-1.0.0-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | pyspw_rmap-1.0.0-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 431.9 kB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
883caa9037cba6f3740b1f35da048fdb0d696b89ee6a538e2125fb5d0dfd5a61
|
|
BLAKE2b-256 checksum How to use checksums |
d4e7d067ab228b5ef25a9faa98e4a0aa66a3d0319827024180d6ce341e169f04
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 22, 2026.
Transparency logRelease files / pyspw_rmap-1.0.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | pyspw_rmap-1.0.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 567.3 kB |
| Tags | CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
99db9be6c72b3dfe60c51609b3ad01baa42a3af5a17d40f01c0f708861d1a678
|
|
BLAKE2b-256 checksum How to use checksums |
8961439ac0f246a061d174ab3f6600ae5074c87f39928817328ce038d8dc7d65
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 22, 2026.
Transparency logRelease files / pyspw_rmap-1.0.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
| Download URL | pyspw_rmap-1.0.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 536.1 kB |
| Tags | CPython 3.10 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
22e103716fbea397a5f8202c18f57b9d5c70c163f47e91d7a14feec2eaf4c46c
|
|
BLAKE2b-256 checksum How to use checksums |
3606a3d56bf5fb2ed0a91cd2a3f84b7023e4020356e07dd2b64b1ef99ae14200
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 22, 2026.
Transparency logRelease files / pyspw_rmap-1.0.0-cp310-cp310-macosx_11_0_arm64.whl
| Download URL | pyspw_rmap-1.0.0-cp310-cp310-macosx_11_0_arm64.whl |
|---|---|
| Size | 430.7 kB |
| Tags | CPython 3.10 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
acfea903afda5f473ee3c16645a2e72427c7beeb730f9f762908c7258319c284
|
|
BLAKE2b-256 checksum How to use checksums |
d99006634d3b6bef5249a85dbe7e8846811d42a177fbb17fa8202c84b0e023e9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 22, 2026.
Transparency logSecurity for pyspw-rmap 1.0.0
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.
Full provenance
All 16 files in this release have been uploaded with provenance metadata.
Attestation for pyspw_rmap-1.0.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 22, 2026.
Transparency logA 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.