Skip to main content

labwired (Python)

Run microcontroller firmware in the LabWired simulator and test it with pytest. Time is virtual: execution advances only inside run_for and expect.

Install

pip install labwired

Wheels are abi3: one wheel per platform covers CPython 3.9 and newer (Linux x86_64/aarch64, macOS arm64/x86_64, Windows x64).

Test firmware with pytest

The package installs a pytest plugin with a sim fixture:

def test_boot_banner(sim):
    with sim("firmware.elf", chip="stm32f103") as s:
        s.expect(r"boot ok", timeout="10ms")
        s.send("ping\n")
        assert s.expect("pong", timeout="5ms").text == "pong"

Run it with pytest. Give --labwired-chip <name> to set a default chip for every sim(...) call. On a failure, the report shows the UART transcript.

API summary

  • Sim(elf, chip=... | system=..., uart=None): one ELF on one machine.
  • run_for(duration), expect(pattern, timeout): advance virtual time.
  • read_uart() returns text (invalid UTF-8 becomes U+FFFD). read_uart_bytes() returns the raw bytes.
  • send(text), send_bytes(data), read_u32, write_u32, read_memory, snapshot(), restore(snap), set_input, set_pin, frames().
  • run_firmware(elf, chip=..., duration="1s", expect=...): one-shot helper.

Metadata

Release files for labwired 0.25.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for labwired 0.25.0
File Size Uploaded
labwired-0.25.0.tar.gz 12.7 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for labwired 0.25.0
File
labwired-0.25.0-cp39-abi3-win_amd64.whl CPython 3.9 abi3 Windows x86-64 Details
labwired-0.25.0-cp39-abi3-manylinux_2_28_x86_64.whl CPython 3.9 abi3 Linux glibc 2.28+ x86-64 Details
labwired-0.25.0-cp39-abi3-manylinux_2_28_aarch64.whl CPython 3.9 abi3 Linux glibc 2.28+ ARM64 Details
labwired-0.25.0-cp39-abi3-macosx_11_0_arm64.whl CPython 3.9 abi3 macOS 11.0+ ARM64 Details
labwired-0.25.0-cp39-abi3-macosx_10_12_x86_64.whl CPython 3.9 abi3 macOS 10.12+ x86-64 Details

Total release size: 61.1 MB

Release files / labwired-0.25.0.tar.gz

Download URL labwired-0.25.0.tar.gz
Size 12.7 MB
Tags Source
SHA-256 checksum
How to use checksums
b4c3a60ea46a1e5053c7727a159c48c598be9766e3a349276adc55b28056f497
BLAKE2b-256 checksum
How to use checksums
17856811b7f648d8b90821d60f05cc39cea74baf9653f7e18da4c6225665896f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 27, 2026.

Transparency log

Release files / labwired-0.25.0-cp39-abi3-win_amd64.whl

Download URL labwired-0.25.0-cp39-abi3-win_amd64.whl
Size 9.6 MB
Tags CPython 3.9 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
88bcb0a710d528587ec24be3cffa753332f69fa2a291aa453988a92102159938
BLAKE2b-256 checksum
How to use checksums
2ad540b76560d6c9510d6395ffc5b5a44154facd8f66c2aa02b62e3f2d2427c1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 27, 2026.

Transparency log

Release files / labwired-0.25.0-cp39-abi3-manylinux_2_28_x86_64.whl

Download URL labwired-0.25.0-cp39-abi3-manylinux_2_28_x86_64.whl
Size 10.0 MB
Tags CPython 3.9 Linux glibc 2.28+ x86-64 abi3
SHA-256 checksum
How to use checksums
af16664e817becff4bca9c4915cf1ca2df9efa3e97d044f7a33c654244567e71
BLAKE2b-256 checksum
How to use checksums
e57a782c63654005b0b0181ed07142bd3efbf072e48e66cf1117aec71b7374d4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 27, 2026.

Transparency log

Release files / labwired-0.25.0-cp39-abi3-manylinux_2_28_aarch64.whl

Download URL labwired-0.25.0-cp39-abi3-manylinux_2_28_aarch64.whl
Size 9.7 MB
Tags CPython 3.9 Linux glibc 2.28+ ARM64 abi3
SHA-256 checksum
How to use checksums
a6f1c8604f6360e9d132a5e2e5fcf61e3e24a2605e0c9e82c8f9720ef025d4cc
BLAKE2b-256 checksum
How to use checksums
50ccc5860b8fb1055416f1e770757aba81fda78b6dc02c6c96f899c509d3118c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 27, 2026.

Transparency log

Release files / labwired-0.25.0-cp39-abi3-macosx_11_0_arm64.whl

Download URL labwired-0.25.0-cp39-abi3-macosx_11_0_arm64.whl
Size 9.4 MB
Tags CPython 3.9 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
83d6a1fb6335875454e8cfdc4df0a9486447e0ce860c5e6dcc97597c0b87a7d2
BLAKE2b-256 checksum
How to use checksums
3d5e39adc313978d3321d95979979eb09369726aa246872cd42e11f46c929fd0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 27, 2026.

Transparency log

Release files / labwired-0.25.0-cp39-abi3-macosx_10_12_x86_64.whl

Download URL labwired-0.25.0-cp39-abi3-macosx_10_12_x86_64.whl
Size 9.6 MB
Tags CPython 3.9 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
3c224a70c58d802c29283b53b66b978b61b541415114d70c5d830e84cd65e033
BLAKE2b-256 checksum
How to use checksums
6815b3410ad794d7bdea6e44a4a9bcb21d5ae6c434dc461361102c73fb3b57dc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 27, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.25.0 This release

6 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page