Skip to content

Conversation

@syntron
Copy link
Contributor

@syntron syntron commented Nov 26, 2025

based on top of PR #381

  • rename OMCProcess* classes to OMCSession* classes
  • rename omc_process to session
  • cleanup docstrings

@adeas31
Copy link
Member

adeas31 commented Dec 1, 2025

We added OMCProcess* classes in 4.0.0 and then renaming it to OMCSession* classes in a sub-release doesn't sound like a good idea. I thought the refactoring was mostly targeted for 5.0.0

@syntron
Copy link
Contributor Author

syntron commented Dec 1, 2025

@adeas31 you have a good point here; however, I think that this change should be added to 4.1.0 as an update of the changes done in 4.0.0. Reasoning: I never planned to make it more complicated for the users (2 types of classese to handle). However, at the time for 4.0.0 I had no idea how the two tasks: (1) setup connection to OMC and (2) provide the interface via sendExpression() could be implemented in one class. Here, we have a solution via the __post_init__() functionality.

Again, I would like to see this as an update to the changes in 4.0.0 with the main changes (removing of compatibility layers) to be done in 5.0.0. This also takes into account, that I expect that the amount of updates will go down in the next weeks / months and thus it could be a longer time till a version 5. OMPython now has a quite good code base!

@casella
Copy link

casella commented Dec 2, 2025

If we stick to semver, minor releases should not change the interfaces, that's reserved for major releases (5.0.0 in this case).

@adeas31
Copy link
Member

adeas31 commented Dec 2, 2025

If we stick to semver, minor releases should not change the interfaces, that's reserved for major releases (5.0.0 in this case).

I agree.

@adeas31 you have a good point here; however, I think that this change should be added to 4.1.0 as an update of the changes done in 4.0.0. Reasoning: I never planned to make it more complicated for the users (2 types of classese to handle). However, at the time for 4.0.0 I had no idea how the two tasks: (1) setup connection to OMC and (2) provide the interface via sendExpression() could be implemented in one class. Here, we have a solution via the post_init() functionality.

I understand but we did what we thought was best, unfortunately that ended up as extra work for users.

Again, I would like to see this as an update to the changes in 4.0.0 with the main changes (removing of compatibility layers) to be done in 5.0.0. This also takes into account, that I expect that the amount of updates will go down in the next weeks / months and thus it could be a longer time till a version 5. OMPython now has a quite good code base!

We can release 4.1.0 with minimum changes/fixes. As soon as 4.1.0 is release we can start with renaming/restructuring of interfaces which can go in release 5.0.0. And this means that the removal of compatibility layers can go in 6.0.0.

@syntron
Copy link
Contributor Author

syntron commented Dec 2, 2025

@casella I understand your reasoning and will check if I find a solution which keeps the (public) interface stable

However, some changes after 4.0.0 changes the public interface in relevant ways:

Especially the last one is a major change of the interface; here, I did not account for the users of OMPython which rely on a stable interface but pushed for updated code. If taking semver seriosly, this alone would require a version 5.0.0 :-(

@adeas31
Copy link
Member

adeas31 commented Dec 15, 2025

PR #350 already changes the interface (see my comment: #350 (review)).

One solution is to go directly for 5.0.0 and skip 4.1.0 altogether to stay consistent with semver. What do you think?

@syntron
Copy link
Contributor Author

syntron commented Dec 15, 2025

I'm fine with any of these options; going for 5.0.0. would make life easier as I do not have to keep track of some changes locally ...

@github-project-automation github-project-automation bot moved this from Backlog to Ready in OMPython Release 5.0.0 plan Dec 16, 2025
@adeas31 adeas31 enabled auto-merge (squash) December 16, 2025 14:29
@adeas31 adeas31 merged commit f9e6304 into OpenModelica:master Dec 16, 2025
21 of 27 checks passed
@syntron syntron deleted the OMCSession_renames branch December 16, 2025 20:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants