Skip to content

Port transcode and musicbrainz plugins into this repository#321

Merged
jtpavlock merged 1 commit intomainfrom
breaking_release
Jul 17, 2025
Merged

Port transcode and musicbrainz plugins into this repository#321
jtpavlock merged 1 commit intomainfrom
breaking_release

Conversation

@jtpavlock
Copy link
Member

@jtpavlock jtpavlock commented Jul 6, 2025

This moves both the transcode and musicbrainz plugins, which were previously separate repositories, into moe as "official" plugins. Official plugins are separated with moe from core repositories by living in the "plugins" directory.

The following breaking changes arise from this:

  1. Importing moe_transcode and moe_musicbrainz

    Imports for these modules have changed to import moe.plugins.transcode and import moe.plugins.musicbrainz.

  2. Installation

    Official plugins must now be installed as extras within moe. To install with pipx:
    pipx install moe[musicbrainz]. Because the transcode has no additional (python) dependencies, there's no need to install anything extra with pip.

For more discussion around this change, see #319.

Of note, configuration values do not change i.e. you still use [transcode] or [musicbrainz] blocks to set values all the same.

I'm also open to changing how I've laid out the structure. I resorted to putting official plugins in their own "plugins" directory to physically separate them from the core plugins, but I'm not sure if that's necessary and if it would be better to just have them all in the same directory and import them as moe.musicbrainz instead of moe.plugins.musicbrainz.

For code changes, besides moving the files, the following changes were made:

  • Incorporated ruff checks into both plugins
  • Added a new pytest marker ffmpeg to mark which tests require this commandline dependency.
  • Imports fixed to reflect the new structure
  • docs for both plugins now belong in a single official_plugins.rst file
  • install docs for both plugins have been updated. because the musicbrainz plugin requires an additional python dependency, musicbrainzngs, it's been marked as an optional extra in poetry.

📚 Documentation preview 📚: https://mrmoe--321.org.readthedocs.build/en/321/

@jtpavlock jtpavlock force-pushed the breaking_release branch 3 times, most recently from 3c31b2c to f24efed Compare July 6, 2025 14:35
@codecov
Copy link

codecov bot commented Jul 6, 2025

Codecov Report

❌ Patch coverage is 97.67442% with 8 lines in your changes missing coverage. Please review.
✅ Project coverage is 93.96%. Comparing base (b7d5963) to head (3362e78).
⚠️ Report is 3 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #321      +/-   ##
==========================================
+ Coverage   93.36%   93.96%   +0.59%     
==========================================
  Files          53       58       +5     
  Lines        2443     2785     +342     
==========================================
+ Hits         2281     2617     +336     
- Misses        162      168       +6     
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@jtpavlock jtpavlock marked this pull request as draft July 6, 2025 14:38
@jtpavlock jtpavlock force-pushed the breaking_release branch 2 times, most recently from d026de4 to caf2368 Compare July 6, 2025 14:51
@jtpavlock jtpavlock marked this pull request as ready for review July 6, 2025 15:09
@jtpavlock jtpavlock requested a review from ali-ramadhan July 6, 2025 15:09
ali-ramadhan
ali-ramadhan previously approved these changes Jul 17, 2025
Copy link
Member

@ali-ramadhan ali-ramadhan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me! I mostly left some questions and comments.

This moves both the transcode and musicbrainz plugins, which were previously separate repositories, into moe as "official" plugins. Official plugins are separated with moe from core repositories by living in the "plugins" directory.

The following breaking changes arise from this:

1. Importing ``moe_transcode`` and ``moe_musicbrainz``

   Imports for these modules have changed to ``import moe.plugins.transcode`` and ``import moe.plugins.musicbrainz``.

2. Installation

   Official plugins must now be installed as extras within moe. To install with pipx:
``pipx install moe[transcode,musicbrainz]``

For more discussion around this change, see #319.
@jtpavlock
Copy link
Member Author

Thanks for the review @ali-ramadhan. If you like I can wait until #317 gets merged before merging this pr so we can make a new minor feature release of moe, or I can merge this one now if you're not in a rush. There's a couple other small breaking change PRs I'd like to make before the v3.0 release goes out after this one gets merged in.

@ali-ramadhan
Copy link
Member

I'm not in a rush and I don't think there will be any conflicts between the two PRs. Feel free to merge either first!

@jtpavlock jtpavlock merged commit 29a246e into main Jul 17, 2025
20 checks passed
@jtpavlock jtpavlock deleted the breaking_release branch July 17, 2025 15:04
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 this pull request may close these issues.

2 participants