# A (reasonably) new commandline UI for Beets!

**URL:** <https://discourse.beets.io/t/a-reasonably-new-commandline-ui-for-beets/1831>\
**Category:** Development\
**Created:** [August 20, 2021, 7:41am UTC](https://discourse.beets.io/t/a-reasonably-new-commandline-ui-for-beets/1831 "2021-08-20T07:41:59Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![davidswarbrick](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.beets.io/davidswarbrick/32/458_2.png) [@davidswarbrick](https://discourse.beets.io/u/davidswarbrick)\
**Post date:** [August 20, 2021, 7:41am UTC](https://discourse.beets.io/t/a-reasonably-new-commandline-ui-for-beets/1831/1 "2021-08-20T07:41:59Z")

</div>

Hey everyone,

I’ve recently put what I hope are the finishing touches to a hefty pull request initially started by @mxmerz 5 years ago to refresh the beets commandline UI!

The finished product looks like this on my machine:

 ![128561720-403c0e5e-0320-443f-992e-b5cb14dae8e8](https://canada1.discourse-cdn.com/flex029/uploads/beets/original/1X/8d944ca2d70ae6c63cf77d2a940b46c391069fcd.png)

The PR is here: [Importer UI overhaul rebase/update by davidswarbrick · Pull Request #3721 · beetbox/beets · GitHub](https://github.com/beetbox/beets/pull/3721) , it builds on initial discussions in [import formatting hard to parse mentally · Issue #1593 · beetbox/beets · GitHub](https://github.com/beetbox/beets/issues/1593) and implementation in [Importer UI overhaul by sampsyo · Pull Request #1685 · beetbox/beets · GitHub](https://github.com/beetbox/beets/pull/1685)

What we could do with now is more users! Give this code a try, take a screenshot, feedback anything you do/don’t like or any bugs, or if code review is more your style please do feedback any improvements. All being well it’s hopeful we can merge this in soon 😀

---

<div class="post-metadata">

**Author:** ![HG2S](https://avatars.discourse-cdn.com/v4/letter/h/c77e96/32.png) [@HG2S](https://discourse.beets.io/u/HG2S)\
**Post date:** [August 20, 2021, 5:01pm UTC](https://discourse.beets.io/t/a-reasonably-new-commandline-ui-for-beets/1831/2 "2021-08-20T17:01:33Z")

</div>

Is this part of the [fabled](https://github.com/beetbox/beets/discussions/4017) 1.5 release?

---

<div class="post-metadata">

**Author:** ![adrian](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.beets.io/adrian/32/4_2.png) [@adrian](https://discourse.beets.io/u/adrian)\
**Post date:** [August 20, 2021, 6:17pm UTC](https://discourse.beets.io/t/a-reasonably-new-commandline-ui-for-beets/1831/3 "2021-08-20T18:17:00Z")

</div>

Not yet—it’s still in pull request form. Let’s make it a goal to make it part of the next one!

---

<div class="post-metadata">

**Author:** ![pandatroubles](https://avatars.discourse-cdn.com/v4/letter/p/35a633/32.png) [@pandatroubles](https://discourse.beets.io/u/pandatroubles)\
**Post date:** [August 27, 2021, 1:12pm UTC](https://discourse.beets.io/t/a-reasonably-new-commandline-ui-for-beets/1831/4 "2021-08-27T13:12:33Z")

</div>

> [@davidswarbrick](#):
>
> What we could do with now is more users! Give this code a try, take a screenshot, feedback anything you do/don’t like or any bugs, or if code review is more your style please do feedback any improvements. All being well it’s hopeful we can merge this in soon

I’m just a user, but I would love to test it out for myself, make screenshots, etc. However, I have no idea on how to get started. Is there a “for dummies” explanation on how to get started with testing your PR?

---

<div class="post-metadata">

**Author:** ![davidswarbrick](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.beets.io/davidswarbrick/32/458_2.png) [@davidswarbrick](https://discourse.beets.io/u/davidswarbrick)\
**Post date:** [August 8, 2023, 9:46pm UTC](https://discourse.beets.io/t/a-reasonably-new-commandline-ui-for-beets/1831/5 "2023-08-08T21:46:03Z")

</div>

Hey so sorry for the long delay! We found a bug in the new ui but I’m now happy to report that one is fixed! But, we still need your help!

For those who’d like to test my new UI, here’s a quick summary:  
First, make sure you’ve uninstalled beets via your normal route, make sure to keep copies of your database and config files!  
Clone my branch of the beets repository:

```auto
git clone git@github.com:davidswarbrick/beets.git

```

Go into your newly cloned folder, and switch to the `ui` branch:

```auto
cd beets
git checkout ui

```

Then, install beets using pip from that folder:

```auto
pip install -e .

```

You may get some errors about your pip install being centrally managed (I do on the latest version of Arch Linux), ways around this include using virtual environments but will ultimately be system dependent.  
If you’ve installed beets system-wide, you can check it’s working by a version check:

```auto
$ beet --version
beets version 1.6.1
Python version 3.11.3
plugins: bpd, bucket, convert, discogs, ...

```

Alternatively, if you’re in a virtual environment, you might need to use python’s module syntax to run the same check:

```auto
$ python -m beets --version
beets version 1.6.1
Python version 3.11.3
plugins: bpd, bucket, convert, discogs, ...

```

Now, try and import some new tracks or albums to your library!  
All being well, you should see a shiny new UI, please post screenshots in this thread, and any feedback about things you do/don’t like. Any bugs would be greatly appreciate on the [Pull Request](https://github.com/beetbox/beets/pull/3721) so they can receive proper fixes & reviews.

---

<div class="post-metadata">

**Author:** ![jojo](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.beets.io/jojo/32/709_2.png) [@jojo](https://discourse.beets.io/u/jojo)\
**Post date:** [August 11, 2023, 9:54pm UTC](https://discourse.beets.io/t/a-reasonably-new-commandline-ui-for-beets/1831/6 "2023-08-11T21:54:09Z")

</div>

If you have beets installed from git already, here’s a quick guide on checking out the feature branch: [Change to the beets UI · beetbox/beets · Discussion #4870 · GitHub](https://github.com/beetbox/beets/discussions/4870#discussioncomment-6705864)

---

<div class="post-metadata">

**Author:** ![jojo](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.beets.io/jojo/32/709_2.png) [@jojo](https://discourse.beets.io/u/jojo)\
**Post date:** [August 27, 2023, 6:47am UTC](https://discourse.beets.io/t/a-reasonably-new-commandline-ui-for-beets/1831/7 "2023-08-27T06:47:40Z")

</div>

For those of you who don’t want to, or are not savvy with fiddling around with git commands. There is another way of directly installing from this development branch. I posted it here: [Change to the beets UI · beetbox/beets · Discussion #4870 · GitHub](https://github.com/beetbox/beets/discussions/4870#discussioncomment-6833248)
