Skip to main content

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))
  • TargetNode represents the destination node (logical address, hop list, and return path).
  • SpwRmapTCPNode owns 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= to read or write to 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 asyncio wrapper.

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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyspw_rmap-1.0.0.tar.gz (66.5 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pyspw_rmap-1.0.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (569.0 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pyspw_rmap-1.0.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (538.4 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

pyspw_rmap-1.0.0-cp314-cp314-macosx_11_0_arm64.whl (432.4 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

pyspw_rmap-1.0.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (569.0 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pyspw_rmap-1.0.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (537.9 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

pyspw_rmap-1.0.0-cp313-cp313-macosx_11_0_arm64.whl (432.1 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

pyspw_rmap-1.0.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (569.0 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pyspw_rmap-1.0.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (537.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

pyspw_rmap-1.0.0-cp312-cp312-macosx_11_0_arm64.whl (432.1 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

pyspw_rmap-1.0.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (568.1 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pyspw_rmap-1.0.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (537.2 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

pyspw_rmap-1.0.0-cp311-cp311-macosx_11_0_arm64.whl (431.9 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

pyspw_rmap-1.0.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (567.3 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pyspw_rmap-1.0.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (536.1 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

pyspw_rmap-1.0.0-cp310-cp310-macosx_11_0_arm64.whl (430.7 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

Details for the file pyspw_rmap-1.0.0.tar.gz.

File metadata

  • Download URL: pyspw_rmap-1.0.0.tar.gz
  • Upload date:
  • Size: 66.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for pyspw_rmap-1.0.0.tar.gz
Algorithm Hash digest
SHA256 088eb0543abc3e7c33317b33f06511cdfc93526dc8e33d2dc7098913eb13fc3c
MD5 019780e236d881f2f27e08e40d69e2be
BLAKE2b-256 120eadb3298c9662fbf96cf70c615912cdaaa14661541399172653993ac416a7

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyspw_rmap-1.0.0.tar.gz:

Publisher: publish.yml on gen740/spw_rmap

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyspw_rmap-1.0.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyspw_rmap-1.0.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f6b543dd4eddc1685c28ae60212487fd5a5870a9bf8f5e1d3ed3fef2b1dd01a3
MD5 f92e9f6e6633fee43212896ba5a0c3ac
BLAKE2b-256 7a7e80c72925409968524e4ffa326019807a10e5939a11b25a828b4d9cbede44

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyspw_rmap-1.0.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on gen740/spw_rmap

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyspw_rmap-1.0.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyspw_rmap-1.0.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 6b51bc5799ed1abb1fd3b1d02811ae611edd07644396b9e8e0fcd2aa169c2d53
MD5 817a65cb9ae85f98c4efab1ed5ed03c9
BLAKE2b-256 1490caefd6dc7252eabcac846a8af4a8686742b105fd28f1d2a9806e8d1f3192

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyspw_rmap-1.0.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:

Publisher: publish.yml on gen740/spw_rmap

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyspw_rmap-1.0.0-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyspw_rmap-1.0.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 25e986959299ac252689931a193e20618874b0c24b9e30e96f76f74b004ed29f
MD5 8aece3aa7097043e3d9f8731d3b9e507
BLAKE2b-256 307ca813c489d88ee11ccf94a0e108159c27034bb53795a12ebacb1ff462f273

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyspw_rmap-1.0.0-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: publish.yml on gen740/spw_rmap

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyspw_rmap-1.0.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyspw_rmap-1.0.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9606bbcbf2494518bc252c6e846a9487694cc18aa4611806b4e28fdee4d951c7
MD5 b7f7c7727a93beefca2ef6f6458bbe1e
BLAKE2b-256 3293a160aaa23a407447f1f8ed62e09394a364b65d5895785407173f276edbbe

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyspw_rmap-1.0.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on gen740/spw_rmap

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyspw_rmap-1.0.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyspw_rmap-1.0.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 abde52bee7589de7f583de4eb86c753c5ae0856ec2874397618d942bd37f8cfe
MD5 55470568a01458ee2e54fb17a1027965
BLAKE2b-256 3eb3083b120af8fa42e1278206c617273588cdb5c8867b24a6f7473215b5ea21

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyspw_rmap-1.0.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:

Publisher: publish.yml on gen740/spw_rmap

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyspw_rmap-1.0.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyspw_rmap-1.0.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8da41dac6adc292b188aea0a2634cd9bc4ed5798123c3f97150bf287d4a0bc04
MD5 41c1ead9ca7c6fdc66624bf8d0ac79ef
BLAKE2b-256 693b8cd397dd253b5f64b8d2b26422622dcd93db19f19599464d3105c3aac209

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyspw_rmap-1.0.0-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: publish.yml on gen740/spw_rmap

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyspw_rmap-1.0.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyspw_rmap-1.0.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5f7196d5fefb4c10ce8d4d91898a0f2a55ff3110fa1d34faeb0eeb5ffdd9db23
MD5 bd32bba6393b9e0e107926cc5574cd3a
BLAKE2b-256 2aaa791391b00909cc6280c15a649e2dec76103e080aaea7cf71d574c54f84f1

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyspw_rmap-1.0.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on gen740/spw_rmap

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyspw_rmap-1.0.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyspw_rmap-1.0.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 1689727f4a774878247daf14dcdccff49f2026ff87d96b1125db18d419299575
MD5 ae22b224cb6e4290a8162994fec193fb
BLAKE2b-256 dafb443882a9bc2e84412ceaf9f6207430fbc23f520c5979bfb85963cb0678e7

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyspw_rmap-1.0.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:

Publisher: publish.yml on gen740/spw_rmap

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyspw_rmap-1.0.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyspw_rmap-1.0.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e2f810e96a1198a63f7f3546e0fe817e6bafad1a9dac5badb9292dc9fa15cc44
MD5 e89a8465da7abad220e0620e52e34ebc
BLAKE2b-256 92a11fae6a6761cf9743ad860dac6742faf930957b3db15984815b06cfb308ef

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyspw_rmap-1.0.0-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: publish.yml on gen740/spw_rmap

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyspw_rmap-1.0.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyspw_rmap-1.0.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f96eb7dbab34af46db2e3573131b050b97b41d03a1a522df251e99fcd9bea076
MD5 cc86b64e58b3b1f8e4489dbf78ecbeaa
BLAKE2b-256 1359e926a5b14c80ea1e610c3a5a6122133260c815833ed393c9137dbfe568de

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyspw_rmap-1.0.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on gen740/spw_rmap

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyspw_rmap-1.0.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyspw_rmap-1.0.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 78d173986a32adb2516bc07b3f4350f9ba96a6c35ef25c1b999d42a607b6a831
MD5 55f4d0f57108325992b323351c343cf6
BLAKE2b-256 242b9c3218db7edd184d284816c4ac2a60292cceaef7364d4284e9500e145408

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyspw_rmap-1.0.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:

Publisher: publish.yml on gen740/spw_rmap

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyspw_rmap-1.0.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyspw_rmap-1.0.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 883caa9037cba6f3740b1f35da048fdb0d696b89ee6a538e2125fb5d0dfd5a61
MD5 72dbc94bab2fd92781520c6bd2f28627
BLAKE2b-256 d4e7d067ab228b5ef25a9faa98e4a0aa66a3d0319827024180d6ce341e169f04

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyspw_rmap-1.0.0-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: publish.yml on gen740/spw_rmap

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyspw_rmap-1.0.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyspw_rmap-1.0.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 99db9be6c72b3dfe60c51609b3ad01baa42a3af5a17d40f01c0f708861d1a678
MD5 d7bc70ecc7ba2379841af35e6b0cdf99
BLAKE2b-256 8961439ac0f246a061d174ab3f6600ae5074c87f39928817328ce038d8dc7d65

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyspw_rmap-1.0.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on gen740/spw_rmap

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyspw_rmap-1.0.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyspw_rmap-1.0.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 22e103716fbea397a5f8202c18f57b9d5c70c163f47e91d7a14feec2eaf4c46c
MD5 652971067737193e6b93823be71903a4
BLAKE2b-256 3606a3d56bf5fb2ed0a91cd2a3f84b7023e4020356e07dd2b64b1ef99ae14200

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyspw_rmap-1.0.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:

Publisher: publish.yml on gen740/spw_rmap

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyspw_rmap-1.0.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyspw_rmap-1.0.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 acfea903afda5f473ee3c16645a2e72427c7beeb730f9f762908c7258319c284
MD5 2c83351a060845c6751cbebec6759d8c
BLAKE2b-256 d99006634d3b6bef5249a85dbe7e8846811d42a177fbb17fa8202c84b0e023e9

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyspw_rmap-1.0.0-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: publish.yml on gen740/spw_rmap

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

1.0.0 This release

16 files

0.3.0

16 files

0.2.0

16 files

0.1.3

11 files

0.1.2

11 files

0.1.1

11 files

0.0.1

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page