This is a production-grade adaptation of librespot-golang, which itself is an adaptation of librespot for Rust and librespot-java.
- Provide librespot functionality as a Go package (vs CLI) while also departing from the constraints of its predecessors.
- Refactor predecessors into independent components that are Go friendly (e.g.
io.ReadSeekCloser
for media assets). - Focus on core functionality; peripheral functionality should consume core functionality rather than be embedded within it.
examples | PRs welcome |
api.respot.go | package entry points |
api.media.go | media data asset support |
Contributions aligned with the above objectives are welcome. As this repository is in production, pull requests should demonstrate clear benefit. If you have ideas for improvements, please start a discussion.