Skip to content

Metadatasource cleanup docs #5861

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 2 commits into
base: master
Choose a base branch
from
Draft

Conversation

semohr
Copy link
Contributor

@semohr semohr commented Jul 7, 2025

This PR includes documentation updates for the new metadatasource plugin architecture, as requested by @snejus. The docs changes were split out from the original implementation to keep things focused and reviewable.

  • Introduces comprehensive documentation for the new metadata plugin system.
  • Performs a general cleanup of the plugin-related developer documentation for clarity and consistency.

Note:
This PR should be reviewed and merged together with [#5787]

@Copilot Copilot AI review requested due to automatic review settings July 7, 2025 12:08
Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

Documentation for the new metadatasource plugin architecture has been added and the legacy monolithic plugin guide has been split into focused sections.

  • Introduces separate “commands,” “events,” and “other” plugin dev guides under docs/dev/plugins/.
  • Cleans up cross-references and landing pages, including updates to docs/plugins/index.rst and docs/dev/index.rst.
  • Updates API docs (docs/api/plugins.rst) to include new metadata plugin classes.

Reviewed Changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
docs/plugins/index.rst Updated link to point at the new plugin dev index
docs/dev/plugins/other.rst Added “Extending the Autotagger” guide
docs/dev/plugins/index.rst Created plugin development index with toctree
docs/dev/plugins/events.rst Added event-listener documentation
docs/dev/plugins/commands.rst Added CLI subcommand guide
docs/dev/plugins.rst Removed outdated monolithic plugin dev guide
docs/dev/index.rst Added Confuse link and updated plugin toctree path
docs/api/plugins.rst Added metadata plugin classes to API autosummary
Comments suppressed due to low confidence (1)

docs/dev/plugins/other.rst:111

  • Remove the extra backtick after the Sphinx reference. It should close as :py:meth:beets.plugins.BeetsPlugin.add_media_field() method.
your plugins :py:meth:`beets.plugins.BeetsPlugin.add_media_field()`` method.

Plugins can also be used to extend the autotagger and allow metadata lookup
from additional sources. For this your plugin has to extend the :py:class:`MetadataSourcePlugin` base class and implement all abstract methods.

On metadata lookup, the autotagger will first call the :py:meth:`MetadataSourcePlugin.candidates` (or :py:meth:`MetadataSourcePlugin.item_candidates` ) method of all enabled MetadataSourcePlugins to get a list of available candidates. Than we will rank all candidates by using each plugins :func:`MetadataSourcePlugin.track_distance` and :py:meth:`MetadataSourcePlugin.album_distance` methods.
Copy link
Preview

Copilot AI Jul 7, 2025

Choose a reason for hiding this comment

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

Replace "Than we will rank" with "Then we will rank" to correct the transition word.

Suggested change
On metadata lookup, the autotagger will first call the :py:meth:`MetadataSourcePlugin.candidates` (or :py:meth:`MetadataSourcePlugin.item_candidates` ) method of all enabled MetadataSourcePlugins to get a list of available candidates. Than we will rank all candidates by using each plugins :func:`MetadataSourcePlugin.track_distance` and :py:meth:`MetadataSourcePlugin.album_distance` methods.
On metadata lookup, the autotagger will first call the :py:meth:`MetadataSourcePlugin.candidates` (or :py:meth:`MetadataSourcePlugin.item_candidates` ) method of all enabled MetadataSourcePlugins to get a list of available candidates. Then we will rank all candidates by using each plugins :func:`MetadataSourcePlugin.track_distance` and :py:meth:`MetadataSourcePlugin.album_distance` methods.

Copilot uses AI. Check for mistakes.

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.

1 participant