awesome tips as always, Arjan! there's a very similar action to what you're doing in the 'extract tag and details' step: builder555/simple-semver it grabs the last commit that was tagged with v3.5.0 (or whatever that version was) and returns new version based on commits since then, so if you had 1 minor and 1 patch update since, it would output 3.6.1
Thank-you very much for this Arjan, really useful. If possible could you do a video on a sensible devops approach to binary releases for Windows, MacOS, Linux with code signing? (eg. python gui app)
Great guide! I recently started using Commitizen for release management in my projects. It automatically determines the next version number and generates a changelog based on the commit history. Do you have experience with tools like this? I'd love to hear your thoughts on them!
Third time I re-watch. Github actions and yaml are new to me. What file and dir structure do I need to put my code to make this work? 14:14 I see a src/ and a moneysnake/ what's inside those? Where does the package py files go?
Arjan this is exactly what I'm working on right now, couldn't have come at a better time. The Bragir project repo answered for me exactly my question: how are you bumping your pyproject.toml file during release, but I see you have a special commit and auto-PR process to do that. Thank you!!
💡 Learn how to design great software in 7 steps: arjan.codes/designguide.
Just needed to publish an internal package to our Nexus server. Thank you so much :D
Thank you. Requested this ages ago and great to see
Hope you enjoyed it!
Can you please show how to ship projects using uv & github actions via building simple package along with testing?
This was awesome! I'd love to see the approach you would take to incorporate TestPyPI.
awesome tips as always, Arjan!
there's a very similar action to what you're doing in the 'extract tag and details' step: builder555/simple-semver it grabs the last commit that was tagged with v3.5.0 (or whatever that version was) and returns new version based on commits since then, so if you had 1 minor and 1 patch update since, it would output 3.6.1
Thank-you very much for this Arjan, really useful. If possible could you do a video on a sensible devops approach to binary releases for Windows, MacOS, Linux with code signing? (eg. python gui app)
Upvote for the homebrew blogpost.
I literally just set up all of this for private packages about a month ago. Wish this would have been available as a starting point.
Have you looked into Hatch? Would be good to see you do video similar to this using hatch and uv and ruff
Thank you sir! Quality..
Great guide! I recently started using Commitizen for release management in my projects. It automatically determines the next version number and generates a changelog based on the commit history. Do you have experience with tools like this? I'd love to hear your thoughts on them!
I switched from poetry to uv. Have you tried it for your projects?
Yes! Working on a full video about it at the moment.
yessir
uv is sucha great tool
This is gold! Thank you!
Glad you enjoyed it!
Third time I re-watch. Github actions and yaml are new to me. What file and dir structure do I need to put my code to make this work? 14:14 I see a src/ and a moneysnake/ what's inside those? Where does the package py files go?
Thanks
This is great. I always struggle with GitHub Action syntax. Is there a guide for this?
Great!
You’re welcome!
Superuseful!
Glad it was helpful!
@arjancodes shouldn't you escape the dots in tags regexes? Now it would match 123a2b00
Arjan this is exactly what I'm working on right now, couldn't have come at a better time. The Bragir project repo answered for me exactly my question: how are you bumping your pyproject.toml file during release, but I see you have a special commit and auto-PR process to do that.
Thank you!!
You mentioned homebrew but I'd also like to see nix.
Just one little thing… PyPI is pronounced ”pie pea eye”. In fact ”pie pie” would be PyPy, so that’s different. 😊