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.

Using Plugins

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 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.

Autotagger Extensions


Path Formats

  • 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 end).



Other Plugins

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.

Writing Plugins

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 plugins.

Project Versions

Table Of Contents

Previous topic


Next topic

Chromaprint/Acoustid Plugin

This Page