mediafile icon indicating copy to clipboard operation
mediafile copied to clipboard

Release flow, uv, poe

Open semohr opened this issue 1 month ago • 6 comments

  • 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

semohr avatar Oct 20 '25 15:10 semohr

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.

github-actions[bot] avatar Oct 20 '25 15:10 github-actions[bot]

Can we have CI / packaging updates and internal restructuring split into two separate PRs to minimise any unintentional side effects?

snejus avatar Oct 20 '25 23:10 snejus

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.

semohr avatar Oct 20 '25 23:10 semohr

Ah I missed it! Jumped right into the diff, my bad 😅

snejus avatar Oct 21 '25 07:10 snejus

OK I see where my confusion stems from - use cleanup as the base branch here!

snejus avatar Oct 25 '25 14:10 snejus

OK I see where my confusion stems from - use cleanup as 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 ;-)

Screenshot 2025-10-28 at 12 52 38

JOJ0 avatar Oct 28 '25 11:10 JOJ0

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.

snejus avatar Nov 17 '25 11:11 snejus

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.

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 avatar Nov 20 '25 06:11 JOJ0

@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.

semohr avatar Nov 20 '25 11:11 semohr

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           

codecov-commenter avatar Dec 07 '25 11:12 codecov-commenter

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.

Serene-Arc avatar Dec 07 '25 11:12 Serene-Arc

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 :/

semohr avatar Dec 07 '25 11:12 semohr