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

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

pyspw_rmap-0.2.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (379.7 kB view details)

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

pyspw_rmap-0.2.0-cp314-cp314-macosx_11_0_arm64.whl (315.6 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

pyspw_rmap-0.2.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (402.3 kB view details)

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

pyspw_rmap-0.2.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (379.2 kB view details)

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

pyspw_rmap-0.2.0-cp313-cp313-macosx_11_0_arm64.whl (315.3 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

pyspw_rmap-0.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (402.2 kB view details)

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

pyspw_rmap-0.2.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (378.4 kB view details)

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

pyspw_rmap-0.2.0-cp312-cp312-macosx_11_0_arm64.whl (315.3 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

pyspw_rmap-0.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (401.3 kB view details)

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

pyspw_rmap-0.2.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (378.7 kB view details)

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

pyspw_rmap-0.2.0-cp311-cp311-macosx_11_0_arm64.whl (314.9 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

pyspw_rmap-0.2.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (400.4 kB view details)

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

pyspw_rmap-0.2.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (377.2 kB view details)

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

pyspw_rmap-0.2.0-cp310-cp310-macosx_11_0_arm64.whl (313.6 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: pyspw_rmap-0.2.0.tar.gz
  • Upload date:
  • Size: 46.5 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.2.0.tar.gz
Algorithm Hash digest
SHA256 e89d3096e7e522180c98e25a51a5ccd077ac7a3d39d9360d8b83a7bd9e6a11cc
MD5 58f61d27b49db4e49da1aed8e03fe899
BLAKE2b-256 945771abd73c939ad8f0d529c8bd9fd40a437d2866baf7e7c672a349235b5ccf

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyspw_rmap-0.2.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b960fe14684a8778665bc20b47ee6341ca9f44885d2599357cbdbc16e3cca2d3
MD5 33edabbe6e4efd37fd98a5c4e73b1f96
BLAKE2b-256 4264ea2d3320f05aada30379fec2ac110d4921356dac7c32be1a185b0ab26bbb

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyspw_rmap-0.2.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 5d9ea8022d571bc4e8a6680d73b75fa1df30547b88ea1c899535ab452ab7f8b8
MD5 2aa7044a16fc3ec568b365f181c45b0b
BLAKE2b-256 7d4273987a97c124032491dad80341fc4f9783ba5f0c251c99b25ac0cc87507a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyspw_rmap-0.2.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b6ffdf2f48d546d8f206a2aa022f57f45cda179c32cb632a38b17e417ce4570d
MD5 142202a24c3b4f3635c86451d89fae11
BLAKE2b-256 a9cf54b4fd938acffa17e57a8e665fc9415cd4eab0c2552e07761e1329ff06ca

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyspw_rmap-0.2.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 227ea9b42d0edb4fcfbba02c7e896456e7b42a0f0f9b738ceba2fb00a82b4fd6
MD5 a179d6943f1b5719de7010aba6afa0c0
BLAKE2b-256 513e0c67ecf507a6022fdc5c55921cfe76e0212d9e405f0065fefac7427a3230

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyspw_rmap-0.2.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 61a0de300f7817ad690d51077be193ec27c03b7067162e56188ccb526bc49a46
MD5 86211f1b7d2c94015752fa14dc775d25
BLAKE2b-256 08e2f7f1da285663213e67bbdfafa0234f0774296d70b37c233480dffa8b1be9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyspw_rmap-0.2.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1ad935740093e0d4c3e2a058198fac1b71e2d84c1060efbd703ada95e02fa796
MD5 ccfbad00c67931e92f86a6d7dd5d4857
BLAKE2b-256 93f02370ddd657009ede5a2f3f17b10b5e37cb1c650976c7c5afb61b91985acb

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyspw_rmap-0.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 15502bb4653b85dff4bae91a022f4af857bf4276844fc0c4d541ce703fe76c6a
MD5 afa2636bd63098a8bcfa787e3b095a2f
BLAKE2b-256 67a38d6b937967462951be9435fcba1daddd1ec906a4708ae2918ef3123043fd

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyspw_rmap-0.2.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 234cc08296c02fab73617fec723a5df986a65a598bbd7c9fded1207db28e1b4e
MD5 23fdeb07876bd6f2e91987e5156e06a9
BLAKE2b-256 5a970a09c2a76feb57d1e47ad11d543885b648394f8d93823b03a720afb294d3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyspw_rmap-0.2.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 25f182dac70d69dbdc64dc62342bdbbeb47022b09825b2096c048d204e85d909
MD5 9a32fa1ffdd5fe3df54a227346775dc5
BLAKE2b-256 a6f20f65501672551997980225d3572810e8566cacb68e0eb42908ba0c88f6a1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyspw_rmap-0.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f3032b8a10afa892f758e1c75e058126aaf77a29524d4e69a3e556db97a4d102
MD5 86fe4124aa1e97855cbca215edeb074e
BLAKE2b-256 65a575181404e303de4d3898ff7d2f4d41f1b5467af296f895a0ecbda55ba0ac

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyspw_rmap-0.2.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 de3a8bcc5a8cdbf2d32ebcff3cd2c5573ee0dfb2177668a98dfb126b7bf1ccba
MD5 6394187838584eeac4c1e751a02cfc9f
BLAKE2b-256 28ebe5db196a6b5eb031286e87acdcdd0cb4649bc4fc9ca8988d3624366edd45

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyspw_rmap-0.2.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3cc373d8ba11bdf4806bc21af9eb2c207a587450b73047697e0f6111551b7d4f
MD5 61602d15774447d500d48702c1ae6870
BLAKE2b-256 3294d981911b91feee711a4119dbcc61c0e7a5a8cfd68bd73e55e2e0a742d8c6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyspw_rmap-0.2.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e12e5f5cf44d5d7414bccef1367e481d188d8c240b78bbc46a7d7091fa2440db
MD5 27e2805f71d0b87ce02c2cc6ebe18bcf
BLAKE2b-256 2fd6cc64c96ff791971b14912a547220a3f210a9f41ffda0cc4a53e3fc896e95

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyspw_rmap-0.2.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 65b759dc2ee776ab3cf939014a6c246a89e97454e6b30054821b31be7394d6e6
MD5 7de7d3e68b6bc3a4bd115c8f6fc14fbc
BLAKE2b-256 52cea932668babb35d4b884a0d0e637cf2e23c97e45e23a3635b9bc775b2aa99

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyspw_rmap-0.2.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7a75f685f0e2f2ce8590a778361418599045ff5fca38a443f8ea562bf9fde150
MD5 9c26d0b70b8f343aa445c5f4ba95be12
BLAKE2b-256 96363dd7a07219757bb367d598ac64e9668833dddbe4f79411f39cb50cb105e9

See more details on using hashes here.

Provenance

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