Skip to main content

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

This project has been archived.

The maintainers of this project have marked this project as archived. No new releases are expected.

Project description

flashbay

Python SDK for flashbay — remote access to MCU development boards.

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

Install

pip install flashbay

Quick start

from flashbay import Client

client = Client()

with client.session(board="esp32s3") 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 flashbay 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 flashbay 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 flashbay_board fixture via CLI options:

pytest --flashbay-board esp32s3 --flashbay-firmware build/app.bin tests/hil/

Authentication

Set your API key via environment variable:

export FLASHBAY_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

flashbay-0.1.2.tar.gz (9.3 kB view details)

Uploaded Source

Built Distribution

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

flashbay-0.1.2-py3-none-any.whl (10.4 kB view details)

Uploaded Python 3

File details

Details for the file flashbay-0.1.2.tar.gz.

File metadata

  • Download URL: flashbay-0.1.2.tar.gz
  • Upload date:
  • Size: 9.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for flashbay-0.1.2.tar.gz
Algorithm Hash digest
SHA256 1260450e517eafbad47c0f777b54d9b8fdbeb02806fab638b62c8ccd68bcdeda
MD5 8494e793b121fce482462599f742cba4
BLAKE2b-256 7fade67c1d0b9801d0353eff807568e026a6043eef451cb941314a157262f346

See more details on using hashes here.

Provenance

The following attestation bundles were made for flashbay-0.1.2.tar.gz:

Publisher: publish.yml on flashbay-dev/fbay-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 flashbay-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: flashbay-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 10.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for flashbay-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 fe258d3ab47e944b3caebf0b43f54bbfe98a440fdf25c072b02f2a7630d44dec
MD5 8caa16f7cd9f66c9b47e70d0712628b0
BLAKE2b-256 dcbe540b8cb2637586febc63757734d64a6d79bd3d2123b1363bb019da6a988d

See more details on using hashes here.

Provenance

The following attestation bundles were made for flashbay-0.1.2-py3-none-any.whl:

Publisher: publish.yml on flashbay-dev/fbay-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