# Do you want to see what's in your library? 🤩

**URL:** <https://discourse.beets.io/t/do-you-want-to-see-whats-in-your-library/1170>\
**Category:** Help\
**Created:** [March 21, 2020, 11:35am UTC](https://discourse.beets.io/t/do-you-want-to-see-whats-in-your-library/1170 "2020-03-21T11:35:53Z")\
**Posts on this page:** 15\
**Page:** 1

<div class="post-metadata">

**Author:** ![jakabadambalazs](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.beets.io/jakabadambalazs/32/360_2.png) [@jakabadambalazs](https://discourse.beets.io/u/jakabadambalazs)\
**Post date:** [March 21, 2020, 11:35am UTC](https://discourse.beets.io/t/do-you-want-to-see-whats-in-your-library/1170/1 "2020-03-21T11:35:53Z")

</div>

Hi Beeters!

The other day I had to sit through a super-long meeting over skype so I started to play around with numpy and pandas and firends. Since I needed some datasets to work with I though: “Why not play around with my music library?”

So, this is what I ended up with at the end of the meeting:

```bash
$ beet describe bpm albumartist:'Various Artists'
┌────────────┬────────────────────────────┐
│ Name │ Value │
╞════════════╪════════════════════════════╡
│ Field name │ bpm │
├────────────┼────────────────────────────┤
│ Field type │ beets.dbcore.types.Integer │
├────────────┼────────────────────────────┤
│ Count │ 1392 │
├────────────┼────────────────────────────┤
│ Min │ 65.9922409058 │
├────────────┼────────────────────────────┤
│ Max │ 185.0 │
├────────────┼────────────────────────────┤
│ Mean │ 122.99097545119291 │
├────────────┼────────────────────────────┤
│ Median │ 122.0 │
├────────────┼────────────────────────────┤
│ Empty │ 0 │
└────────────┴────────────────────────────┘
Distribution(bins=10) histogram
66.0 - 77.9 [30] ████▊
77.9 - 89.8 [73] ███████████▍
89.8 - 101.7 [203] ███████████████████████████████▊
101.7 - 113.6 [221] ██████████████████████████████████▌
113.6 - 125.5 [256] ████████████████████████████████████████
125.5 - 137.4 [208] ████████████████████████████████▌
137.4 - 149.3 [183] ████████████████████████████▋
149.3 - 161.2 [87] █████████████▋
161.2 - 173.1 [107] ████████████████▊
173.1 - 185.0 [24] ███▊

```

let’s see genres:

```bash
$ beet describe genre albumartist:'Various Artists'
┌────────────────┬───────────────────────────┐
│ Name │ Value │
╞════════════════╪═══════════════════════════╡
│ Field name │ genre │
├────────────────┼───────────────────────────┤
│ Field type │ beets.dbcore.types.String │
├────────────────┼───────────────────────────┤
│ Count │ 1392 │
├────────────────┼───────────────────────────┤
│ Unique │ 91 │
├────────────────┼───────────────────────────┤
│ Most frequent │ Oldies(202) │
├────────────────┼───────────────────────────┤
│ Least frequent │ Dance-Pop(1) │
├────────────────┼───────────────────────────┤
│ Empty │ 19 │
└────────────────┴───────────────────────────┘
Unique element histogram
Oldies [202] ████████████████████████████████████████
Classic Rock [139] ███████████████████████████▌
Soul [124] ████████████████████████▌
Blues [120] ███████████████████████▊
Rock [109] █████████████████████▋
Pop [105] ████████████████████▊
Dance [86] █████████████████
New Wave [48] █████████▌
Reggae [44] ████████▊
Heavy Metal [33] ██████▌
Trance [24] ████▊
Jazz [20] ████
Blues Rock [20] ████
                        [19] ███▊
Soundtrack [17] ███▍
Synthpop [16] ███▏
Ska [16] ███▏
Rap [15] ███
Pop Rock [14] ██▊
Funk [12] ██▍
Metal [12] ██▍
Alternative Metal [12] ██▍
Alternative Rock [11] ██▏
Hard Rock [10] ██
Soft Rock [10] ██
Singer-Songwriter [9] █▊
Rockabilly [8] █▋
R&B [6] █▎
Rock And Roll [6] █▎
Electronic [6] █▎
Metalcore [6] █▎
Progressive Rock [5] █
Disco [5] █
House [5] █
Psychedelic Rock [5] █
Punk Rock [4] ▊
Progressive Metal [4] ▊
Thrash Metal [4] ▊
Funk Soul [3] ▋
Nu Metal [3] ▋
Death Metal [3] ▋
Contemporary R&B [3] ▋
World Music [3] ▋
Symphonic Metal [3] ▋
Post-Grunge [2] ▍
Pop Punk [2] ▍
Industrial Metal [2] ▍
Blue-Eyed Soul [2] ▍
Black Metal [2] ▍
Surf Rock [2] ▍
Psychedelic [2] ▍
PMEDIA [2] ▍
Motown [2] ▍
Industrial [2] ▍
Indie Rock [2] ▍
Rock, Hard Rock, Metal [2] ▍
Britpop [2] ▍
Contemporary Classical [2] ▍
Glam Rock [2] ▍
Indie Pop [2] ▍
Lo-Fi [1] ▎
Power Metal [1] ▎
Pop Soul [1] ▎
Folk Rock [1] ▎
Pinoy Rock [1] ▎
Post-Punk [1] ▎
Speed Metal [1] ▎
Doo Wop [1] ▎
Gothic Metal [1] ▎
Hip Hop [1] ▎
Downtempo [1] ▎
Southern Soul [1] ▎
Melodic Metalcore [1] ▎
Ragga [1] ▎
Classical [1] ▎
Teen Pop [1] ▎
Country [1] ▎
Grunge [1] ▎
Sludge Metal [1] ▎
Industrial Rock [1] ▎
Ballad [1] ▎
Southern Rock [1] ▎
Grindcore [1] ▎
Country Rock [1] ▎
Indie [1] ▎
Gospel [1] ▎
Vocal Trance [1] ▎
Gypsy Jazz [1] ▎
Blackgaze [1] ▎
Viking Metal [1] ▎
Dance-Pop [1] ▎

```

Quite neat isn’t it? You can easily catch missing/suspicious tags (I have “Viking Metal” 🤣) and probably much more. I haven’t give this plugin much thought yet… I have too many ideas…

Anyways, there is a repo of this stuff [here](https://github.com/adamjakab/BeetsPluginDescribe) but it is 0% tested and probably full of issues. You can clone it and add it to your beets deployment by using the `pluginpath` [config option](https://beets.readthedocs.io/en/stable/reference/config.html#pluginpath) to have a go at it.

If you think this plugin can be a useful tool for you give your contribution in the form of ideas and/or PRs so we can make at least the first PyPi release so that less savvy users can also install it.

---

<div class="post-metadata">

**Author:** ![janpeeters](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.beets.io/janpeeters/32/182_2.png) [@janpeeters](https://discourse.beets.io/u/janpeeters)\
**Post date:** [March 22, 2020, 3:01pm UTC](https://discourse.beets.io/t/do-you-want-to-see-whats-in-your-library/1170/2 "2020-03-22T15:01:49Z")

</div>

Thanks for sharing. This looks like a really useful tool. I’m going to try to install it. But not so tech savvy so not sure if I will succeed.

---

<div class="post-metadata">

**Author:** ![jakabadambalazs](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.beets.io/jakabadambalazs/32/360_2.png) [@jakabadambalazs](https://discourse.beets.io/u/jakabadambalazs)\
**Post date:** [March 22, 2020, 3:12pm UTC](https://discourse.beets.io/t/do-you-want-to-see-whats-in-your-library/1170/3 "2020-03-22T15:12:57Z")

</div>

> [@janpeeters](#):
>
> This looks like a really useful tool. I’m going to try to install it. But not so tech savvy so not sure if I will succeed.

I put installation instructions on the github page. If you have issues let me know and I’ll give you a hand.

---

<div class="post-metadata">

**Author:** ![janpeeters](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.beets.io/janpeeters/32/182_2.png) [@janpeeters](https://discourse.beets.io/u/janpeeters)\
**Post date:** [March 22, 2020, 3:55pm UTC](https://discourse.beets.io/t/do-you-want-to-see-whats-in-your-library/1170/4 "2020-03-22T15:55:37Z")

</div>

Works like a charm Adam @jakabadambalazs thanks a lot.

A suggestion for this plugin would be to add a album `-a` option so that I can check the stats for album genres with `beet describe -a genre`.

---

<div class="post-metadata">

**Author:** ![jakabadambalazs](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.beets.io/jakabadambalazs/32/360_2.png) [@jakabadambalazs](https://discourse.beets.io/u/jakabadambalazs)\
**Post date:** [March 22, 2020, 4:19pm UTC](https://discourse.beets.io/t/do-you-want-to-see-whats-in-your-library/1170/5 "2020-03-22T16:19:26Z")

</div>

> [@janpeeters](#):
>
> A suggestion for this plugin would be to add a album `-a` option so that I can check the stats for album genres with `beet describe -a genre` .

Great! Could you open an issue on github and add your request there so it does not disappear in the digital fog?

---

<div class="post-metadata">

**Author:** ![janpeeters](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.beets.io/janpeeters/32/182_2.png) [@janpeeters](https://discourse.beets.io/u/janpeeters)\
**Post date:** [March 22, 2020, 4:35pm UTC](https://discourse.beets.io/t/do-you-want-to-see-whats-in-your-library/1170/6 "2020-03-22T16:35:21Z")

</div>

Will do that!

> <https://github.com/adamjakab/BeetsPluginDescribe/issues/1>
>
> I really like this!
> A suggestion for an addition to the functionality of this plugin would be to add a album -a...

---

<div class="post-metadata">

**Author:** ![ThoMas](https://avatars.discourse-cdn.com/v4/letter/t/e36b37/32.png) [@ThoMas](https://discourse.beets.io/u/ThoMas)\
**Post date:** [March 24, 2020, 8:47am UTC](https://discourse.beets.io/t/do-you-want-to-see-whats-in-your-library/1170/7 "2020-03-24T08:47:05Z")

</div>

Useful tool, thank you …

---

<div class="post-metadata">

**Author:** ![jakabadambalazs](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.beets.io/jakabadambalazs/32/360_2.png) [@jakabadambalazs](https://discourse.beets.io/u/jakabadambalazs)\
**Post date:** [March 30, 2020, 2:46pm UTC](https://discourse.beets.io/t/do-you-want-to-see-whats-in-your-library/1170/8 "2020-03-30T14:46:19Z")

</div>

Just a quick note: This plugin is now installable from pypi with `pip install beets-describe`.

---

<div class="post-metadata">

**Author:** ![dogo77](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.beets.io/dogo77/32/510_2.png) [@dogo77](https://discourse.beets.io/u/dogo77)\
**Post date:** [January 5, 2021, 12:19am UTC](https://discourse.beets.io/t/do-you-want-to-see-whats-in-your-library/1170/9 "2021-01-05T00:19:28Z")

</div>

Thanks a lot!

---

<div class="post-metadata">

**Author:** ![RollingStar](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.beets.io/rollingstar/32/728_2.png) [@RollingStar](https://discourse.beets.io/u/RollingStar)\
**Post date:** [January 10, 2021, 7:40pm UTC](https://discourse.beets.io/t/do-you-want-to-see-whats-in-your-library/1170/10 "2021-01-10T19:40:59Z")

</div>

For those looking for a prettier (non cmdline) visualization library, I’ve had fun with Altair. [Example Gallery — Altair 4.1.0 documentation](https://altair-viz.github.io/gallery/index.html)

---

<div class="post-metadata">

**Author:** ![janpeeters](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.beets.io/janpeeters/32/182_2.png) [@janpeeters](https://discourse.beets.io/u/janpeeters)\
**Post date:** [January 14, 2021, 10:53am UTC](https://discourse.beets.io/t/do-you-want-to-see-whats-in-your-library/1170/11 "2021-01-14T10:53:31Z")

</div>

Hey @RollingStar that looks really interesting. Would you be willing to elaborate a bit on how you went about visualizing your music collection?

---

<div class="post-metadata">

**Author:** ![RollingStar](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.beets.io/rollingstar/32/728_2.png) [@RollingStar](https://discourse.beets.io/u/RollingStar)\
**Post date:** [March 23, 2021, 3:10am UTC](https://discourse.beets.io/t/do-you-want-to-see-whats-in-your-library/1170/12 "2021-03-23T03:10:01Z")

</div>

For now I’ve only visualized my last year of music plays, tying in to listenbrainz. That’s what I’m interested in, not my collection. But there should be some overlap (ex. album covers could be used in both cases). Right now it’s just a simple bar chart, so the Altair examples should serve you well.

---

<div class="post-metadata">

**Author:** ![janpeeters](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.beets.io/janpeeters/32/182_2.png) [@janpeeters](https://discourse.beets.io/u/janpeeters)\
**Post date:** [January 11, 2022, 8:31pm UTC](https://discourse.beets.io/t/do-you-want-to-see-whats-in-your-library/1170/13 "2022-01-11T20:31:26Z")

</div>

Dear @jakabadambalazs I was wondering if you would be willing and could find the time to merge two pull requests in Github into your Master.  
For the plugin ‘Describe’ and 'BeetsGoingRunnin’g.  
People have changed the code for the deprecated `confit.py` to `confuse`.  
That way also Beets Macport will probably update your ‘describe’ as a dependency.

Thank you very much

---

<div class="post-metadata">

**Author:** ![jakabadambalazs](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.beets.io/jakabadambalazs/32/360_2.png) [@jakabadambalazs](https://discourse.beets.io/u/jakabadambalazs)\
**Post date:** [March 3, 2022, 9:04pm UTC](https://discourse.beets.io/t/do-you-want-to-see-whats-in-your-library/1170/14 "2022-03-03T21:04:51Z")

</div>

Hey @janpeeters.  
Done. All plugin repos are now updated to use confuse.

---

<div class="post-metadata">

**Author:** ![janpeeters](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.beets.io/janpeeters/32/182_2.png) [@janpeeters](https://discourse.beets.io/u/janpeeters)\
**Post date:** [March 3, 2022, 9:59pm UTC](https://discourse.beets.io/t/do-you-want-to-see-whats-in-your-library/1170/15 "2022-03-03T21:59:13Z")

</div>

Thanks a lot @jakabadambalazs. I read on GitHub that you don’t have much time to maintain them so I really appreciate it that you took the time to do this. Now they can continue being useful to people without the warning message. 🙏
