Skip to main content

Display lyrics of the currently playing song in a terminal.

Project description

tulyp

screenshot

tulyp displays the lyrics of the currently playing song in the terminal. It checks for lyrics from 3 sources (stops at the first successful result):

  • genius.com
  • google.com
  • azlyrics.com

Tulyp only works with music players which are compliant with the mpris specification (e.g. Spotify, ncspot). You can specify the player to use as a commandline argument: tulyp spotify. If no player is provided ncspot will be used.

Lyrics will be displayed in a curses window and you can use the arrow keys or j/k to scroll up and down.

Lyrics get saved under XDG_CACHE_HOME/tulyp/artist-title (default: ~/.cache/tulyp/artist-title). If there are cached lyrics for a song, no queries will be executed.

Tulyp continously checks what song is currently playing and automatically reloads itself, to show the appropriate lyrics. You can switch between lyrics sources with number keys:

  • 1 - genius
  • 2 - google
  • 3 - azlyrics

Dependencies (they will be installed with tulyp)

  • beautifulsoup4 to extract lyrics from html
  • dbus-python to get the currently playing song through dbus
  • lyricsgenius provides API to get lyrics from genius.com
  • psutil needed when using ncspot to get the pid of the ncspot process
  • requests to search for lyrincs on google

Install

From PyPi

pipx install tulyp

From source

git clone https://github.com/laszloszurok/tulyp.git
cd tulyp
python -m build
pipx install dist/tulyp-0.0.3-py3-none-any.whl

Naming

  • we got a terminal user interface -> tu
  • we are dealing with lyrics -> ly
  • the program is written in python -> p

I am so good at naming things.

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

tulyp-0.1.1.tar.gz (104.9 kB view details)

Uploaded Source

Built Distribution

tulyp-0.1.1-py3-none-any.whl (10.7 kB view details)

Uploaded Python 3

File details

Details for the file tulyp-0.1.1.tar.gz.

File metadata

  • Download URL: tulyp-0.1.1.tar.gz
  • Upload date:
  • Size: 104.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.19

File hashes

Hashes for tulyp-0.1.1.tar.gz
Algorithm Hash digest
SHA256 9b276437f34a5bce58fe0aea5ae2135d698518af6bf004dd8064da7ea9c2df10
MD5 9529be221c2b1e2ce327d76fe067aa91
BLAKE2b-256 58776af60141d8572d9d60e08b6a9c507c251cdcbdf2da8e608289483bbf4a49

See more details on using hashes here.

File details

Details for the file tulyp-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: tulyp-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 10.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.19

File hashes

Hashes for tulyp-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d575937290b04b3d43898a643b1f0f06300317a52a3c34e652459b3a1f8f15ac
MD5 0d2ceff4f22170d9efd9214fc7cafac8
BLAKE2b-256 0c29a6def58d0e5beb353a9137b789bd1649d60007b359be661745289cc51e89

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