Skip to main content

Wirestead Python

Python bindings for the Wirestead C++ communication library.

This repository contains the Python package and pybind11 bindings. The C++ core lives in the main Wirestead repository.

Package Layout

  • Python package: wirestead
  • Compiled extension: wirestead._core

Documentation

The first split release keeps the existing binding API surface. It does not add new transport functionality.

Installation

PyPI (recommended)

Prebuilt wheels are published for Python 3.10 through 3.13 on Linux (manylinux_2_28 x86_64 and aarch64), macOS (arm64), and Windows (amd64). No C++ toolchain or Wirestead core checkout is required.

pip install wirestead

The remaining installation methods below build the extension locally and are meant for contributors, other Python versions/platforms, or consuming a custom core build.

Development mode with local core source

git clone https://github.com/wirestead/wirestead.git
git clone https://github.com/wirestead/wirestead-python.git

cd wirestead-python

python -m pip install -U pip
python -m pip install -e . \
  -Ccmake.define.WIRESTEAD_CORE_SOURCE_DIR=../wirestead

Installed core package

cmake -S ../wirestead -B ../wirestead-build \
  -DCMAKE_BUILD_TYPE=Release \
  -DWIRESTEAD_BUILD_TESTS=OFF \
  -DWIRESTEAD_BUILD_DOCS=OFF

cmake --build ../wirestead-build --parallel
cmake --install ../wirestead-build --prefix ../wirestead-install

cd ../wirestead-python
python -m pip install . \
  -Ccmake.define.CMAKE_PREFIX_PATH=../wirestead-install

vcpkg core package

The repository includes a vcpkg.json manifest that depends on wirestead.

export VCPKG_ROOT=/path/to/vcpkg

python -m pip install . \
  -Ccmake.define.CMAKE_TOOLCHAIN_FILE=$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake

Import Smoke

python -c "import wirestead; print(wirestead.__version__)"

Tests

python -m pytest -q -m "not serial"

Real TCP loopback coverage is marked as integration and is disabled unless explicitly requested:

WIRESTEAD_PYTHON_RUN_LOOPBACK_TESTS=1 python -m pytest -q -m "integration"

Release wheels are also validated as installed artifacts from a fresh virtual environment:

python scripts/run_wheel_consumer_smoke.py \
  --wheel-dir dist \
  --project-root .

For local validation across supported core consumption paths, use:

scripts/verify.sh --core-source ../wirestead

Set VCPKG_ROOT to enable the vcpkg path, or pass --skip-vcpkg when it is not applicable. Add --installed-prefix /path/to/wirestead/install to validate against an installed core package.

Compatibility

Wirestead Python follows the same minor release line as the Wirestead C++ core.

Wirestead Python Wirestead core
0.9.x 0.9.x

Patch versions may differ when Python-only packaging, binding, documentation, or CI fixes do not require a matching core patch release.

The Python package is currently experimental until the C++ public API reaches a stable release line.

Support Matrix

Item Status
Python wheels CPython 3.10, 3.11, 3.12, and 3.13
Linux wheels manylinux_2_28 x86_64 and aarch64
Windows wheels amd64
macOS wheels arm64
Install command pip install wirestead
Source build Contributor/custom-core path only
TCP Supported and wheel-smoke tested on Linux, Windows, and macOS
UDP Supported and wheel-smoke tested on Linux, Windows, and macOS
Serial API surface is shipped; hardware loopback is not part of wheel smoke
UDS Supported and wheel-smoke tested on Linux, Windows, and macOS
Core compatibility wirestead Python 0.9.x targets Wirestead C++ core 0.9.x

Users migrating from Unilink should switch package and import names to wirestead. See the core migration guide: https://github.com/wirestead/wirestead/blob/main/docs/migration-from-unilink.md

Download files

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

Source Distribution

wirestead-0.9.3.tar.gz (44.0 kB view details)

Uploaded Source

Built Distributions

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

wirestead-0.9.3-cp313-cp313-win_amd64.whl (627.5 kB view details)

Uploaded CPython 3.13Windows x86-64

wirestead-0.9.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (1.2 MB view details)

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

wirestead-0.9.3-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (1.0 MB view details)

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

wirestead-0.9.3-cp313-cp313-macosx_15_0_arm64.whl (678.9 kB view details)

Uploaded CPython 3.13macOS 15.0+ ARM64

wirestead-0.9.3-cp312-cp312-win_amd64.whl (627.6 kB view details)

Uploaded CPython 3.12Windows x86-64

wirestead-0.9.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (1.2 MB view details)

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

wirestead-0.9.3-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (1.0 MB view details)

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

wirestead-0.9.3-cp312-cp312-macosx_15_0_arm64.whl (678.8 kB view details)

Uploaded CPython 3.12macOS 15.0+ ARM64

wirestead-0.9.3-cp311-cp311-win_amd64.whl (626.6 kB view details)

Uploaded CPython 3.11Windows x86-64

wirestead-0.9.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (1.2 MB view details)

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

wirestead-0.9.3-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (1.0 MB view details)

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

wirestead-0.9.3-cp311-cp311-macosx_15_0_arm64.whl (679.0 kB view details)

Uploaded CPython 3.11macOS 15.0+ ARM64

wirestead-0.9.3-cp310-cp310-win_amd64.whl (625.7 kB view details)

Uploaded CPython 3.10Windows x86-64

wirestead-0.9.3-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (1.1 MB view details)

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

wirestead-0.9.3-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (1.0 MB view details)

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

wirestead-0.9.3-cp310-cp310-macosx_15_0_arm64.whl (677.9 kB view details)

Uploaded CPython 3.10macOS 15.0+ ARM64

File details

Details for the file wirestead-0.9.3.tar.gz.

File metadata

  • Download URL: wirestead-0.9.3.tar.gz
  • Upload date:
  • Size: 44.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for wirestead-0.9.3.tar.gz
Algorithm Hash digest
SHA256 7c63771fca0b06e942d977ce2f614923006e8e5df310be741102b213df9dfa1b
MD5 56b27371443ef347ab3322f5af8a964d
BLAKE2b-256 dc933e0e45ea53f3cb2ffb9ae82d9a5a665e0f7459d2fe46adc8f7bbc8458dae

See more details on using hashes here.

Provenance

The following attestation bundles were made for wirestead-0.9.3.tar.gz:

Publisher: release.yml on wirestead/wirestead-python

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

File details

Details for the file wirestead-0.9.3-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: wirestead-0.9.3-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 627.5 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for wirestead-0.9.3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 5b17d6aeb3b22adcd5580f40c3be779b6e2612166e233f0a8a6dab9243079ef3
MD5 6cd8996738b613e312b926926039f6f5
BLAKE2b-256 2cd11728491c9e4b58a26506d80c8a9802b45fbb402d2c15aab69066b0167233

See more details on using hashes here.

Provenance

The following attestation bundles were made for wirestead-0.9.3-cp313-cp313-win_amd64.whl:

Publisher: release.yml on wirestead/wirestead-python

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

File details

Details for the file wirestead-0.9.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for wirestead-0.9.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 484b7f9dbcf5b62e41ddb44c8acb7ff6d9b621171cbae7ce46c979bc6045eb80
MD5 bb97e8c37ca5d6d85c9d8b036547f940
BLAKE2b-256 d7fa29c9af47448d838ecbaba2ffc5175b875dd790488ddfd8c01ee60325b36b

See more details on using hashes here.

Provenance

The following attestation bundles were made for wirestead-0.9.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on wirestead/wirestead-python

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

File details

Details for the file wirestead-0.9.3-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for wirestead-0.9.3-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 252fba2b780fb84bd3abb1c1abfcf7dfe9646cb046151dfdc906452a83bc7cc3
MD5 809f5e192db1eb458791e2d654d07e66
BLAKE2b-256 d177810140324c36ec6d582525e8e2f5667ca961936da447834d1f5bdd204e8b

See more details on using hashes here.

Provenance

The following attestation bundles were made for wirestead-0.9.3-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:

Publisher: release.yml on wirestead/wirestead-python

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

File details

Details for the file wirestead-0.9.3-cp313-cp313-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for wirestead-0.9.3-cp313-cp313-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 427c1fed1fb1714d7e0d393096194c8cfd1c09839e229c09c8195a6156b30801
MD5 fcb2a01ed77425be82bf28f6f57ce5f6
BLAKE2b-256 6c112297f16be65167b3888d26fbb193ca812905db2fbd50d4bb780cf33496a8

See more details on using hashes here.

Provenance

The following attestation bundles were made for wirestead-0.9.3-cp313-cp313-macosx_15_0_arm64.whl:

Publisher: release.yml on wirestead/wirestead-python

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

File details

Details for the file wirestead-0.9.3-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: wirestead-0.9.3-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 627.6 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for wirestead-0.9.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 cd11b5f8de3f29bdb87b47942516cf4f21ddd4a77cf0f834ff3f290d84153ac8
MD5 f9f745a7178a1db1d350e473e759b704
BLAKE2b-256 5e711da1441aaf22f4298f36aaafa6b9c08b59bf0920923963424f2dc9051a1b

See more details on using hashes here.

Provenance

The following attestation bundles were made for wirestead-0.9.3-cp312-cp312-win_amd64.whl:

Publisher: release.yml on wirestead/wirestead-python

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

File details

Details for the file wirestead-0.9.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for wirestead-0.9.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2565453d6858fa4c8b56cc339e84958b4b6f8e1768f1ea84044461b8628a2db1
MD5 d296e7c4fc326611ce53bff11019c747
BLAKE2b-256 99222a236fde5b8a06ac93c5db383296919fe472e1a72d0e7cc618025581ca40

See more details on using hashes here.

Provenance

The following attestation bundles were made for wirestead-0.9.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on wirestead/wirestead-python

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

File details

Details for the file wirestead-0.9.3-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for wirestead-0.9.3-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 f7022e41771d0e91046fb22630024d00b99d71899b487dbb018a4ecf6addc08a
MD5 ead6860b2674fbe5e7533f1363306f9e
BLAKE2b-256 3761c57fa3505cee80ee9d1e47bcf162165e3a74370106baa360f48b5964a8f4

See more details on using hashes here.

Provenance

The following attestation bundles were made for wirestead-0.9.3-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:

Publisher: release.yml on wirestead/wirestead-python

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

File details

Details for the file wirestead-0.9.3-cp312-cp312-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for wirestead-0.9.3-cp312-cp312-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 d88d4cc669fbdcbe8e9e2d3912102b05c297847929353fb032a92e397641d827
MD5 12f448d57805363cfbfa25caf068a004
BLAKE2b-256 da4aa30690463053bc35c6f951189b9bdc1faee85d4a3c2dbf97cd540b64a75a

See more details on using hashes here.

Provenance

The following attestation bundles were made for wirestead-0.9.3-cp312-cp312-macosx_15_0_arm64.whl:

Publisher: release.yml on wirestead/wirestead-python

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

File details

Details for the file wirestead-0.9.3-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: wirestead-0.9.3-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 626.6 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for wirestead-0.9.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 c9d821fd8354bf65e5ccfa5d44cc12280090fcba8a1545d92edd4bc77a025fc9
MD5 49ea6a8f0989653639bbf23ee0f16b48
BLAKE2b-256 ce3b4752da469c63459762a5dd8b209ca222f6bf4e1dceee8d7a3968a2c886ba

See more details on using hashes here.

Provenance

The following attestation bundles were made for wirestead-0.9.3-cp311-cp311-win_amd64.whl:

Publisher: release.yml on wirestead/wirestead-python

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

File details

