Skip to main content

SpaceWire / RMAP TCP client bindings for Python

Project description

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],
)

node = SpwRmapTCPNode(ip_address="192.168.1.100", port="10030")

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 timeout elapses. Catch the raised exception to handle transport or timeout errors explicitly.

Destroy the node (or let it go out of scope) to close the TCP connection. For deterministic teardown, wrap it in a context manager as shown in examples/spwrmap_example.py so connect() and cleanup stay paired.

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.

Project details


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-0.3.0.tar.gz (48.4 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-0.3.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (403.1 kB view details)

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

pyspw_rmap-0.3.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (380.3 kB view details)

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

pyspw_rmap-0.3.0-cp314-cp314-macosx_11_0_arm64.whl (316.1 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

pyspw_rmap-0.3.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (402.7 kB view details)

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

pyspw_rmap-0.3.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (379.8 kB view details)

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

pyspw_rmap-0.3.0-cp313-cp313-macosx_11_0_arm64.whl (315.8 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

pyspw_rmap-0.3.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (402.7 kB view details)

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

pyspw_rmap-0.3.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (379.0 kB view details)

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

pyspw_rmap-0.3.0-cp312-cp312-macosx_11_0_arm64.whl (315.8 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

pyspw_rmap-0.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (401.6 kB view details)

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

pyspw_rmap-0.3.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (378.8 kB view details)

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

pyspw_rmap-0.3.0-cp311-cp311-macosx_11_0_arm64.whl (315.3 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

pyspw_rmap-0.3.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (400.7 kB view details)

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

pyspw_rmap-0.3.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (377.7 kB view details)

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

pyspw_rmap-0.3.0-cp310-cp310-macosx_11_0_arm64.whl (313.9 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

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

File hashes

Hashes for pyspw_rmap-0.3.0.tar.gz
Algorithm Hash digest
SHA256 53c2e14c6bc73541f83ae36bf88720f41d802699db04b604289686a798f6d49c
MD5 2be5c6497c2774022f73f27f3221484c
BLAKE2b-256 859f028f834e3d4ebf15d79aaa85eb1b41d86e641322dc00ae914f274fc1e01a

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyspw_rmap-0.3.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-0.3.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyspw_rmap-0.3.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 06118fb82a82e45e443cde2535b5d82fd4996612412b4a9f5141f9f5180432b1
MD5 3560c1e9ba017caa14cc7c789c17fd70
BLAKE2b-256 52ee4ad2842f5a8b2755a62a3217041c1dcc9f350690ecf0754041223574899b

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyspw_rmap-0.3.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-0.3.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyspw_rmap-0.3.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 56eaf2c71c94ed5ed9162eb6ee6d2e7002594584d22b1d1cce6cb01d046b2413
MD5 8eaf1f89155f82b553a88f750deaa7a8
BLAKE2b-256 dbea36ad81e18a91b3c629de8c1b97b5f09858b3afdfb62d5844b7e2e5413381

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyspw_rmap-0.3.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-0.3.0-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyspw_rmap-0.3.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 73b8e65355f19c3ad3bb94f29129802db56da0d9906e2d80b98894fb9ae166d4
MD5 8a0d9cdf68b5570e2ebb9faa2854d835
BLAKE2b-256 ee2b08d32f603492c1097c1d73f51fdb0f40429061dc3accb5a1bdc902c4e69c

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyspw_rmap-0.3.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-0.3.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyspw_rmap-0.3.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5302bcd14891a47e954e5e563d5168c650f49921c0b6c0e321a682c43957511e
MD5 559b824b5bf9c85eb1711b12acc7f6f8
BLAKE2b-256 074603f860f08e3c41e1fa759cd209cb54fb461a5aafd30f15e55a1cf2413751

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyspw_rmap-0.3.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-0.3.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyspw_rmap-0.3.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d1daa4c7d3a30cca930fe4d0a796ca9f81bb488222e6cff0dc56546e9b5437dd
MD5 ac61e416a34019b05a41b29b93c1d777
BLAKE2b-256 72c22ed5dc9f5e8a55b197b3dbb80efa3b3a9bad3eb38defec969be22bf2ea6c

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyspw_rmap-0.3.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-0.3.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyspw_rmap-0.3.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3c731f159d722d8af57c4614908df79e80b13987ce5540cce75f7e1e179c7831
MD5 231a0fed229929d507935e18c5e3c795
BLAKE2b-256 775f0043374f0ac4d11b31245aa2785012c5df47b1207d55cccae786417d6c33

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyspw_rmap-0.3.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-0.3.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyspw_rmap-0.3.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 73e773fb5ac1898bff395e09dfc153df28c0c9d817a06e3569148d7e12f34736
MD5 146d8a8db30d6aec70e5d8e80303eec1
BLAKE2b-256 39217df69bcc73cb8acc0d4b967d385238d22a2e3bd3c9666db07149ab2aa5bf

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyspw_rmap-0.3.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-0.3.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyspw_rmap-0.3.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 993fd9f0b8634815e39dc49e329f3677c8aba0efe7191429d85b62e60ef0a50d
MD5 8874819f40e397afef8bb8c609a80c8f
BLAKE2b-256 5bd7475d851698c6140ea233a8c5125275e581da6d3ef54267a8ce7a7f506f0f

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyspw_rmap-0.3.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-0.3.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyspw_rmap-0.3.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 236c5a45d4b6782ce46fb2f91b7ba9549c20a80d7d361d45608e772ee0fbfe70
MD5 574f78c4062af8e054c610c1acb24e84
BLAKE2b-256 73926e7e1d87bad96231487cbe1121fc3cdd4615ed9e69e62f74aca6c7fd5a6c

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyspw_rmap-0.3.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-0.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyspw_rmap-0.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1128a4531f59bf8968c651793bc40114240e3095eed7728fbe8d1e1453efdc48
MD5 9fa9b0206967b3d7da0cce2069abc9bd
BLAKE2b-256 634aac11242589672b413ec431b6d0aae2f9c367f12b867fbb18bc8f40a2d4d7

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyspw_rmap-0.3.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-0.3.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyspw_rmap-0.3.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 853fef25a4471989198e697aa3edeb17a33e28e81de0f3198d00f83b520c2978
MD5 1282fceb5462b2694691935098e70c72
BLAKE2b-256 d0474c517165c534b05e53d7d9646b1ef69ce4d0ca662ec5598a89b766745de9

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyspw_rmap-0.3.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-0.3.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyspw_rmap-0.3.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 39cbebd2974d1df519ff2c8eb73ffa8e7af84fded91c86a40210b5c85f59323d
MD5 d34577de595a289b109256b359ad6c8c
BLAKE2b-256 0556e862e1cf5f181cdb4fc0135b9f24306085fa9111523ee0ba8172b494558e

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyspw_rmap-0.3.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-0.3.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyspw_rmap-0.3.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9004abac967193d6da92a2a3f4f2534f92769e365ce3798c52bf52119f7da798
MD5 7bca88fd2315917c7d347f60b4090afc
BLAKE2b-256 c76346a5a4212efddf703f4442aaf120f119a84ddc41cbd7113ea36592164dcf

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyspw_rmap-0.3.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-0.3.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyspw_rmap-0.3.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 9b0d581d5ffd9a195f5aca2e2d12b5f6c05c93b72eee740023250d4192002d74
MD5 8853827077070c0f3022ea4aa05c31df
BLAKE2b-256 b57b45677c311b255f6aebdf88d1e65d3e7992f14e33f216a5c319e95a565ed8

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyspw_rmap-0.3.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-0.3.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyspw_rmap-0.3.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 47a8b87f9c16f5e6b213d9ad95eb79f4bf2caa5009f7b263a284ac2399defb82
MD5 8fc146ff5d988d548a5f69672108b57a
BLAKE2b-256 de89ea19707b4c3f1a27a577f0eaec4f9e8a60ed7af1fffe3e59805d5762cd31

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyspw_rmap-0.3.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.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page