Skip to content

Pyrite only: drop the Renode/C# backend; the sim binary is the simulator, Python orchestrates #56

Open

Description

@ShahriarAhnaf

The C# engine is halted and its release product (cli/) is retired, yet simantic.Sim, simantic.run() and the pytest plugin still default to backend="renode" (pythonnet + Simantic.Core), which can no longer even be fetched. The Rust paths are a second runner beside the sim binary: run_scenario builds its own request and rejects parts: (no peers), Sim(backend="rust") refuses multi-machine scenarios. Users who need peers, two machines, bridges or --record get either a dead engine or NotSupported.

Direction: the sim binary is the source of truth; pippy is a thin orchestration layer.

  • Remove the renode backend, the pythonnet/.NET loader, install_engine, the pythonnet dependency, --sim-backend.
  • run() → sim <MCU> run --elf …; run_scenario() and pytest test.yaml items → sim run --scenario … --record DIR, read the bundle.
  • Sim stays on the in-process pyrite engine (single machine, stepping); documented as such.
  • README/docs: the binary is the simulator; Python orchestrates.

Taking this up: Claude session, branch agent/pyrite-only-5b8e, 2026-10-27.

Activity

  1. ShahriarAhnaf commented on Oct 27, 2026

    @ShahriarAhnaf
    ContributorAuthor

    Status: partial (draft PR open, not merged)
    Changed: #55 (9b61b54)
    Measured: SIMANTIC_SIM=<sim 0.8.5> uv run pytest -q 175 passed / 12 skipped; run_scenario on a two-peer STM32H753 scenario: 9836 SysTick hits, identical to the binary; 4 sim-fixtures manifests pass through the plugin.
    Open: review + merge #55; port the examples-repo sample off Sim; byte-exact UART bytes from the record bundle.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions