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 :-(

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

Labels

None yet

Projects

Status: Backlog

Development

Successfully merging this pull request may close these issues.

3 participants