Skip to main content

siliconrig

Python SDK for siliconrig — remote access to real embedded boards.

Use it in scripts, automation, or as a pytest plugin for hardware-in-the-loop testing.

Install

pip install siliconrig

Quick start

from siliconrig import Client

client = Client()

with client.session(board="esp32-s3") as session:
    session.flash("firmware.bin")
    session.serial.expect("Ready", timeout=10)
    session.serial.send("status\n")
    print(session.serial.read_until("OK", timeout=5))

Or use the Board shorthand:

from siliconrig import Board

with Board("esp32-s3", firmware="build/app.bin") as board:
    board.expect("System ready", timeout=5)
    board.send("gpio set 4 1\n")
    board.expect("GPIO4=HIGH", timeout=2)

pytest plugin

The package includes a pytest plugin that registers automatically. Use it with custom fixtures:

import pytest
from siliconrig import Board

@pytest.fixture
def board():
    with Board("esp32-s3", firmware="build/app.bin") as b:
        yield b

def test_boot_ok(board):
    assert board.expect("System ready", timeout=5)

Or use the built-in siliconrig_board fixture via CLI options:

pytest --siliconrig-board esp32-s3 --siliconrig-firmware build/app.bin tests/hil/

Authentication

Set your API key via environment variable:

export SRIG_API_KEY=key_...

Or pass it directly:

client = Client(api_key="key_...")

Documentation

Metadata

Release files for siliconrig 0.2.2

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

Source distribution (sdist)

Source distribution for siliconrig 0.2.2
File Size Uploaded
siliconrig-0.2.2.tar.gz 10.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for siliconrig 0.2.2
File Interpreter ABI Platform
siliconrig-0.2.2-py3-none-any.whl Python 3 none any Details

Total release size: 21.3 kB

Release files / siliconrig-0.2.2.tar.gz

Download URL siliconrig-0.2.2.tar.gz
Size 10.3 kB
Tags Source
SHA-256 checksum
How to use checksums
be71f3ef9bd94068c7ae78bda1cf6e79a42280a0d6636988ecd88c9f3b0cde5e
BLAKE2b-256 checksum
How to use checksums
28880cbb484f09b75b9b636085ec3893fab15a061cea9254a4c0a020e4fbf166
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 7, 2026.

Transparency log

Release files / siliconrig-0.2.2-py3-none-any.whl

Download URL siliconrig-0.2.2-py3-none-any.whl
Size 11.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
37782f77e509881b55577c88cb595f422dbaca5e9ac0e1f53c3267d883a85a08
BLAKE2b-256 checksum
How to use checksums
c43b627103f15ab9ba33901e9425653f11251e46c06bb8c64d2220687baa0412
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 7, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.2 This release

2 release files

0.2.1

2 release files

0.2.0

2 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