parole
Parole is a TUI tool to display lyrics from the song you are currently playing !
Quick start
1. Dependencies
You will need pipx or pip to run this program
2. Download the program
pipx install parole-lyrics
or if you don't have pipx
pip install parole-lyrics
3. Launch the program
parole
Usage
Here is a list of the arguments that it can take :
-h, --help Show the available arguments
--delay DELAY Delay at which the program will update lyrics
--no-song-infos Don't show song infos at the start of the song
--no-ansi Don't use terminal colors
--line-count LINE_COUNT Number of lyrics shown before and after the current one
Features
- Show lyrics in terminal
- Multiplatform - Uses MPRIS or winsdk depending on your OS
- Some customization options
- Sync lyrics with music
Development
You can see infos on how to contribute and develop on the CONTRIBUTING.md file
How does that works ?
The program takes the current song using two ways, depending on the OS. If it runs on Linux, it will create a LinuxMediaProvider which uses MPRIS (through dbus-next) to get infos, while on Windows it uses a WindowsMediaProvider that uses winsdk to get infos. If the song changed, it sends a request to LRCLib to get the lyrics and display them !
Stardance
This tool was made for Stardance, a program ran by Hack Club
My project page | Hack Club | Stardance Program
AI Notice
AI was used to do research in this project, but the code was always rewritten and edited by an human.
Credit
Libraries
- dbus-next, to interact with MPRIS on Linux : pypi.org/project/dbus-next
- Winsdk, to interact with Windows : pypi.org/project/winsdk
- Textual, to display the TUI : textual.textualize.io
API
- LRCLib, to get the lyrics : lrclib.net
Project management
- UV, to manage the project : docs.astral.sh/uv
- uv-script, to create custom scripts (lint, format...) : pypi.org/project/uv-script
- Ruff, to lint and format : docs.astral.sh/ruff
- Deptry, to check dependencies problems : deptry.com
Metadata
Release files for parole-tui 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| parole_tui-1.0.0.tar.gz | 6.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| parole_tui-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 14.7 kB
Release files / parole_tui-1.0.0.tar.gz
| Download URL | parole_tui-1.0.0.tar.gz |
|---|---|
| Size | 6.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
86433dd8daaed6e430ebd870c1628ff385e90f13035a9216d0ecf00051f04134
|
|
BLAKE2b-256 checksum How to use checksums |
929b4b3776be72ee7b83f5cdc0d288832ad2f37818e7674baaf8f217f6fb7d4d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 9, 2026.
Transparency logRelease files / parole_tui-1.0.0-py3-none-any.whl
| Download URL | parole_tui-1.0.0-py3-none-any.whl |
|---|---|
| Size | 7.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e33347b7cc3a15164b9d1769cc3d8f770e4b76ce46aa00fa0fd79b8c6a6debd7
|
|
BLAKE2b-256 checksum How to use checksums |
0c0ea57d95fb13a829bffecfa3705583697a13759bd9f599821e4e415a41c9fa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 9, 2026.
Transparency log