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

Update version (+ on pip / Anaconda) #277

Closed
asross opened this issue Feb 28, 2022 · 8 comments · Fixed by #278
Closed

Update version (+ on pip / Anaconda) #277

asross opened this issue Feb 28, 2022 · 8 comments · Fixed by #278

Comments

@asross
Copy link
Contributor

asross commented Feb 28, 2022

I've gotten some requests to have the newest version of pyqg that supports parameterizations installable via pip / conda. Any chance we could tag and upload a new version?

@rabernat
Copy link
Member

Hi @asross! Yes this is a good idea. Unfortunately it is not as easy as it should be - see #255.

If you would like to take the lead on the release, please be my guest. I have added you to the maintainers group @pyqg/pyqg_devs.

@asross
Copy link
Contributor Author

asross commented Mar 1, 2022

Awesome. I should warn that I haven't done too much package publishing in Python (mostly Ruby/JS), so migrating from versioneer to setuptools_scm might be a bit tricky -- especially in a way that doesn't break cython or (F)FFTs. So if there is some way to go through the existing release procedure without that overhaul, that would be great. But I'll look into it if not!

@rabernat
Copy link
Member

rabernat commented Mar 2, 2022

For now it is possible to do the release manually. Instructions are here: https://pyqg.readthedocs.io/en/latest/development.html#release-procedure

@asross
Copy link
Contributor Author

asross commented Mar 3, 2022

Sorry for the slow progress on this -- the first thing I noticed was that the release instructions haven't been updated since versioneer was added, so the way to increment the version number now seems to be to just add the new git tag (v0.5.0) to the appropriate commit (and versioneer appears to be able to automatically infer the version number from the tag?).

The second thing I noticed, however, was that master currently contains some of my changes to calc_ispec (merged after the parameterization PR merge) which, per #275, now seem incorrect. So I was thinking of trying to resolve those first before incrementing the version. However, figuring out the right normalization factor has proved kind of tricky.

My pyqg plan now is to instead:

  • assign the 0.5.0 tag to https://github.com/pyqg/pyqg/tree/00990ba51c85c9c2ad3b066ef166154c27ca70bf (when the parameterization PR was merged)
  • run through the rest of the release process (i.e. pypi sdist, assuming you adding me to the maintainers group on Github gave me permission to update pypi)
  • create a separate PR to update the release instructions and whats-new.rst
  • hopefully move on to figuring out calc_ispec normalization and getting that merged (then updating to 0.5.1)
  • hopefully move on from there to creating some additional PRs with diagnostics refactors/units and new features :)

@rabernat
Copy link
Member

rabernat commented Mar 3, 2022

Sounds like a great plan @asross! Let me know if you get blocked on anything.

I just added you as an owner on pypi for pyqg.

@asross
Copy link
Contributor Author

asross commented Mar 3, 2022

Unfortunately, getting the new package to work requires first resolving #216, which so far has resisted a number of attempts.

I'm leaning towards removing Versioneer and reverting to the older, much simpler build process that requires manually setting the version string, if that's ok. The only thing Versioneer provides is automatic association of tags and version numbers, which doesn't seem worth the difficulty.

@rabernat
Copy link
Member

rabernat commented Mar 3, 2022

Yes that is fine with me. Versioneer is unmaintained.

Setuptools_scm is the preferred solution these days.

@asross
Copy link
Contributor Author

asross commented Mar 5, 2022

Making progress on this, albeit slowly -- #278 is mostly there (modulo fixing the docs and CI), but we've got some decisions to make about whether pyfftw should be the default.

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

Successfully merging a pull request may close this issue.

2 participants