.github/workflows | ||
docs | ||
librespot | ||
proto | ||
.deepsource.toml | ||
.gitignore | ||
CODE_OF_CONDUCT.md | ||
LICENSE.txt | ||
README.md | ||
requirements.txt | ||
ROADMAP.md | ||
setup.py | ||
sider.yml |
Librespot-Python
Open Source Spotify Client
About The Project
This project was developed to make the music streaming service Spotify available on any device.
Note
It is still in the idea stage, so there is a possibility of unintended behavior or major specification changes.
We DO NOT encourage piracy and DO NOT support any form of downloader/recorder designed with the help of this repository and in general anything that goes against the Spotify ToS.
For other guidelines, please see CODE_OF_CONDUCT.md.
Getting Started
Prerequisites
Installation
Stable Version *still not working.
pip install librespot
Snapshot Version *Recommended
pip install git+https://github.com/kokarare1212/librespot-python
Usage
Get Spotify's OAuth token
from librespot.core import Session
session = Session.Builder() \
.user_pass("<Username>", "<Password>") \
.create()
aceess_token = session.tokens().get("playlist-read")
Get Music Stream
*Currently, music streaming is supported, but it may cause unintended behavior.
from librespot.core import Session
session = Session.Builder() \
.user_pass("<Username>", "<Password>") \
.create()
track_id = TrackId.from_uri("<TrackID(ex, spotify:track:xxxxxxxxxxxxxxxxxxxxxx)>")
stream = session.content_feeder().load(track_id, VorbisOnlyAudioQuality(AudioQuality.AudioQuality.VERY_HIGH), False, None)
# stream.input_stream.stream().read() to get one byte of the music stream
Please read this document for detailed specifications.
Roadmap
Please read ROADMAP.md.
Contributing
Pull requests are welcome.
License
Distributed under the Apache-2.0 License. See LICENSE.txt
for more information.
Related Projects
- Librespot (Concept)
- Librespot-Java (Core)
Special thanks
Coming soon