Skip to main content

A generic client to fetch lyrics from a song's data

Project description

Lyrics-Client

Get the lyrics of your favorite musics !

Features

  • Automatic lyrics fetching from different services
    • Currently supported : Genius, Musixmatch, AZLyrics
  • Title and artist verification to find the best match
  • Easy to use, straightforward interface
  • Extensive results information
  • Possible to use via DI integration

Installation

Pip

pip install lyrics-client

Poetry

Poetry is a Python dependency management and packaging tool. I actually use it for this project.

poetry add lyrics-client

Usage

There are 2 ways to use this library : using the LyricsClient object or via the DI.

Using LyricsClient

The library exposes the LyricsClient class. This class has 2 methods : get_lyrics and get_from_song.

Both methods do the same thing : fetching lyrics and returns the results in a list of FetchLyricsResult.

However, get_lyrics accept a FetchLyricsCommand object as parameter, while get_from_song accept a song title, the song artists and optionally the clients to use.

Example :

from lyrics_client import LyricsClient

client = LyricsClient()
results = client.get_from_song("in the end", "linkin park")

lyrics = results[0].lyrics

Using DI

The library also exposes a BaseLyricsClient interface and a add_lyrics_client function for Taipan-DI.

In this method, the clients are registered as a Pipeline. All you need to do is to resolve the pipeline and execute it.

Example :

from lyrics_client import BaseLyricsClient, add_lyrics_client, FetchLyricsCommand
from taipan_di import DependencyCollection

services = DependencyCollection()
add_lyrics_client(services)

provider = services.build()
client = provider.resolve(BaseLyricsClient)
request = FetchLyricsCommand("in the end", "linkin park")

results = client.exec(request)
lyrics = results[0].lyrics

Inspirations

This library is partially based on spotDL's spotify-downloader.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lyrics_client-0.0.2.tar.gz (7.9 kB view details)

Uploaded Source

Built Distribution

lyrics_client-0.0.2-py3-none-any.whl (12.4 kB view details)

Uploaded Python 3

File details

Details for the file lyrics_client-0.0.2.tar.gz.

File metadata

  • Download URL: lyrics_client-0.0.2.tar.gz
  • Upload date:
  • Size: 7.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.1 CPython/3.9.16 Linux/5.15.0-1038-azure

File hashes

Hashes for lyrics_client-0.0.2.tar.gz
Algorithm Hash digest
SHA256 2b615c9c1b0f96cdb8aaf87177f15160f56c7f682ccd68c3b9d945aaca1891b3
MD5 ee66348f47ce28918f00815f9c1b2e43
BLAKE2b-256 4d5107fdeef9f3621355270da1e2c56c6e9d817c7fba2866173603df2a8ca2f9

See more details on using hashes here.

File details

Details for the file lyrics_client-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: lyrics_client-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 12.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.1 CPython/3.9.16 Linux/5.15.0-1038-azure

File hashes

Hashes for lyrics_client-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 f30b77e230d046dad4cc02ab3fedb09d0dc5cf1681da2d08e4e1cbc61eaa375a
MD5 1a56ed0a67f2fb8982d20cf1dbd3c276
BLAKE2b-256 b42fc885667ed92ed785d48ab6ac97c79c947cad3c5ec04c6fe3e5f51b381454

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page