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.2.tar.gz (43.3 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.2-cp313-cp313-win_amd64.whl (613.8 kB view details)

Uploaded CPython 3.13Windows x86-64

wirestead-0.9.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (1.1 MB view details)

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

wirestead-0.9.2-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (992.8 kB view details)

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

wirestead-0.9.2-cp313-cp313-macosx_15_0_arm64.whl (667.7 kB view details)

Uploaded CPython 3.13macOS 15.0+ ARM64

wirestead-0.9.2-cp312-cp312-win_amd64.whl (613.9 kB view details)

Uploaded CPython 3.12Windows x86-64

wirestead-0.9.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (1.1 MB view details)

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

wirestead-0.9.2-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (991.6 kB view details)

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

wirestead-0.9.2-cp312-cp312-macosx_15_0_arm64.whl (667.6 kB view details)

Uploaded CPython 3.12macOS 15.0+ ARM64

wirestead-0.9.2-cp311-cp311-win_amd64.whl (612.7 kB view details)

Uploaded CPython 3.11Windows x86-64

wirestead-0.9.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (1.1 MB view details)

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

wirestead-0.9.2-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (991.5 kB view details)

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

wirestead-0.9.2-cp311-cp311-macosx_15_0_arm64.whl (667.7 kB view details)

Uploaded CPython 3.11macOS 15.0+ ARM64

wirestead-0.9.2-cp310-cp310-win_amd64.whl (611.8 kB view details)

Uploaded CPython 3.10Windows x86-64

wirestead-0.9.2-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.2-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (990.2 kB view details)

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

wirestead-0.9.2-cp310-cp310-macosx_15_0_arm64.whl (666.3 kB view details)

Uploaded CPython 3.10macOS 15.0+ ARM64

File details

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

File metadata

  • Download URL: wirestead-0.9.2.tar.gz
  • Upload date:
  • Size: 43.3 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.2.tar.gz
Algorithm Hash digest
SHA256 eb5ce0d9a6a6bb830bb7af07bcc533115464d53cf0ccdfa60d0afebf0cc9d95d
MD5 7a0ee10ab1e3b70dcebf05a5757c4b14
BLAKE2b-256 fd3a51127d735259dedff2e5322801e012d43b01351577a9839d3e4278d7c831

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: wirestead-0.9.2-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 613.8 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.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 a63f9d580541f77ac6b0f388536787af1d5704b10911f7ddc4376d68bcd7b1e5
MD5 1a83063667ac4b2a91e4d48a863096b1
BLAKE2b-256 052a77e73bfa50691f5e81911a98763ff88971db0c074651fa2e3ba84704dd22

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for wirestead-0.9.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 78a89691ca557bc12b360e9816d5a4696e8a6752ca9d28a2ed26abfdd0c98611
MD5 09f8b8a84c298b995e640dc173ac8156
BLAKE2b-256 7348e8520ee8f72c97a7c8f5d2796f42bc371e40e7c4befbbb21243c379974b5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for wirestead-0.9.2-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 e3b991aa57c1384983a97870dafc543bbc5de569fad1c32273e033c50c86757d
MD5 15cee609c02a7f596c4fca3c3549b0d6
BLAKE2b-256 5b8b62c69c7b878e380de070470ca478e3a6289dd6228e24f4d4e7f7546fa910

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for wirestead-0.9.2-cp313-cp313-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 694031d9ab470361d452f4137a2545aa4d38a4ecc915ba5f33550a8f57002976
MD5 081e7f57edf3b8ec6028b324c046c6bb
BLAKE2b-256 50500ca7f3a729c0b641aecf41045cad1823f222de44aca72005560bab62a74e

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: wirestead-0.9.2-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 613.9 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.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 622a907797c57da07b5ae906deade38f119b14a0c32559886eab9349bc495d3d
MD5 a1b9e8afa784a5beb7a326162591ac03
BLAKE2b-256 0980bdda599113fe91c32b4cc38df45330890e46f086bae5946abe5e897efc2a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for wirestead-0.9.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 930d4fcfd6beac9cfd781084ba3806f335f1a420bbf0e7005997f23b340a20bd
MD5 81b1193b6b9b8f8f23f4b644b850f7b0
BLAKE2b-256 7e2c26370baad80d0abe86e605ccf3f551c4a251804c324642397e89141f4f67

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for wirestead-0.9.2-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 1f048e3da15f1101fd0e79770a340f109a929ed7146259e672e123b15842adca
MD5 993c2491c37e188565036a3f22746223
BLAKE2b-256 85f2fce3de20813087857e6d8333aea8a2beb36695f490c432f05fccc5270e9d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for wirestead-0.9.2-cp312-cp312-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 38b52a978bdd875cfcd58da53735ce61fd20243bde9f63b80a978b1cab22d047
MD5 4d637cced7756d2232e5b5aaf7714676
BLAKE2b-256 022ab691425109a23f4d57ad32dce229399a84e5fc0199a3c9f3df429d0179fe

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: wirestead-0.9.2-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 612.7 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.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 9b0499afcde23b2c51ee1f5d273c6214306e25335c207cf1de50687422bf3d31
MD5 a48ced42dc68e9e17c4329b76f62b967
BLAKE2b-256 5e087845bf97600ea7c4155031d6bbae72f71267842550b7077fc537543010a7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for wirestead-0.9.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a4c29b1f925b749e656791334d00dd43d14b551f78b1149e861bdda78224dbb1
MD5 4a23e4a61d7e19453c119ce7e704b1b7
BLAKE2b-256 9bdd574c8a45b9fba2a1de70c1eb3c5b54846263804347cab52187543c98d7ee

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for wirestead-0.9.2-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 a8fd302ae1c9fa4529fef1d56375cf0d59623bd94fd7b6069105e383eb1984f4
MD5 496b9bf6fe4f0f8fa302122809259004
BLAKE2b-256 179fdef893c90d4204c05db84536e4f7a7dde3c7a19ff43040f16143955dd364

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for wirestead-0.9.2-cp311-cp311-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 3b71e28a850cdff3d040b3a3058b8cb045368add2941f5b86c7297773d79ad7f
MD5 208b9503b1edd221de9afc57cb12b69f
BLAKE2b-256 73c2efa295bfd0f7b673def37b267f48c7595432820037373fbe355d35addb23

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: wirestead-0.9.2-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 611.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.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 3f97c76ad71803ed580c0df68f33f55ab08b17f74d21ee5b16c909dbabe0fa06
MD5 830f2753119211418ce323267635f3b2
BLAKE2b-256 d38d9bc23d50f23c1b1e8a0a416a9c95a27443a9b79ecabb2d4f80af077c0c6b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for wirestead-0.9.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ee6ef66f019f5659653cfbed10391106f2f460233700dc45db288ea63028bbb9
MD5 d7225e44ea007dec8de3bdc119d9e0f9
BLAKE2b-256 a9e5d0ec6c1c357a07d8d08cc9257163b2014a935a37aca1162348e994fa9aaf

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for wirestead-0.9.2-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 b3f40bf61f9d5c564ce9ee06ffff0bb2185bf227a6cd3af8a7daf9c5e6862db3
MD5 3e8b56bce9950da9ede452c79f1b300b
BLAKE2b-256 e51514f31259628f2da9a2b30c7e5c32e527f123647f5924219e6161065ad0f4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for wirestead-0.9.2-cp310-cp310-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 7f62dc404cee26fcf72ceabe34944bd85e3f2dacea46431f395e6fb97dd0df4d
MD5 cfa26a142c028301caa9139803353965
BLAKE2b-256 b767f158280ff196c0aa6fb2396f7f885a29e95e1874e4f16535918f7bcb1a86

See more details on using hashes here.

Provenance

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