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. You can also call node.shutdown() manually when deterministic teardown is required.

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.1.3.tar.gz (46.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.1.3-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (412.0 kB view details)

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

pyspw_rmap-0.1.3-cp314-cp314-macosx_11_0_arm64.whl (330.5 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

pyspw_rmap-0.1.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (411.6 kB view details)

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

pyspw_rmap-0.1.3-cp313-cp313-macosx_11_0_arm64.whl (330.2 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

pyspw_rmap-0.1.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (411.5 kB view details)

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

pyspw_rmap-0.1.3-cp312-cp312-macosx_11_0_arm64.whl (330.2 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

pyspw_rmap-0.1.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (410.6 kB view details)

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

pyspw_rmap-0.1.3-cp311-cp311-macosx_11_0_arm64.whl (328.9 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

pyspw_rmap-0.1.3-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (409.7 kB view details)

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

pyspw_rmap-0.1.3-cp310-cp310-macosx_11_0_arm64.whl (327.5 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: pyspw_rmap-0.1.3.tar.gz
  • Upload date:
  • Size: 46.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.1.3.tar.gz
Algorithm Hash digest
SHA256 f6e37979ec8442f8a989dd480759c0838f6dcc4959fa80576fdb9390a863e037
MD5 5cec17df585afd97909ec30c9f2e9cfe
BLAKE2b-256 de33ce9e699e07e08731d7bb8b3051ccb47184fd940b7fb074ed831a1d19f239

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyspw_rmap-0.1.3-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 932d91720ca5a18b67b03bb82898c5528ca0bd905af349d06192c355940fa324
MD5 f44a60c29492a431c79f392a0a29cd78
BLAKE2b-256 96cfa144cc1ad1fedeaa6a2f909520d71a0805802de718706ac43ed17f1030a4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyspw_rmap-0.1.3-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 769b581ae84c625ba17a3c8c30ca00a405d68ea52735bdeb99afb537ff769208
MD5 7dd1b768c24c3d8b2834024c62575591
BLAKE2b-256 4b78b44b6fc6ee7ccd157f00b22df3f689534b9cfc61e5b651165a9879716e90

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyspw_rmap-0.1.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c404d2de0d2610fc9c2b206ca7ff717ad84338a4880aad9bb35573d63c2e15fc
MD5 2eca57cddbde8cbbc3671e5b09c44042
BLAKE2b-256 38abb6c7c945f4abc52049be2fdb21955db315967cc44a480664d5130c64451d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyspw_rmap-0.1.3-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b065e332247597ecae37eaa0f868fa5e6cc4bb2ce0b41e53c1c65321cb10e687
MD5 834b7c9a9d05cc7a3a128fb9ca53252c
BLAKE2b-256 5cfc26dfc22031aab5115a5694a90461f0fe5d6dfa81a983125b6b64cc4246a3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyspw_rmap-0.1.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6216e9bb44e1a8f26cf7c814ffe997618df489bfd80c3d69df5ce039cb9be3c0
MD5 ed70d277355cdcc42de114cffb442d1b
BLAKE2b-256 c7a57441c29e982abd13c43dcb488916fde291990c03ef53eadb273731d5d239

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyspw_rmap-0.1.3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ba8bac0b19e615f93d95ca0eac0ab4d71dab283028c01dc3acba4a12fb408705
MD5 d42015419a85fc64f5be835c5daa515d
BLAKE2b-256 04eb819eabff243322350763ec9a921ed732a2f1f25c57c65ab8cd31e9f06301

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyspw_rmap-0.1.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 28d0af7417825fc13d0e63ad9e8d46e8a111f9f5ce746db12a8984393edd81f5
MD5 f0c25f41d1516b8853d44fbd9b7961e6
BLAKE2b-256 45dc25553387386515685db29026c4e349aefdf6f5aed65f8931c717b8822682

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyspw_rmap-0.1.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 db894c58bdef5c8b65c780ad0bc5b80471a4fd89838d095cfe628749f43fcc32
MD5 69a55baf1b0fb192edfbc7c4fe9ef331
BLAKE2b-256 9059061f91f5af6765f09be0cb5c0e2d9ed355a58a3207fc70ed46efd960930d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyspw_rmap-0.1.3-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 37fc6a7ce5e61bedb2e66761b4b95e33c8e6da81d9ebb587b484756bd2771229
MD5 e0c713b62736285682e4be94537d5345
BLAKE2b-256 56af1bca209c422a8418a3d253516bb1baabee5f12f64ddcf1e3b2a24c79ce5d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyspw_rmap-0.1.3-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3542b8fb1d458f4acd4a9054f7bcae69cea9e1b121008d43118f354e342b7d08
MD5 c684b47ba417e93dcc61fdeb0b8ea6e6
BLAKE2b-256 d9107612f3a31142d3a08b3d51acc739784ed3b9e9b2d47ee5a7d1644eaf26d2

See more details on using hashes here.

Provenance

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