# Rewriting beet-fs

**URL:** <https://discourse.beets.io/t/rewriting-beet-fs/2122>\
**Category:** Development\
**Created:** [August 2, 2022, 3:05am UTC](https://discourse.beets.io/t/rewriting-beet-fs/2122 "2022-08-02T03:05:43Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Abbott](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.beets.io/abbott/32/262_2.png) [@Abbott](https://discourse.beets.io/u/Abbott)\
**Post date:** [August 2, 2022, 3:05am UTC](https://discourse.beets.io/t/rewriting-beet-fs/2122/1 "2022-08-02T03:05:43Z")

</div>

Hi, all. I have written an implementation of beetfs from the ground up using pyfuse3 after not being able to get the old beetfs to work some time ago and it is in a kind-of functioning state. I am looking for any more experienced python developers to help me fine-tune it, as it does not currently scale up to bigger library sizes. The codebase can be found here: [GitHub - Abbotta4/beetfs: A rewrite of beetfs for beets](https://github.com/Abbotta4/beetfs)

I am excited to pick up on some tips and skills developing with you all!

---

<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 2, 2022, 11:52am UTC](https://discourse.beets.io/t/rewriting-beet-fs/2122/2 "2022-08-02T11:52:05Z")

</div>

Wow! Just wanted to say this looks incredibly cool—nice work!

---

<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:** [August 8, 2022, 9:41am UTC](https://discourse.beets.io/t/rewriting-beet-fs/2122/3 "2022-08-08T09:41:03Z")

</div>

Hi @Abbott Thanks for actively developing for Beets. I was wondering what would be a use case for BeetsFS if the files are already on a harddrive that you can mount. I realize that this must be a real novice question 😉

---

<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:** [August 17, 2022, 2:55pm UTC](https://discourse.beets.io/t/rewriting-beet-fs/2122/4 "2022-08-17T14:55:53Z")

</div>

For info on beetfs:

> **[GitHub - jbaiter/beetfs: A beets FUSE filesystem](https://github.com/jbaiter/beetfs)**
>
> A beets FUSE filesystem. Contribute to jbaiter/beetfs development by creating an account on GitHub.

Are you aware of freezetag?

> **[GitHub - x1ppy/freezetag: save, strip, and restore file paths and music metadata](https://github.com/x1ppy/freezetag)**
>
> save, strip, and restore file paths and music metadata - GitHub - x1ppy/freezetag: save, strip, and restore file paths and music metadata

---

<div class="post-metadata">

**Author:** ![Abbott](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.beets.io/abbott/32/262_2.png) [@Abbott](https://discourse.beets.io/u/Abbott)\
**Post date:** [January 5, 2023, 6:28am UTC](https://discourse.beets.io/t/rewriting-beet-fs/2122/5 "2023-01-05T06:28:22Z")

</div>

Hi @janpeeters The use case that inspired me to try re-writing is related to archival. If I want to use the out-of-box beets to edit my tags, I have to choose between writing the tags to the files so they show up in my various media players or creating a copy of my files with the tags written to them. The first option is good for hard drive space because I only have one copy of the media files, but now the files are altered and will no longer match backup checksums. The second option is good because I can leave the original files untouched, but now my library takes up twice the hard drive space. With beetfs, you can read from the files as if they had the tags written to them through the FUSE filesystem, but the underlying files on the disk are untouched, so no more need to have two copies of each file. I hope that shines some light on my intentions 🙂

---

<div class="post-metadata">

**Author:** ![Abbott](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.beets.io/abbott/32/262_2.png) [@Abbott](https://discourse.beets.io/u/Abbott)\
**Post date:** [January 5, 2023, 6:37am UTC](https://discourse.beets.io/t/rewriting-beet-fs/2122/6 "2023-01-05T06:37:53Z")

</div>

freezetag looks cool! It’s nice to know I’m not the only one who wants something like this

---

<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 5, 2023, 8:37am UTC](https://discourse.beets.io/t/rewriting-beet-fs/2122/7 "2023-01-05T08:37:29Z")

</div>

@Abbott Thanks for your explanation. This clarifies it nicely. I’m going to try to use it and see it in practice! Best of luck with development.
