Skip to content

Merge eis into main, as prep for release 0.4.0#22

Open
ClaasRostock wants to merge 25 commits intomainfrom
eis
Open

Merge eis into main, as prep for release 0.4.0#22
ClaasRostock wants to merge 25 commits intomainfrom
eis

Conversation

@ClaasRostock
Copy link
Collaborator

Merge eis into main, in order to subsequently publish release 0.4.0

Changes since 0.3.2 summarized in CHANGELOG.md as per below:

Breaking Changes

  • src/component_model/utils/controls.py: Refactored Controls from a multi-variable container into per-variable Control objects with typed read/write access, and improved goal tracking so initial speed and acceleration are handled correctly when setting or changing goals.
  • src/component_model/utils/analysis.py: Reworked sine fitting by moving the sine_fit() function from component_model.analytic into component_model.utils.analysis and expanding it to fit offset sine waves, detect cycles from maxima, support cosine-like starts, and return offset, amplitude, angular frequency, phase, and a reference mid-time.

Resolved

  • Fixed coordinate transform handling for vectors pointing in the negative z-direction.

Changed

  • Relaxed range compatibility checks for units and promoted scipy from a test-only dependency to a runtime package dependency, aligning dependencies with actual package usage.
  • Cleaned up FMU test artifacts by removing generated FMU binaries from the examples folder, building FMUs into the test working directory instead, ignoring generated .dat files, and switching shared test fixtures to session scope.
  • Added or updated tests for the new controls behavior, sine fitting, transform handling, and FMU build workflow.
  • Included minor follow-up cleanup such as corrected example text typos, small README/docstring/formatting updates, and lockfile refreshes.

eisDNV and others added 25 commits February 4, 2026 10:42
…to "session", because "session" scoped fixtures gets called before "package" scoped fixtures.
…ackage dependencies, as scipy is used in the package code.
…ng of the `RW` Protocol class, to help understanding what the protocol is designed for and how it is expected to be used.
…aries in the repository. They get built automatically each time the unit tests are run.
…hange destination folder for the call to Model.build(), so that FMUs get built not in `/examples`but in `/tests/test_working_directory`.
@ClaasRostock ClaasRostock self-assigned this Mar 11, 2026
@ClaasRostock ClaasRostock requested a review from eisDNV March 11, 2026 19:16
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.

2 participants