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.4.tar.gz (46.7 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.4-cp313-cp313-win_amd64.whl (641.7 kB view details)

Uploaded CPython 3.13Windows x86-64

wirestead-0.9.4-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.4-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (1.1 MB view details)

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

wirestead-0.9.4-cp313-cp313-macosx_15_0_arm64.whl (697.3 kB view details)

Uploaded CPython 3.13macOS 15.0+ ARM64

wirestead-0.9.4-cp312-cp312-win_amd64.whl (642.0 kB view details)

Uploaded CPython 3.12Windows x86-64

wirestead-0.9.4-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.4-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (1.1 MB view details)

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

wirestead-0.9.4-cp312-cp312-macosx_15_0_arm64.whl (697.2 kB view details)

Uploaded CPython 3.12macOS 15.0+ ARM64

wirestead-0.9.4-cp311-cp311-win_amd64.whl (640.8 kB view details)

Uploaded CPython 3.11Windows x86-64

wirestead-0.9.4-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.4-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (1.1 MB view details)

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

wirestead-0.9.4-cp311-cp311-macosx_15_0_arm64.whl (697.5 kB view details)

Uploaded CPython 3.11macOS 15.0+ ARM64

wirestead-0.9.4-cp310-cp310-win_amd64.whl (639.8 kB view details)

Uploaded CPython 3.10Windows x86-64

wirestead-0.9.4-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (1.2 MB view details)

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

wirestead-0.9.4-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (1.1 MB view details)

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

wirestead-0.9.4-cp310-cp310-macosx_15_0_arm64.whl (696.6 kB view details)

Uploaded CPython 3.10macOS 15.0+ ARM64

File details

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

File metadata

  • Download URL: wirestead-0.9.4.tar.gz
  • Upload date:
  • Size: 46.7 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.4.tar.gz
Algorithm Hash digest
SHA256 ac0f98e692ce2646114228e6c4f683f319f9e10b3dd02872e986ab2ae1f129b8
MD5 24cb46ba0fc5680709472a8f1d4b94f6
BLAKE2b-256 e41443ef20bfaa55c1495b411b08d73a1e24f4d67dc0b326e41dfbe9ed37b089

See more details on using hashes here.

Provenance

The following attestation bundles were made for wirestead-0.9.4.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.4-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: wirestead-0.9.4-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 641.7 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.4-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 239db202c1e08dd4c55de7fce5e950a839e2571b6a0e0933f0277226c8a454af
MD5 7dd4ca5ba676034eb1989f93fe418a47
BLAKE2b-256 924aabbf94f71f4eeafe7df6f860be42a07e6f920ab0996a4af2b394c4669740

See more details on using hashes here.

Provenance

The following attestation bundles were made for wirestead-0.9.4-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.4-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for wirestead-0.9.4-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7631b4c2e21b2315a53a46dfc961c3f07eaced568819552d56f13647ce2550cc
MD5 20ebfb22db6c09b0d548a2e4ce4a7fd1
BLAKE2b-256 f6692735581e1abf46735564a7b6d232f7e1d0eb8b3e93bfdec294954c0477ab

See more details on using hashes here.

Provenance

The following attestation bundles were made for wirestead-0.9.4-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.4-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for wirestead-0.9.4-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 5156a6676a7e90977a4083dbe3de753ec58a72842a844682c4db9a28ce67f927
MD5 2ec8473be88d8fca6460a79877984ae9
BLAKE2b-256 75f54db0c627cc4d1ba67c2547e0e074ed2725846dc744c7831ca1a2636a0c17

See more details on using hashes here.

Provenance

The following attestation bundles were made for wirestead-0.9.4-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.4-cp313-cp313-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for wirestead-0.9.4-cp313-cp313-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 eb29f1e534012cacab58e922f3ac7f12c158a743ed357112842962bd39eea0d7
MD5 ccfda01f8f71fbd6cb702988f68864a3
BLAKE2b-256 3c9c51cefa9b2d8e47de748737671abb4fb6c37777821a1c32c9d0881360b021

See more details on using hashes here.

Provenance

The following attestation bundles were made for wirestead-0.9.4-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.4-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: wirestead-0.9.4-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 642.0 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.4-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 a714846fed2b36324b50cd11a2282858772a88c37dcb6649b6a42328fd48f949
MD5 c298cd44d65f1d0381db42013451f8c5
BLAKE2b-256 074b54c4bd1575692681ea3394ab49bc50dd32547425f2c7d1330ce5a57bb1c4

See more details on using hashes here.

Provenance

The following attestation bundles were made for wirestead-0.9.4-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.4-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for wirestead-0.9.4-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 88a08094a2b8ea138f491780af19e425cc193f172aee36d61e872cfb71e12b01
MD5 d061737b078fa7cc069bc5144d859ae7
BLAKE2b-256 1de58217eb539b606e3b190c4392b2e046df74bc9e40580aa775133b8893493a

See more details on using hashes here.

Provenance

The following attestation bundles were made for wirestead-0.9.4-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.4-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for wirestead-0.9.4-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 984ff06894a00522aeadc4f1be20eedd191b14fe8f2c36851790d338d9b77d17
MD5 438c4471e8a788c7f4196fec7d41cef0
BLAKE2b-256 7a43f056e1a3036663edc52cd95b4eb066418cc2c8ad4e460a12227d6b764e6c

See more details on using hashes here.

Provenance

The following attestation bundles were made for wirestead-0.9.4-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.4-cp312-cp312-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for wirestead-0.9.4-cp312-cp312-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 01ea281d84175c5bf0cca2a98c45b7b756728d106070d3319bc09eee2306ce4c
MD5 a024c7e22a81d90c57936ba4bfe404e1
BLAKE2b-256 2c12ef890bac3f0689453980e6f48c61c3bf8eb851ab84ec828f2ebc6070ef40

See more details on using hashes here.

Provenance

The following attestation bundles were made for wirestead-0.9.4-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.4-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: wirestead-0.9.4-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 640.8 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.4-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 e8bea5b7831cd4baae1915a5260b6b7f624b27eaaeb23e495728dabd4b2b59a2
MD5 9952d8219e102a86a83d4c2780aa28b9
BLAKE2b-256 22a76fb25e40ec03255e66478f25e9f07171828cf0be0d1c813a5826588e2182

See more details on using hashes here.

Provenance

The following attestation bundles were made for wirestead-0.9.4-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.4-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for wirestead-0.9.4-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3e188f0489549af8ada9e388ac5c81de0d5bc834009e764b0fec866101922bfb
MD5 362defb46d9b5c78446224b645610370
BLAKE2b-256 8467e10192368472842e44e95066396c2c2ba83427d43efa73db0eb18909a4b5

See more details on using hashes here.

Provenance

The following attestation bundles were made for wirestead-0.9.4-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.4-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for wirestead-0.9.4-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 a5a5ce931eec0e760f5998d134e7b934abb06b0794b3a7a828b157e625eca1c8
MD5 1b6668376259fb5e4f754c591c1704a6
BLAKE2b-256 767cebd1e9f107d54521e677053226de70d244bd5d68ce084409de327859139a

See more details on using hashes here.

Provenance

The following attestation bundles were made for wirestead-0.9.4-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.4-cp311-cp311-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for wirestead-0.9.4-cp311-cp311-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 8681dfe712349cf98f5dc03825630ce2c5fa68afd432d8c7f9acd0e52d0bca67
MD5 6ece20ee2a3f4e9f72b334422622d4ca
BLAKE2b-256 97a6e5ec30e69cd327343decd8386f23a4ce24c7cb786370d99e47c34655ec5a

See more details on using hashes here.

Provenance

The following attestation bundles were made for wirestead-0.9.4-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.4-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: wirestead-0.9.4-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 639.8 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.4-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 e10d7ec56fb1e3c9f45204fc390b1b003d8a1313c797871ca4680b5ed6ee7bc4
MD5 3112169891e802bc104828e995d0a5e3
BLAKE2b-256 a1dae966859aeefa37f98d911c0aa769fb7555810b37d7f5faf82e982809212d

See more details on using hashes here.

Provenance

The following attestation bundles were made for wirestead-0.9.4-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.4-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for wirestead-0.9.4-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 85c435529d11bb0a90e3e2a3087b93b936a1c21099d03f331746d434abf1686a
MD5 f6deb6f4ad384b0e2f0a485b52f4a103
BLAKE2b-256 326f1f206ff0c9f0972ee1fcdc26fa2617264e13b33f6282b210c1997b3ad841

See more details on using hashes here.

Provenance

The following attestation bundles were made for wirestead-0.9.4-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.4-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for wirestead-0.9.4-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 0c8973852480b10f5adb53d2bc2f7dcfb74245be2bf03fbed1587f3be086d1b4
MD5 323d37a9875ab7ad902f0a29f54ab9bf
BLAKE2b-256 c41c84c94b203a0b118d58ca2b776aa9c59ddf3e5af811ab06b80e791fef5109

See more details on using hashes here.

Provenance

The following attestation bundles were made for wirestead-0.9.4-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.4-cp310-cp310-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for wirestead-0.9.4-cp310-cp310-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 2c04d22493bcbbf062411a13a47222c49e6768adb131277c0feebb03287062fe
MD5 12c851aeb12299d357edc95c9ab4dc3b
BLAKE2b-256 0ee82ef8c30f95dda279d3de2d0d56d62e2f017f2aef44cc936aba399ff5cb5b

See more details on using hashes here.

Provenance

The following attestation bundles were made for wirestead-0.9.4-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