Skip to content
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

Move to different spotify library #222

Closed
varunagrawal opened this issue Jun 23, 2019 · 5 comments
Closed

Move to different spotify library #222

varunagrawal opened this issue Jun 23, 2019 · 5 comments

Comments

@varunagrawal
Copy link

Thank you for all your hard work, @jodal.

Do you think it would be a good idea to move to a different library for Spotify integration, such as spotipy?
I've used this library in the past and its support for the Web API is pretty spot on. I can help build it up for Mopidy.

@varunagrawal varunagrawal changed the title Move to custom spotify client Move to different spotify library Jun 23, 2019
@jodal jodal transferred this issue from jodal/pyspotify Jun 23, 2019
@jodal
Copy link
Member

jodal commented Jun 23, 2019

I moved your issue from the pyspotify repo to mopidy-spotify repo. pyspotify will forever remain just a wrapper around libspotify, and as libspotify seems abandoned, pyspotify is complete.

As for moving Mopidy-Spotify to something else, yes, I think the right way forward is to use the Spotify Web API for as much as possible and pyspotify only for the music retrieval part which isn't available through the Web API. I think there's some work on this already in various branches. #182 is a relevant issue, though quite long and undigestable at this point. @kingosticks probably has a better overview of the current state of things here than I have.

I personally won't prioritize any work on Mopidy-Spotify until Mopidy 3 is out, running on Python 3.

@kingosticks
Copy link
Member

kingosticks commented Jun 23, 2019

I haven't touched my branch in some months due to lack of time, but I have been using it without issue so I need to see where the tests got to and make a PR.

As for the general topic, we already have #114 and #110 so I don't think we need another.

EDIT: but to be clear, I agree with Jodal. And I don't think there's much point to using spotipy over improving on what we already have for accessing the Web API.

@varunagrawal
Copy link
Author

I raised this issue since there has been very little movement regarding the Spotify plugin for Mopidy since #110 and #114. I know you guys have lives beyond Mopidy but I would like to contribute and get this to a stable place.

I'm currently having all sorts of issues. First the install instructions are outdated, so you get pyspotify version issues when you either install from deb or PyPI. Only installing from source seems to work. Second, I'm facing authentication issues, particularly for the token refresh. I figured this is simply because of pyspotify being outdated and rather than reinventing the wheel, using a solid library like spotipy seemed to be a good idea.

I'd love to hear your thoughts on this and help contribute as much as I can. :)

@kingosticks
Copy link
Member

The deb installation instructions should work as they are. If you are having problems with them, or with authentication then please create a new post at https://discourse.mopidy.com/ with specifics and we can work through that. If we do have an issue there it'd be great to iron that out, nobody (on a Debian-based system) should have to install from source.

We already have our own wheel which we use for searching and to retrieve images so it's not really re-inventing. Adding a dependency on Spotipy doesn't seem worth it to me and it restricts our options when it comes to getting things performant enough for use within Mopidy.

@trygveaa
Copy link
Member

Second, I'm facing authentication issues, particularly for the token refresh. I figured this is simply because of pyspotify being outdated and rather than reinventing the wheel, using a solid library like spotipy seemed to be a good idea.

Even if we use the web api (via custom implementation or spotipy) for more stuff, we still have to use pyspotify for playback since the web api doesn't support that. So any authentication issues won't be solved by implementing more of the web api or switching to spotipy.

So if you're having issues with authentication in pyspotify, that would have to be solved either way. I'm not aware of any issues though. I haven't used mopidy-spotify much lately, but haven't had any issues with authentication or playback the times I've used it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants