Skip to main content

Python SDK and pytest fixtures for siliconrig hardware-in-the-loop testing

Project description

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

Project details


Download files

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

Source Distribution

siliconrig-0.2.2.tar.gz (10.3 kB view details)

Uploaded Source

Built Distribution

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

siliconrig-0.2.2-py3-none-any.whl (11.0 kB view details)

Uploaded Python 3

File details

Details for the file siliconrig-0.2.2.tar.gz.

File metadata

  • Download URL: siliconrig-0.2.2.tar.gz
  • Upload date:
  • Size: 10.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for siliconrig-0.2.2.tar.gz
Algorithm Hash digest
SHA256 be71f3ef9bd94068c7ae78bda1cf6e79a42280a0d6636988ecd88c9f3b0cde5e
MD5 428a6b2d3c05135f2728a27d755b31ae
BLAKE2b-256 28880cbb484f09b75b9b636085ec3893fab15a061cea9254a4c0a020e4fbf166

See more details on using hashes here.

Provenance

The following attestation bundles were made for siliconrig-0.2.2.tar.gz:

Publisher: publish.yml on siliconrig/srig-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 siliconrig-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: siliconrig-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 11.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for siliconrig-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 37782f77e509881b55577c88cb595f422dbaca5e9ac0e1f53c3267d883a85a08
MD5 b9887ad41177a5eca8668d2d5a0ea66a
BLAKE2b-256 c43b627103f15ab9ba33901e9425653f11251e46c06bb8c64d2220687baa0412

See more details on using hashes here.

Provenance

The following attestation bundles were made for siliconrig-0.2.2-py3-none-any.whl:

Publisher: publish.yml on siliconrig/srig-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 Pingdom Monitoring Sentry Error logging StatusPage Status page