-
Notifications
You must be signed in to change notification settings - Fork 42
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
Bringing out release 0.3.4 #49
Comments
@repagh I'm adding you a maintainer on the conda forge feedstock: conda-forge/slycot-feedstock#12 |
Thanks Jason. Any objections if we merge this? Next week my students are starting control classes, and having slycot in conda-forge would so much simplify the install instructions.... |
No problem on my end. Go for it! |
I am a regular member, not maintainer. Turns out I cannot add @moorepants. |
I've merged the 3 outstanding PRs. I think conda-forge looks at PyPI for package sources, so we not only need a tag, but a PyPI upload. I think @repagh should have commit rights---I don't actually know how to check whether or not he does, but from the log I don't see any merges or commits to master made by him, so I guess he doesn't. I also support giving @moorepants commit rights. I don't think I can make changes of this sort. |
I have a pull request on the conda-forge feedstock for this. That one temporarily used the branch from my repository to get the source, but I intend to change that to use source from the python-control github repository, using a tagged release, rather than making a detour over PyPi; In that way it is immediately clear where the source is coming from. |
This means that I still need a tag (v0.3.4) to complete the feedstock. |
OK, great. The remaining hold-up is release notes, see e.g. https://github.com/python-control/Slycot/releases/tag/v0.3.3. I'll try to do that this weekend; will post draft notes here. I assume we'll still eventually upload a source tarball to PyPI? |
I recommend releasing to PyPI and having conda forge pull from there. It helps to ensure people can actually install and build from the PyPi release being that the github tarball and the pypi tarballs are different. |
Also, the conda forge infrastructure checks pypi for updated packages and automatically create's PRs on the feedstock when pypi updates. |
proposed release notes below. I'm not very familiar with the system pencil terminology, please let me know if what i've written is nonsense. title: 0.3.4: added ag08bd, sb10jd, tg01ad, and tg01fd; switched to scikit-build. New featuresSupport for four SLICOT routines was added by Marcus Liljedahl. ag08bd Process system pencil to find multivariable zerosag08bd takes a system pencil (E,A,B,C,D) and returns a matrix pair (Af, Ef) which can be used to find the finite multivariable ("Smith") zeros. The orders of infinite zeros, right and left Kronecker indices, and multiplicities of infinite eigenvalues are also returned. sb10jd Convert descriptor to non-descriptor formsb10jd converts a descriptor state-space system (E,A,B,C,D) to a regular state-space system (Ad, Bd, Cd, Dd). tg01ad Balance system penciltg01ad balances system pencils (E,A,B,C,D), with D=0, such that the rows and columns of the resulting pencil are as close in norm as possible. tg01fd SVD-like coordinate form of system penciltg01fd finds the orthogonal transformation matrices for a system pencil (E,A,B,C,D), with D=0, such that the result is in SVD-like coordinate form. BuildRene van Paassen switched the build over to scikit-build, which allows for flang to be used to build SLICOT on Windows, and improves the build output for developers. TestingPython 3.7 was added to the Travis CI build set. The tests no longer use the deprecated np.matrix type. Added a regression test for #6, for td04ad. Pull requests and issues associated with the releasePRs merged: #32, #34, #36, #38, #43, #45, #51, #52, #53, #56, #57 |
Looks good. Then again, I mostly use physical pencils.... |
I'm afraid I didn't realize there was a bit more to releasing; it looks like setup.py must be edited. I've deleted v0.3.4 for now. I assume the idea is to have a release branch. |
If it helps, the workflow for a release for python-control is here: https://github.com/python-control/python-control/wiki/Release-instructions |
What happened? I thought I had tweaked setup.py to take the version information from git. If that does not work -- e.g., because the source is tarballed --, it assumes the default hardcoded version (currently 0.3.3, so that must be updated). |
From what I can tell, the tests fail because there's no `--long` in the
git-describe command. Besides that, the hard-coded version is 0.3.3 (I'm
less sure of that - somehow 0.3.4 appears in version.py).
Tried to fix these, but got a fail I haven't been able to debug yet, see
https://travis-ci.org/roryyorke/Slycot/builds/523641527
…On Wed, 24 Apr 2019, 09:25 Rene van Paassen ***@***.***> wrote:
What happened? I thought I had tweaked setup.py to take the version
information from git. If that does not work -- e.g., because the source is
tarballed --, it assumes the default hardcoded version (currently 0.3.3, so
that must be updated).
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
<#49 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAA3C7UAUG6VQDUFBJCWBALPSADNPANCNFSM4G67GYDQ>
.
|
If I try "git archive", I get this error when running setup.py in the unpacked archive:
Do we want "python setup.py sdist" to work? It seems not to; only some files are packaged. |
@murrayrm, thanks for the pointer to the release instructions, they are helpful Remaining tasks:
|
@roryyorke Updates on my end:
|
I just checked the master branch on slycot and it appears that there is no v0.3.4 tag. I think this means that if I generate a version on PyPI that it will be tagged as I haven't been following things closely, so don't want to tag things until someone says it is OK. Let me know (or just do it). What is required is the following (from the python-control release notes):
I'm fairly sure that has to be done in the master branch of the repository itself (not as a PR). |
Great, thank you. I was waiting to find out about MacOS builds before
tagging.
…On Thu, 02 May 2019, 02:55 Richard Murray ***@***.***> wrote:
I just checked the master branch on slycot and it appears that there is no
v0.3.4 tag. I think this means that if I generate a version on PyPI that it
will be tagged as slycot-0.3.3.51, which is not what we want (I think).
I haven't been following things closely, so don't want to tag things until
someone says it is OK. Let me know (or just do it). What is required is the
following (from the python-control release notes):
git tag -a x.y.z -m "python-control version x.y.z"
git push --tags
I'm fairly sure that has to be done in the master branch of the repository
itself (not as a PR).
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#49 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAA3C7UOAT2BAUEVNKKTVNTPTI3WTANCNFSM4G67GYDQ>
.
|
@roryyorke Looks like the tag went through. The version is 0.3.4.0 (rather than 0.3.4). The SHA256 hash is |
I didn't think about the fourth part of the version number. It's used in the CI and other non-release builds to give the "git commit distance" from the major-minor-patch version. It looks like the python versioning scheme (PEP 440, see https://www.python.org/dev/peps/pep-0440/#id24) allows an arbitrary number of version parts, but more than 3 parts is unusual. If we need or want a 3-part version number, we can probably still delete the tag and recreate it, or jump straight to 0.3.5 (with no .0). I'm not sure what that hash you've given is -- it's not a git object ID. If I do "python setup.py sdist", the tar.gz file I get has a sha256sum of |
I pulled the SHA256 hash from PyPI, which is what is supposedly needed for conda-forge. |
Don't delete the tag. Good rule of thumb is to never delete a tag (or commit) once pushed beyond your personal computer. If you want to make a new release just make it |
If it's all working, it's probably not necessary for another tag. I see the 0.3.4 packages at https://anaconda.org/conda-forge/slycot/files, but I've just sent the announcement mail, so 0.3.4 is done. If the extra .0 is a problem, please open another issue, and we can release 0.3.5. |
Yes, I should have written |
I have been looking a bit into getting a windows-also build in conda-forge. To do that cleanly, we need to bring out a new slycot release.
Would it be an option to simply tag v0.3.4, or do we need to merge/fix other issues first?
The text was updated successfully, but these errors were encountered: