New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ipfs plugin #1397
Ipfs plugin #1397
Conversation
The plugin can add items existing in the library to ipfs
Wow! This is a very cool project. It's quite speculative, but that means it's definitely worth exploring. So I know where you're going: Is there anything else you'd like the plugin to do? Importing from and exporting the music itself to the DFS seems good, but—for example—are you interested in storing indices of music there? |
Primarily this would be for sharing between friends. Instead of zipping and mailing the album over, then the friend has to import it into beets I can just send them the hash. |
Very cool. I wonder how challenging it would be to be able to |
That sounds possible. The hashes could be stored in the beets database and that database could be exported as json or something and added to ipfs. You could then give that json hash to your friend. That database should then be possible to use for ls and similiar. |
non music files.
This hugely improves publishing times
This plugin seems to be working rather well now. Here's the hash for a small three album library (on creative commons licence via Jamendo) QmWgeJoezjo8Y1PP7KXmAkAKVnsiubAydzFWSrgvcrsY76 . This pull request has become rather long though, I like making many smaller commits. Maybe I should rebase? @sampsyo is there any more documentation on the separate libraries you mentioned earlier? The plugin is so far still using the above syntax, which has kinda grown on me and doesn't feel as awkward anymore. But a nice transparent syntax would be cool though. |
This is looking amazing! Thank you so much for your patience while I got caught up with the beets backlog. I think we should merge this as-is. I'm sure it will continue to evolve, but this is already useful in its current state. And the set of commands is clearly complete. (And I don't mind the long commit history.) There's not really any documentation on that deal with alternate Library implementations, and it would definitely be a big hacking job. Let's leave it for the future. |
http://ipfs.io or https://github.com/ipfs/go-ipfs is a global, versioned, peer-to-peer filesystem.
This plugin is so far extremely rough, but it adds the option to add or get albums from ipfs.
So if i have an album in my library I can do
beets ipfs -a [query]
This will return individual hashes for all the albums files as well as a hash for the whole album.
I can then, in another library without this album, run
beets ipfs -g [hash]
and the album will be downloaded from ipfs and imported to the library.
Again, this is a very rough demo, so it's not merge:able yet. But i'd be interesting to hear what you think.