A simple Python package for searching and retrieving music information from various music platforms APIs, including Deezer, iTunes, Spotify, and YouTube Music.
- Simple & Easy integration with popular music APIs.
- Search for music by artist and song title across multiple platforms.
- It uses
RapidFuzz
to compare & return the best match so that you can be sure you got what you asked for without having to worry and doing all that work by yourself. - Retrieve detailed music information, including album art, release dates, lyrics, ISRC, and UPC codes.
Right now, the following music platforms are available in yutipy for searching music. New platforms will be added in the future. Feel free to request any music platform you would like me to add by opening an issue on GitHub or by emailing me.
Deezer
: https://www.deezer.comiTunes
: https://music.apple.comKKBOX
: https://www.kkbox.comSpotify
: https://spotify.comYouTube Music
: https://music.youtube.com
You can install the package using pip. Make sure you have Python 3.8 or higher installed.
pip install -U yutipy
Here's a quick example of how to use the yutipy
package to search for a song on Deezer:
from yutipy.deezer import Deezer
with Deezer() as deezer:
result = deezer.search("Artist Name", "Song Title")
print(result)
For more usage examples, see the Usage Examples page in docs.
The yutipy
package includes a CLI tool that allows you to search for music directly from the command line and configure API keys interactively.
You can use the CLI tool to search for music across multiple platforms:
yutipy-cli "Rick Astley" "Never Gonna Give You Up" --limit 3 --normalize
artist
(required): The name of the artist.song
(required): The title of the song.--limit
: The number of results to retrieve (default: 5).--normalize
: Normalize non-English characters for comparison.--verbose
: Enable logging in the terminal.--service
: Specify a single service to search (e.g.,deezer
,spotify
,itunes
).
To set up your API keys interactively, use the configuration wizard:
yutipy-config
The wizard will guide you through obtaining and setting up API keys for supported services like Spotify and KKBOX. If the required environment variables are already set, the wizard will skip those steps.
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Optionally, create an issue to discuss the changes you plan to make.
- Create a new branch linked to that issue.
- Make your changes in the new branch.
- Write tests if you add new functionality.
- Ensure all tests pass before opening a pull request.
- Open a pull request for review.
Thank you for your contributions!
This project is licensed under the MIT License. See the LICENSE file for details.