Station runtime
The Embeint HTF station package is the Python runtime that drives programmers and DUTs. It executes stages, listens for commands, and reports results to an HTF server. The current release is v0.3.1, available on PyPI, and requires Python 3.14 or later. The examples remain pinned to v0.3.0; v0.3.1 adds optional firmware filename patterns with the same MQTT contract and server requirements. HTF v0.1.5 requires no station update.
For your own uv-managed station application, pin the dependency with uv add 'embeint-htf-station==0.3.0'. The first-run sample uses the matching released repository checkout.
A station has three parts
- Identity and connection: the station ID, organisation ID, MQTT endpoint, and station credentials.
- Run plan: YAML that names stages, hardware adapters, and stage settings.
- Runtime: Python code that loads the plan, registers any custom stages, and runs once or listens for commands.
Start with the basic station sample. Then read Configuration for a hardware plan, Multiple lanes for a jig with several programmers, and Custom stages when your jig needs product-specific logic.
The station repository also includes programming, validation, and multi-programmer examples. Pin a released station package version for production and test a plan on a bench before rolling it out to a line.
New in v0.3.0
- Capture DUT values to retain structured identifiers and measurements alongside stage results.
- Validate configuration without connecting to MQTT or running hardware.
- Upgrade a station with explicit runtime interpolation, declared secret dependencies, and persistent report storage.
See the changelog for the paired HTF application release.