Release flow, uv, poe
- Adds poethepoet as a task runner to simplify common dev commands.
- Introduces uv and a uv.lock file for fast, reliable dependency management.
- Implements a GitHub Actions workflow to automatically publish to PyPI
This is a continuation of #86
Thank you for the PR! The changelog has not been updated, so here is a friendly reminder to check if you need to add an entry.
Can we have CI / packaging updates and internal restructuring split into two separate PRs to minimise any unintentional side effects?
What do you mean? There are two PRs. This one is based on #86, which is a minimal refactoring using the same build tools as before.
Ah I missed it! Jumped right into the diff, my bad 😅
OK I see where my confusion stems from - use cleanup as the base branch here!
OK I see where my confusion stems from - use
cleanupas the base branch here!
You can change this with the "edit" button on top of the PR @semohr (since I recently was looking for that button too.... I thought I mention it ;-)
Would you remind rebasing this on master?
To start with, I think it would be a good idea to copy/paste the same setup we use everywhere else (confuse has the most relevant one). Once we've got that in place, we can introduce uv - I specifically want to see what changes in comparison to our usual setup.
Would you remind rebasing this on
master?To start with, I think it would be a good idea to copy/paste the same setup we use everywhere else (
confusehas the most relevant one). Once we've got that in place, we can introduceuv- I specifically want to see what changes in comparison to our usual setup.
Ah ok, I finally read and actually understood that comment. So you want to use this repo's refactor as a test case for switching to uv everywhere, to then see the diff (kind of), thus a first step would be to set up the tooling here as we have it everywhere else first.
Ok, smart approach, @semohr do you want to set it up like that?
@JOJ0 I have seen this, just had not that much time recently.
Will hopefully have a look this weekend, I think we can cherry pick most things from here anyways. And just add a poetry lockfile. We use mostly the same setup just with uv instead of poetry here.
Codecov Report
:white_check_mark: All modified and coverable lines are covered by tests.
:white_check_mark: Project coverage is 93.26%. Comparing base (a602f02) to head (5bbb033).
Additional details and impacted files
@@ Coverage Diff @@
## master #87 +/- ##
=======================================
Coverage 93.26% 93.26%
=======================================
Files 16 16
Lines 817 817
Branches 118 118
=======================================
Hits 762 762
Misses 35 35
Partials 20 20
Ooh wonderful! I mentioned that I'd be willing to look into a uv conversion for beets, so this is great. We can test it out here and work out the bugs.
This should also be mostly ready. I do not like that we have to prefix every command with uv run in the workflows tho. Would be nice to have a platform independent way to activate the environment :/