Merged
Conversation
…c' will automatically install Python if not present).
…c' will automatically install Python if not present).
… readability and consistency across workflow files.
…act', for better readability and consistency across workflow files.
…rtifact', for better readability and consistency across workflow files.
…mly specify 'dist' as (file)name for the artifact uploaded (or downloaded, respectively), for consistency across workflow files.
…tep names, to better reflect the purpose of the step.
…tribution and wheels' (plural) in workflow step names.
…', for better readability and consistency across workflow files.
…tch:' in selected workflows to allow manual trigger of the workflow.
…hanged the "requires-python" field from ">= 3.11, < 3.15" to ">= 3.11". <br>
Detailed background and reasoning in this good yet long post by Henry Schreiner:
https://iscinumpy.dev/post/bound-version-constraints/#pinning-the-python-version-is-special <br>
TLDR: Placing an upper Python version constraint on a Python package causes more harm than it provides benefits.
The upper version constraint unnecessarily manifests incompatibility with future Python releases.
Removing the upper version constraint ensures the package remains installable as Python evolves.
In the majority of cases, the newer Python version will anyhow be backward-compatible. And in the rare case where your package would really not work with a newer Python version,
users can at least find a solution manually to resolve the conflict, e.g. by pinning your package to the last version compatible with the environment they install it in.
That way, we ensure it remains _possible_ for users to find a solution, instead of rendering it impossible forever.
…LLY` to `Temporal.EVENTUALLY`, and adapted a related docstring in src/sim_explorer/assertion.py, to make clearer the meaning of the STL `EVENTUALLY` operator.
…yright, in section [tool.pyright]
(Ref note in pyright [docs](https://github.com/microsoft/pylance-release/blob/main/docs/settings/python_analysis_exclude.md#default-behavior)).
…s branch into the maintenance-update branch. Unfortunately, these changes were committed to the eis branch after maintenance-updates were started (on the maintenance-update branch). This commit hindcast merges / reapplies those changes in the maintenance-update branch.
…fmu, reformatted MobileCrane.cases and crane_table.js5
… test_working_directory which get removed after every test.
…tuples when testing for memberships.
…d and, where necessary, improved the Json5 related code.
Collaborator
Author
|
@eisDNV |
eisDNV
approved these changes
Mar 26, 2026
Collaborator
eisDNV
left a comment
There was a problem hiding this comment.
A lot of changes. About time to get this back on main!
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Maintenance update, repaired tests, bumped version number to 0.3.0 (as preparation for release)
Resolved
import libcosimpy.CosimLibraryin__init__.pyon package root level. This to make sure the libcosimc dll gets loaded only once. This resolves a runtime error observed with libcosimpy. (Although the root bug is likely in libcosimpy; should be reviewed by the libcosimpy team).Added
codegen.pyin sub-packageutils, defining a helper functionget_callable_function():get_callable_function()executes compiled code in explicit namespaces, retrieves a named function, validates it is callable, and eventually returns the created function.Assertionin moduleassertion.pyto use the new helper functionget_callable_function(). That way, the code inAssertionno longer relies on mutatinglocals(), which is known to be unreliable and can cause hard-to-track side effects.tests/test_assertion.py.Removed
Changed
--extra testto the workflows running tests, as the test workflows will need these additional dependencies to run the FMUs in /tests/data/..Detailed background and reasoning in this good yet long post by Henry Schreiner:
https://iscinumpy.dev/post/bound-version-constraints/#pinning-the-python-version-is-special
TLDR: Placing an upper Python version constraint on a Python package causes more harm than it provides benefits.
The upper version constraint unnecessarily manifests incompatibility with future Python releases.
Removing the upper version constraint ensures the package remains installable as Python evolves.
In the majority of cases, the newer Python version will anyhow be backward-compatible. And in the rare case where your package would really not work with a newer Python version,
users can at least find a solution manually to resolve the conflict, e.g. by pinning your package to the last version compatible with the environment they install it in.
That way, we ensure it remains possible for users to find a solution, instead of rendering it impossible forever.
Tests
BouncingBall3D.fmuand related tests.MobileCrane.fmuand related tests.HarmonicOscillator.fmutests/data/SimpleTabletotests/data/TimeTableSimpleTable.fmuwithTimeTableFMU.fmu(in foldertests/data/TimeTable)pytestcommand line option--showfrom an input option (requesting the user to pass a literal value, e.g. write--show Trueor--show False) to a command line switch. This eases the usage of this additional command line option. The pytest fixtureshownow gets set toTrueby simply adding the switch--showon the commandline. No need anylonger to amend--showwith an additional string literalTrueorFalse. Passing the switch--showsets fixtureshowtoTrue; omitting it sets fixtureshowtoFalse.Dependencies