Plugin API for extending HTTP interface
- Dominant language
- Python
- Stars
- 15.7k
- Forks
- 2.1k
- Avg merge
- 4d 21h
- Merged PRs (30d)
- 31
Description
This is a subtask of the next-generation web interface effort (#718).
Part of the promise of the new HTTP API is that it should be extensible by plugins. For example, the ReplayGain plugin should provide an action accessible over the web to run the analysis on a query, much like the `beet replaygain` command does in the console.
This task consists first of looking at the existing plugins and writing some requirements for how the API can serve most of the use cases. It may also need to coordinate with #736 to determine how plugin endpoints will be exposed.
Extensions should be "discoverable": clients should be able to ask what plugin actions are available. An interface could use this, for example, to display a button for every plugin-provided action that can run on a track.
Contributor guide
Research direction
Start by reviewing the existing plugins, especially ReplayGain and the `beet replaygain` command, to identify common HTTP extension use cases. Read the next-generation web interface effort in #718 and coordinate with #736 on how plugin endpoints are exposed. Done means documented requirements for discoverable plugin actions that cover the main use cases.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- api, backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100