Details for the file wirestead-0.9.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for wirestead-0.9.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5a960a2411b484f7d45b14b3079d26874ace40453f873c6c1a5e0752ab6e0b6f
MD5 17250f78c9096ee57040b72feaa7ff00
BLAKE2b-256 a2c25b396712fe52c463cd27506d094d2c078e718bf99f60a933eed62bd27d56

See more details on using hashes here.

Provenance

The following attestation bundles were made for wirestead-0.9.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on wirestead/wirestead-python

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

File details

Details for the file wirestead-0.9.3-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for wirestead-0.9.3-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 0a81cf3ad8985e9b0a96bf180cd8be0242fbc284dcfce90b42c0da2e6d3e4e74
MD5 6ea77b28de217b3be3aa66949ab3c775
BLAKE2b-256 a2fac1c96b06b324e678369e08b3d68b5f9e235830e85c6b2ed0ec938f8dc3b1

See more details on using hashes here.

Provenance

The following attestation bundles were made for wirestead-0.9.3-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:

Publisher: release.yml on wirestead/wirestead-python

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

File details

Details for the file wirestead-0.9.3-cp311-cp311-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for wirestead-0.9.3-cp311-cp311-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 1bb3a8506a001bf832c9f3719bd5a060cd9290ef7b83b9d89105ddf6bbc44f87
MD5 e5d2bab6da54ea36ef43d4f8c6aa0932
BLAKE2b-256 a96ac805e1b8cbc337882f86c69db9010c2e19524056919b0afe451085d35145

See more details on using hashes here.

Provenance

The following attestation bundles were made for wirestead-0.9.3-cp311-cp311-macosx_15_0_arm64.whl:

Publisher: release.yml on wirestead/wirestead-python

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

File details

Details for the file wirestead-0.9.3-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: wirestead-0.9.3-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 625.7 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for wirestead-0.9.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 06caccf388fd1d3b5bc2e1e4efee0c9f190ffa75924592a8ded676943f38f395
MD5 0fd10565e72b3b2cb87e4c20a22e7f97
BLAKE2b-256 a0255b845953466c881409f08fae4b585b81f91c81873b664013516dd57b3f4d

See more details on using hashes here.

Provenance

The following attestation bundles were made for wirestead-0.9.3-cp310-cp310-win_amd64.whl:

Publisher: release.yml on wirestead/wirestead-python

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

File details

Details for the file wirestead-0.9.3-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for wirestead-0.9.3-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 13d0f8a9de6c0256e65776373c010c0616b75a04d1bfdebebb1ad89e5481fba0
MD5 9dcc4acef408f12b5f4d55d05da6779d
BLAKE2b-256 590304842621a454c3b70d76d89cdcd0291ec01d5a8625a663ef80ec347a5f43

See more details on using hashes here.

Provenance

The following attestation bundles were made for wirestead-0.9.3-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on wirestead/wirestead-python

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

File details

Details for the file wirestead-0.9.3-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for wirestead-0.9.3-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 a6dcf6b473f23aa803179486980241c434800e2a0cd6ff4bc05313610c57572a
MD5 ad1d6c3ccd2d3dd05eeac3767e92bcbe
BLAKE2b-256 ee6a042945b32d71f6c7b91ea746764cf0eeff4f704846e3f51e407216e39997

See more details on using hashes here.

Provenance

The following attestation bundles were made for wirestead-0.9.3-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:

Publisher: release.yml on wirestead/wirestead-python

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

File details

Details for the file wirestead-0.9.3-cp310-cp310-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for wirestead-0.9.3-cp310-cp310-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 884f7f6927729d2bf4e42e3aa72af432c25b7b362a229761aa58bff6ce097614
MD5 f8443bcc7c05fc68f14fcdd04aca0e79
BLAKE2b-256 3abf240c30d82d366a96dd794abd03d2e67550cd701cdbdf86c59a3c6bdd6563

See more details on using hashes here.

Provenance

The following attestation bundles were made for wirestead-0.9.3-cp310-cp310-macosx_15_0_arm64.whl:

Publisher: release.yml on wirestead/wirestead-python

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 Sentry Error logging StatusPage Status page