Migrating from Legacy Systems

Alternatives à Flojoy Studio pour le test

Où en est Flojoy Studio aujourd'hui, et comment migrer ses séquences pytest et Python vers une plateforme maintenue comme TofuPilot.

JJulien Buteau
intermediate7 min de lecture9 novembre 2026

Flojoy Studio is an open-source test sequencer for hardware validation, released under the MIT license by Flojoy, a startup founded in 2023. It imports pytest, Python and Robot Framework scripts into a sequence, offers a no-code block builder, and syncs results to Flojoy Cloud. Development has stopped: this guide summarizes the project's current state and compares the options for teams that still run Flojoy sequences.

Status was checked against the GitHub repositories and the project's domains in November 2026.

Current Status of Flojoy Studio

ItemState
Latest releasev0.4.3, 2024-11-24
Last commit on main2024-11-24
RepositoryNot archived, no deprecation notice
Flojoy Cloud repositoryLast push 2024-07-06
Successor projectflojoy-ai/studiolab, "next-generation Flojoy Studio", last push 2025-03, no release
flojoy.aiServes a domain parking page
docs.flojoy.aiStill online as a static site

No shutdown announcement was published, but two years without a release, a dormant cloud backend and a parked company domain mean the tool receives no fixes, no security updates and no support. A test station is expected to run for years, so this is the main reason to plan a move.

What Flojoy Studio Provided

  • Sequencer. Imports existing pytest, Python or Robot Framework scripts; each pytest test becomes a row in the sequence.
  • No-code builder. Visual blocks wired together, with custom blocks written in Python using the @flojoy decorator.
  • Operator view. A desktop GUI (Electron) showing pass or fail per sequence step.
  • Instrument database. Documented connections to NI, Tektronix and other instruments.
  • Flojoy Cloud. Optional result sync with a part-number hierarchy, barcode search, per-station run views and SPC charts.

Fleet management and deployment of sequences to stations were not documented.

Alternatives Compared

Flojoy StudioTofuPilotOpenHTFHardPyOpenTAP
MaintainedNo (last release 2024)YesYesYesYes (Keysight)
LicenseMITMIT (Framework)Apache 2.0GPL-3.0MPL 2.0
Runs pytest scripts as isYesYesNoPartly (HardPy API)No
Runs Robot Framework suitesYesYesNoNoNo
Language for new testsPython, blocksPython and YAMLPythonPythonC#
Operator UIDesktop appBrowser kiosk, declared in YAMLWeb Station ServerBrowser panelDesktop editor and panel
Result analyticsFlojoy Cloud (dormant)Dashboard, hosted or self-hostedNone built inStandCloud (paid)Desktop tools (paid edition)
Deploy to stationsNot documentedGit push, instant rollbackManualManualDeployment license

Moving Flojoy Sequences to TofuPilot

Most Flojoy sequences are pytest or Python scripts imported into the sequencer, and those scripts are the asset to keep. The TofuPilot CLI runs pytest and Robot Framework suites natively and streams each test as a phase to the dashboard.

Step 1: Recover the Scripts

Export the pytest, Python and Robot Framework files the sequence references. Blocks from the no-code builder have no equivalent and are rewritten as Python; custom blocks are already Python functions and port with little change.

Step 2: Run Them Through the TofuPilot CLI

A pytest file runs unchanged. Record values with limits so they reach the dashboard as measurements, not only as a pass or fail:

tests/test_power.py
# Plain pytest test; the TofuPilot CLI maps each test to a phase.def test_rail_3v3(dmm):    voltage = dmm.read_voltage()    assert 3.2 <= voltage <= 3.4

See pytest on TofuPilot and Robot Framework on TofuPilot for the measurement helpers that keep limits and units on each value.

Step 3: Rewrite Block Sequences as a Procedure

For sequences built from blocks, the TofuPilot Framework is the closest replacement: the sequence and limits go in YAML, each step is a Python function.

procedure.yaml
19 lines
name: Power Checkversion: 1.0.0plugs:  - name: Multimeter    key: dmm    python: plugs.dmm:Multimetermain:  - name: Rail 3V3    key: rail_3v3    python: phases.rail_3v3    measurements:      - name: Rail 3V3        key: rail_3v3        unit: V        validators:          - {operator: ">=", expected_value: 3.2}          - {operator: "<=", expected_value: 3.4}
phases/rail_3v3.py
def rail_3v3(measurements, dmm):    measurements.rail_3v3 = dmm.read_voltage()

Step 4: Deploy to the Stations

Push the repository to your Git provider and create a procedure from it. Every station linked to the procedure runs the same version, and a bad version is rolled back from the dashboard.

Which Alternative to Choose

SituationBetter fit
Sequences are mostly pytest or Robot Framework scriptsTofuPilot (runs both natively)
You used Flojoy Cloud for SPC and traceabilityTofuPilot (dashboard replaces it)
You want a single pure-Python framework with a long historyOpenHTF
You want pytest plus a simple operator panel on one benchHardPy
.NET team with Keysight instrumentsOpenTAP

For a broader comparison, see Open Source Test Executive Alternatives.

Plus de guides

Mettez ce guide en pratique