Skip to content

Feature/studio - #45

Merged
StephenSmith25 merged 3 commits into
masterfrom
feature/studio
Nov 14, 2026
Merged

StephenSmith25 merged 3 commits into
masterfrom
feature/studio

Conversation

@StephenSmith25

Copy link
Copy Markdown
Owner

No description provided.

`pythonfmu3 studio [folder]` opens a browser app with four views:

- Editor: edit a model script; on save it is loaded and checked, with a
  drawing of the FMU block, the generated modelDescription.xml, a
  variables table, and checks for common mistakes (missing time variable,
  inputs/parameters without a setter, continuous integers, leading
  underscores, ignored class-level metadata). Build FMU and Validate
  (fmusim when installed).
- Simulate: Python preview (do_step, or RK4 with event location for
  Model Exchange), fmusim or FMPy; sliders for parameters and inputs with
  live re-run, plots with hover read-out, CSV download.
- Inspector: drop any FMI 2.0/3.0 FMU to see its details, platforms,
  capabilities and variables, plus validation.
- Templates: PID, bouncing ball, Van der Pol, Dahlquist, thermostat,
  polynomial surrogate and signal generator.

No new dependencies: a stdlib ThreadingHTTPServer on 127.0.0.1 with a
plain-JavaScript front end. API calls need a per-run token and a loopback
Host header, paths are confined to the workspace, and model code runs in
a fresh worker process per request.

Also: docs/studio.md (+ nav and README), MANIFEST entries for the static
files and templates, tests for the worker and the HTTP API, and
test_builder only expects top-level modules to be embedded in FMUs.
Add installation (PyPI and editable source installs in a virtual
environment), building the native library, starting the Studio, optional
tools (fmusim, FMPy), a table of the editor checks, simulator details,
the template list, command-line options, security notes and a
troubleshooting section, with screenshots of each view.
- Version 1.1.0
- Changelog: 1.1.0 section (Studio, pipe CHT example, migration guide);
  date the 1.0.0 section
- Package the Studio's static files and templates (pyproject package-data)
- Link the Studio docs from the docs home page
- test_example_pipe_cht: load the binary for this platform, since FMUs
  built from a source tree can hold binaries for several platforms
@StephenSmith25
StephenSmith25 merged commit a90a693 into master Nov 14, 2026
15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant