beets-webrouter
A beets plugin to serve multiple Flask or FastAPI based beets web apps on the same server/host/port using a single command.
By running beet webrouter you can serve e.g. the beets web UI, a Subsonic API as well as the generated M3U playlists on the same host/port, each under a different path.
Installation
python3 -m pip install beets-webrouter fastapi flask uvicorn
To install the plugins that are used by the example configuration below, run:
python3 -m pip install beetstream beets-webm3u
Configuration
Enable the plugin and add a webrouter section to your beets config.yaml as follows:
plugins:
- webrouter
- web
- webm3u
- beetstream
- aura
- smartplaylist
webrouter:
host: 0.0.0.0
port: 8337
routes:
/:
plugin: web
/favicon.ico:
plugin: webrouter.favicon
/subsonic:
plugin: beetstream
config:
never_transcode: true
/aura:
plugin: aura
blueprint: aura_bp
/m3u:
plugin: webm3u
aura:
page_limit: 100
webm3u:
host: 0.0.0.0
port: 8339
playlist_dir: /data/playlists
Usage
Once the webrouter plugin is enabled within your beets configuration, you can run it as follows:
beet webrouter
You browse the server at http://localhost:8337.
CLI
Usage: beet webrouter [options]
Development
Run the unit tests (containerized):
make test
Run the e2e tests (containerized):
make test-e2e
To test your plugin changes manually, you can run a shell within a beets docker container as follows:
make beets-sh
A temporary beets library is written to ./data.
It can be removed by calling make clean-data.
To just start the server, run:
make beets-webrouter
Metadata
Release files for beets-webrouter 0.5.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| beets_webrouter-0.5.0-py3-none-any.whl | Python 3 | none | any | Details |
Release files / beets_webrouter-0.5.0-py3-none-any.whl
| Download URL | beets_webrouter-0.5.0-py3-none-any.whl |
|---|---|
| Size | 41.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2b0e802d3c3945511c043cb05b5012f3ade0664067cf1b83eba33b1b5b8e38bb
|
|
BLAKE2b-256 checksum How to use checksums |
16d82789096617aa929230d379186cdb1f0a82f689c3db6b83bdc72b151ddd51
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/5.1.1 CPython/3.12.5
|