Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add missing Python wrapper for SetCustomExcite #133

Closed
oberstet opened this issue Dec 16, 2023 · 6 comments
Closed

Add missing Python wrapper for SetCustomExcite #133

oberstet opened this issue Dec 16, 2023 · 6 comments

Comments

@oberstet
Copy link
Contributor

This is a follow up of #129, see comment #129 (comment)

@oberstet
Copy link
Contributor Author

oberstet commented Dec 16, 2023

alright, PR is here #134

2 questions:


is there a versioning policy?

I mean, yes, it seems to be "semver" .. but how exactly for dev versions?

./CMakeLists.txt:set(VERSION "v0.0.36")
./python/setup.py:  version = '0.0.36',

dev versions for semversioned packages usually use something like

23.1.1
23.1.1.dev1

either that, or with an additional v as prefix.

"official" Python docs:

https://peps.python.org/pep-0440/
https://packaging.python.org/en/latest/specifications/version-specifiers/#version-specifiers
https://packaging.python.org/en/latest/specifications/version-specifiers/#developmental-releases

further semver docs:

https://semver.org/


unfortunately, it seems there is an issue resulting from a recent commit on master (which I synched before creating this PR) leads to an issue

ahh, right;)

grafik

yeah, I figured this out just minutes ago and built with master CSXCAD - which does work.

however, I have not tested using Python code and custom function ... sorry, I don't have custom functions in the required syntax .. not example ..

@thliebig
Copy link
Owner

The version policy is surely up for debate as I never gave it much though.
Usually I release a version with a given number, currently 0.0.36 and then after a few more changes openEMS reports itself like this:
openEMS 64bit -- version v0.0.36-12-ge5db9de
which means 12 commits ahead of v0.0.36

But I'm not sure that this answers your question?

@oberstet
Copy link
Contributor Author

The version policy is surely up for debate as I never gave it much though.

ok, no problem, I understand.

however, from my perspective:

versioning policy is as important as CI/CD or APIs or documentation or LICENSE or etc

it is stuff beyond mere code, and it's crucial for a SW package that can be trusted and depended on

and it has many facets and questions related - which can be answered in different ways, but should be answered in my opinion.

again, I am not critizing .. just trying to get a clue about perspectives/interests


let me just give 1 example:

assuming there would be an argued/principled, and conscious decision for semver, even then semantic versioning is more than just a syntax rule.

for example, usually, the position of the changed digit signifies whether an interface break is part of the version or not. and this is for actual releases, not even talking dev versions.

e.g. moving from 0.36 to 0.37 would usually (likely) be read:

no binary breakage. (usually there is at least 3 digits for semver'ed packages ..)

so in the case of openEMS being partially native code, my binary executable is guaranteed to run without any change on my side. binary compatibility while upgrading *.so's

this requires specific care with headers and types with C++ in general, and templates specifically, and might be impossible in most cases. even plain old OO style C++ has no ABI. this is different from C. anyways, there are many details.

should that probably be another discussion at https://github.com/thliebig/openEMS-Project/discussions/ ?

@oberstet
Copy link
Contributor Author

But I'm not sure that this answers your question?

independent of the general question, my concrete question rgd this PR: do you want me to change either/both of C++/Python version in the PR, and if so, to what values?

@thliebig
Copy link
Owner

This PR/issue has nothing to do with any versioning issue/ideas for improvement...

@thliebig
Copy link
Owner

The PR is merged, thus I think this can be closed

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

No branches or pull requests

2 participants