patchworklib
patchworklib copied to clipboard
Use GitHub Actions to publish releases to PyPI for complete git tags
Thanks for making frequent releases of this package, as seen on PyPI. Noting that there are only two git tags currently. Therefore it's hard to know which commits have made it into which releases.
Have you using GitHub Actions to deploy to PyPI? This way whenever you create a release on GitHub at https://github.com/ponnhide/patchworklib/releases/new, it will automatically be deployed to PyPI. You'll get the git tag automatically. Also you can put release notes on the GitHub Release (rather than in the readme).
An example workflow to do this at https://github.com/manubot/manubot/blob/a2ba5780fbbdef9dfc063180b98e6dea500aec48/.github/workflows/release.yml.
Happy to help with this if you're interested! Just found this package and excited for something that can combine python plots!
Thank you for your valuable advice. Actually, I'm an amateur open source software developer, so I don't know the regular style to manage this kind of project well... However, I recognize that managing the release versions is important to make users understand the functions and updates of this project and I'm looking for the proper style.
I will check the example workflow you mentioned. Thank you for your kindness.
I'm an amateur open source software developer
I doubt this will be the case for long... was quite impressed by the functionality on the package for combining several plotnine figures!
I recognize that managing the release versions is important
Yes the main things here are the convenience of having git be aware of the releases, so users can see which commits are in which releases and automating deployment to PyPI such that it's an easier process (that can happen entirely on GitHub).
I'm happy to help or to review any pull requests, just let me know!
@ponnhide if I may add some recommendations here:
- Always create a new git tag for new releases.
E.g. bumpversion or versioneer can help you a lot. This is also relevant if you want to get
patchworklibautomatically published on conda-forge as well. - Implement your example code as e.g.
pytesttests. This saves you enormous amounts of time since you do not have to manually try out every change. - Always push a source package to PyPI as well.
(
python setup.py sdist bdist_wheel && twine upload dist/<package>-<version>-py3-none-any.whl dist/<package>-<version>.tar.gz) Of course, automatic deployment with e.g. github-actions would do this for you.