# Beets-kergoth plugins packaged

**URL:** https://discourse.beets.io/t/beets-kergoth-plugins-packaged/925
**Category:** Help
**Created:** [September 21, 2019, 4:08am UTC](https://discourse.beets.io/t/beets-kergoth-plugins-packaged/925 "2019-09-21T04:08:09Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![kergoth](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.beets.io/kergoth/32/240_2.png) [@kergoth](https://discourse.beets.io/u/kergoth)
#### Post date: [September 21, 2019, 4:08am UTC](https://discourse.beets.io/t/beets-kergoth-plugins-packaged/925/1 "2019-09-21T04:08:09Z")

</div>

My random collection of personal plugins now lives in the beets-kergoth project at [pypi](https://pypi.org/project/beets-kergoth/) and [github](https://github.com/kergoth/beets-kergoth). In the future I’ll be splitting off some of this into separate pypi projects, and submitting some of it to the core, and I still need to add its very minimal docs to [http://readthedocs.io](http://readthedocs.io/), but this works for now, and is at least split out from my config files and scripts.

Readme:

This is my personal collection of [beets](http://beets.io/) plugins that  
are not currently being distributed separately.

## Generally useful plugins

These plugins I consider to be useful in general and polished enough  
that I intend to either submit them upstream to beets or split off into  
separate projects / python packages.

- The [Alias Plugin](https://github.com/kergoth/beets-kergoth/blob/master/docs/alias.rst) lets you define command aliases,  
much like git, and also makes available any beet-prefixed commands  
in your `PATH` as well.
- The [Import Inspect Plugin](https://github.com/kergoth/beets-kergoth/blob/master/docs/importinspect.rst) lets you inspect  
the metadata changes to be applied when importing.
- The [Modify On Import Plugin](https://github.com/kergoth/beets-kergoth/blob/master/docs/modifyonimport.rst) lets you  
define metadata changes to occur on import when the specified  
queries match.
- The [Replace Format Plugin](https://github.com/kergoth/beets-kergoth/blob/master/docs/replaceformat.rst) defines format  
functions for search/replace of text, both single replacements and  
applications of a set of replacements like the built in `replace`  
configuration option.
- The [Saved Formats Plugin](https://github.com/kergoth/beets-kergoth/blob/master/docs/savedformats.rst) lets you define  
saved, named format strings by storing them in fields for later  
reference.
- The [Saved Queries Plugin](https://github.com/kergoth/beets-kergoth/blob/master/docs/savedqueries.rst) lets you save  
queries by name for later use.

## Special Purpose plugins

These plugins are useful to me, but probably not to anyone else.

- The `musicsource` plugin just forces me to define a `source` field  
when importing new music, as this is how I organize my library.  
`source` is where the music was acquired, e.g. Amazon, iTunes,  
Google, etc.
- The `picard` plugin lets me launch MusicBrainz Picard with the items  
I’m importing, either to use it to tag rather than beets, or as an  
inspection tool to examine its metadata. This assumes a `picard`  
beets command exists, as this is how it runs it.
- The `reimportskipfields` plugin lets you specify fields from  
set\_fields to also be applied to skipped items on reimport. I use  
this to facilitate resuming from a reimport, as it lets me apply a  
`reimported` field to anything I tried to reimport, whether I was  
able to match it to a candidate or not.

## Prototype / Proof of Concept plugins

These plugins were thrown together in experimentation. Some may be worth  
cleaning up, but others are useful pretty rarely.

- The `abcalc` plugin performs the same calculation as absubmit, but  
runs it only against non-MusicBrainz tracks, and stores the low  
level values rather than submitting them. I’ve used this to  
populate the acoustic fingerprint tags for use by external  
de-duplication scripts.
- The `existingqueries` plugin adds a couple queries that originated  
in the beets source.
- The `hasart` plugin adds a query to check for embedded album art.
- The `inlinehook` plugin lets you define hooks inline in config.yaml  
with python, much the way `inline` does for fields.
- The `last_import` plugin keeps track of the most recently imported  
items with a flexible field.
- The `modifytmpl` plugin lets you define fields using templates /  
format strings. This will be going upstream into the main `modify`  
command.
- The `otherqueries` plugin defines other random queries of  
questionable usefulness at this time.
- The `spotifyexplicit` plugin uses the `spotify` plugin to look up  
items from my library, determines if Spotify considers these items  
as explicit tracks (Parental Advisory), and prints them if so. I use  
this to set an `advisory` field on my tracks.

---

<div class="post-metadata">

### Author: ![planetearth](https://avatars.discourse-cdn.com/v4/letter/p/82dd89/32.png) [@planetearth](https://discourse.beets.io/u/planetearth)
#### Post date: [September 1, 2022, 1:41am UTC](https://discourse.beets.io/t/beets-kergoth-plugins-packaged/925/2 "2022-09-01T01:41:02Z")

</div>

The Import Inspect plugin looks great. It would be great if some of these packages are separately available or part of the core - I am definitely interested in Import Inspect.

---

<div class="post-metadata">

### Author: ![kergoth](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.beets.io/kergoth/32/240_2.png) [@kergoth](https://discourse.beets.io/u/kergoth)
#### Post date: [September 1, 2022, 10:17pm UTC](https://discourse.beets.io/t/beets-kergoth-plugins-packaged/925/3 "2022-09-01T22:17:31Z")

</div>

Apologies, I’ve been meaning to split this up for ages, I’ll see if I can find the time in the near future.
