Skip to content

beatport: Deprecate beatport and bpsync plugins#6426

Merged
snejus merged 4 commits intobeetbox:masterfrom
Samik081:deprecate-beatport-plugin
Mar 8, 2026
Merged

beatport: Deprecate beatport and bpsync plugins#6426
snejus merged 4 commits intobeetbox:masterfrom
Samik081:deprecate-beatport-plugin

Conversation

@Samik081
Copy link
Contributor

@Samik081 Samik081 commented Mar 8, 2026

Description

As agreed in the comments: #4477 (comment)

Deprecation notices reference those for additional context:

Beatport retired the API (v3) that the built-in beatport plugin relies on, making it non-functional. This PR soft-deprecates both the beatport and bpsync plugins following the same pattern used for acousticbrainz — adding deprecation warnings in __init__() while keeping all existing code intact.

The bpsync plugin is deprecated alongside beatport since it imports and depends on BeatportPlugin directly.

Changes

  • beetsplug/beatport.py: Add deprecation warning in BeatportPlugin.__init__()
  • beetsplug/bpsync.py: Add deprecation warning in BPSyncPlugin.__init__()
  • docs/plugins/beatport.rst: Add .. deprecated:: directive
  • docs/plugins/bpsync.rst: Add .. deprecated:: directive
  • docs/changelog.rst: Add changelog entry under Unreleased → Other changes

What's NOT changed (and why)

  • pyproject.toml (beatport extra): Kept so the plugin loads and shows the deprecation warning instead of crashing with an ImportError
  • test/plugins/test_beatport.py: Tests cover data models which still exist — all 15 tests pass
  • docs/plugins/index.rst: beatport stays in the toctree since the page still exists
  • beets/util/id_extractors.py: Core utility, not plugin-specific

To Do

  • Documentation
  • Changelog
  • Tests (N/A — soft deprecation, no code removal, existing tests pass)

@Samik081 Samik081 requested a review from a team as a code owner March 8, 2026 11:04
@Samik081 Samik081 changed the title Deprecate beatport and bpsync plugins beatport: Deprecate beatport and bpsync plugins Mar 8, 2026
@codecov
Copy link

codecov bot commented Mar 8, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 69.42%. Comparing base (f1509a4) to head (b008488).
⚠️ Report is 5 commits behind head on master.
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #6426   +/-   ##
=======================================
  Coverage   69.42%   69.42%           
=======================================
  Files         141      141           
  Lines       18448    18452    +4     
  Branches     3020     3020           
=======================================
+ Hits        12807    12811    +4     
  Misses       5004     5004           
  Partials      637      637           
Files with missing lines Coverage Δ
beetsplug/beatport.py 43.45% <100.00%> (+0.48%) ⬆️
beetsplug/bpsync.py 20.00% <100.00%> (+1.92%) ⬆️
🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@Samik081
Copy link
Contributor Author

Samik081 commented Mar 8, 2026

Btw. I used .. deprecated:: 2.8 directive referencing 2.8 version, but that might not be correct. Maybe next patch one should be used, instead? Let me know :)

Copy link
Member

@snejus snejus left a comment

Choose a reason for hiding this comment

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

Consider using beets.util.deprecation.deprecate_for_user function

@snejus
Copy link
Member

snejus commented Mar 8, 2026

Btw. I used .. deprecated:: 2.8 directive referencing 2.8 version, but that might not be correct. Maybe next patch one should be used, instead? Let me know :)

2.8 is fine, thanks!

@Samik081
Copy link
Contributor Author

Samik081 commented Mar 8, 2026

Consider using beets.util.deprecation.deprecate_for_user function

Good catch, thanks! Switched both to deprecate_for_user. Since its output format is fixed and doesn't accommodate custom links, I dropped the PR/issue references.

@Samik081 Samik081 requested a review from snejus March 8, 2026 14:32
Copy link
Member

@snejus snejus left a comment

Choose a reason for hiding this comment

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

Thanks!

@snejus snejus force-pushed the deprecate-beatport-plugin branch from dde1160 to b008488 Compare March 8, 2026 17:10
@snejus snejus enabled auto-merge March 8, 2026 17:11
@snejus snejus merged commit 80d08ed into beetbox:master Mar 8, 2026
14 checks passed
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