Plugins can extend beets’ core functionality. Plugins can add new commands to
the command-line interface, respond to events in beets, augment the autotagger,
or provide new path template functions.
To use a plugin, you have two options:
- Make sure it’s in the Python path (known as sys.path to developers). This
just means the plugin has to be installed on your system (e.g., with a
setup.py script or a command like pip or easy_install).
- Set the pluginpath config variable to point to the directory containing the
plugin. (See Command-Line Interface.)
Then, set the plugins option in your config.yaml file, like so:
plugins: mygreatplugin someotherplugin
The value for plugins can be a space-separated list of plugin names or
a YAML list like [foo, bar].
You can see which plugins are currently enabled by typing beet version.
Plugins Included With Beets
There are a few plugins that are included with the beets distribution. They’re
disabled by default, but you can turn them on as described above.
- Inline Plugin: Use Python snippets to customize path format strings.
- Rewrite Plugin: Substitute values in path formats.
- The Plugin: Move patterns in path formats (i.e., move “a” and “the” to the
Here are a few of the plugins written by the beets community:
- beetFs is a FUSE filesystem for browsing the music in your beets library.
(Might be out of date.)
- A cmus plugin integrates with the cmus console music player.
- featInTitle moves featured artists from the artist tag to the title tag.
If you know a little Python, you can write your own plugin to do almost anything
you can imagine with your music collection. See the guide to writing beets