{"id":13910524,"url":"https://github.com/yogeshwaran01/lyricy","last_synced_at":"2026-01-17T06:24:56.564Z","repository":{"id":42225723,"uuid":"510639901","full_name":"yogeshwaran01/lyricy","owner":"yogeshwaran01","description":"A command line lyrics utility tool which search and add lyrics to your offline songs. 🎵","archived":false,"fork":false,"pushed_at":"2023-09-19T17:25:28.000Z","size":16212,"stargazers_count":34,"open_issues_count":1,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-09-17T11:35:54.699Z","etag":null,"topics":["cli","downloader","lyrics","lyrics-fetcher","lyrics-finder","lyrics-search","mp3","music","pypi","python","songs","spotify"],"latest_commit_sha":null,"homepage":"https://lyricy.yogeshwaran01.repl.co/#/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yogeshwaran01.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-07-05T07:55:34.000Z","updated_at":"2025-04-28T03:38:52.000Z","dependencies_parsed_at":"2024-11-25T19:45:17.503Z","dependency_job_id":null,"html_url":"https://github.com/yogeshwaran01/lyricy","commit_stats":{"total_commits":46,"total_committers":1,"mean_commits":46.0,"dds":0.0,"last_synced_commit":"b39ea1a4b9ad05f288f4b29d6063b6ccec7d5f52"},"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/yogeshwaran01/lyricy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yogeshwaran01%2Flyricy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yogeshwaran01%2Flyricy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yogeshwaran01%2Flyricy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yogeshwaran01%2Flyricy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yogeshwaran01","download_url":"https://codeload.github.com/yogeshwaran01/lyricy/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yogeshwaran01%2Flyricy/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28502216,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T04:31:57.058Z","status":"ssl_error","status_checked_at":"2026-01-17T04:31:45.816Z","response_time":85,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","downloader","lyrics","lyrics-fetcher","lyrics-finder","lyrics-search","mp3","music","pypi","python","songs","spotify"],"created_at":"2024-08-07T00:01:31.389Z","updated_at":"2026-01-17T06:24:56.543Z","avatar_url":"https://github.com/yogeshwaran01.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"\u003c!-- headings --\u003e\n\n\u003ch1 align=\"center\"\u003e 🎼 lyricy \u003c/h1\u003e\n\n\u003cp align=\"center\"\u003eA command line lyrics utility tool which search and add lyrics to your offline songs.\u003c/p\u003e\n\n\u003c!-- Badges --\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://pypi.org/project/lyricy/\"\u003e\n    \u003cimg alt=\"PyPi\" src=\"https://img.shields.io/pypi/v/lyricy.svg\"/\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://pepy.tech/project/lyricy\"\u003e\n    \u003cimg alt=\"Downloads\" src=\"https://pepy.tech/badge/lyricy\"/\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/yogeshwaran01/lyricy/stargazers\"\u003e\u003cimg alt=\"GitHub stars\" src=\"https://img.shields.io/github/stars/yogeshwaran01/lyricy\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/yogeshwaran01/lyricy/network\"\u003e\n    \u003cimg alt=\"GitHub forks\" src=\"https://img.shields.io/github/forks/yogeshwaran01/lyricy\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/yogeshwaran01/lyricy/blob/master/LICENSE.txt\"\u003e\n    \u003cimg alt=\"GitHub license\" src=\"https://img.shields.io/github/license/yogeshwaran01/lyricy?color=blue\"/\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/psf/black\"\u003e\n    \u003cimg alt=\"Code style\" src=\"https://img.shields.io/badge/codestyle-Black-blue\"/\u003e\n    \u003c/a\u003e\n    \u003cimg alt=\"GitHub Repo size\" src=\"https://img.shields.io/github/repo-size/yogeshwaran01/lyricy\"/\u003e\n    \u003ca href=\"https://github.com/yogeshwaran01/lyricy/actions/workflows/python-publish.yml\"\u003e\n    \u003cimg alt=\"Upload lyricy to pypi\" src=\"https://github.com/yogeshwaran01/lyricy/actions/workflows/python-publish.yml/badge.svg\"/\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/yogeshwaran01/lyricy/actions/workflows/python-package.yml\"\u003e\n    \u003cimg alt=\"Python package\" src=\"https://github.com/yogeshwaran01/lyricy/actions/workflows/python-package.yml/badge.svg\"/\u003e\n    \u003c/a\u003e\n\u003c/p\u003e\n\n\u003c/hr\u003e\n\n## Why lyricy ?\n\nWe can use [spotDL/spotify-downloader](https://github.com/spotDL/spotify-downloader) to download our spotify playlist and songs along with album art and metadata. But it does not add the lyrics of the songs in song metadata. lyricy search for the lyrics of the song add to song metadata.\n\nyou can use [Retro music player](https://github.com/RetroMusicPlayer/RetroMusicPlayer) for android to listen the offline local songs with synced lyrics.\n\n## Features\n\n- Used as a Python package, Desktop application and mobile application (PWA)\n- Easy to add lyrics to your offline songs\n- Preview of lyrics\n- Synced lyrics with lrc time tags\n- Lyrics without lrc tags\n- Save lyrics as lrc file\n- Add your own lyrics or downloaded lyrics to songs\n\n## Usage\n\n- [Using as GUI tool](#gui)\n- [Using as a CLI tool](#cli)\n- [Using as a python package](#python-package)\n\n### GUI\n\nGUI is built with [flet](https://flet.dev/)\n\n![demo](https://cdn.jsdelivr.net/gh/yogeshwaran01/lyricy@latest/demo/dem_lyricy_gui.gif)\n\n- [Web Application](https://lyricy.yogeshwaran01.repl.co/#/)\n- [Desktop Application for Linux](https://github.com/yogeshwaran01/lyricy/releases/download/1.2/lyricy-gui-linux.tar.gz)\n- [Desktop Application for Windows](https://github.com/yogeshwaran01/lyricy/releases/download/1.2/lyricy-gui-windows.zip)\n- Use PWA to install in android\n\n### CLI\n\n#### Installation\n\nUsing pip\n\n```bash\npip install lyricy\n```\n\nWindows user download this [executable file](https://github.com/yogeshwaran01/lyricy/releases/download/1.2/lyricy.exe)\n\n![demo](https://github.com/yogeshwaran01/lyricy/blob/master/demo/demo_lyricy.gif?raw=true)\n\n```txt\nUsage: python -m lyricy [OPTIONS] COMMAND [ARGS]...\n\n  A command line lyrics utility tool which search and add lyrics to your\n  offline songs.\n\nOptions:\n  --help  Show this message and exit.\n\nCommands:\n  add     Search and add lyrics to given TRACK.\n  remove  Remove lyrics from given TRACK.\n  search  Search for lyrics for given track or query\n  show    Show the lyrics of TRACK if available.\n```\n\n- [Searching for lyrics using your queries](#searching-for-lyrics-using-your-queries)\n- [Searching for lyrics for your track](#searching-for-lyrics-for-your-track)\n- [Adding lyrics](#adding-lyrics)\n- [Remove lyrics](#remove-lyrics)\n- [Changing lyrics provider](#changing-lyrics-provider)\n- [Show lyrics](#show-lyrics)\n- [Downloading lrc file](#downloading-lrc-file)\n- [Add lrc file to song](#add-lrc-file-to-song)\n\n#### Searching for lyrics using your queries\n\n```txt\nUsage: python -m lyricy search [OPTIONS]\n\n  Search for lyrics for given track or query\n\nOptions:\n  -t, --track PATH       file path of track\n  -d, --disable-preview  Disable the preview\n  -l, --only-lyrics      Show Lyrics Only (without LRC tag)\n  -s, --save TEXT        Save file as .lrc\n  -q, --query TEXT       search query of track name\n  -p, --provider TEXT    Lyrics provider name [rc] or [mo]\n  --help                 Show this message and exit.\n```\n\n```bash\nlyricy search --query \"jolly yo gymkanna\"\n```\n\n#### Searching for lyrics for your track\n\nTrack must have album metadata `title`\n\n```bash\nlyricy search --track 'Imagine Dragons - Believer.mp3'\n```\n\nAfter searching it print list of lyrics, enter the index number lyrics to get the full lyrics\n\n#### Adding lyrics\n\nAdding lyrics to track metadata to get synced lyrics\n\n```txt\nUsage: python -m lyricy add [OPTIONS] TRACK\n\n  Search and add lyrics to given TRACK.\n\n  TRACK is the filepath of track.\n\nOptions:\n  -q, --query TEXT       search for this query instead of track name\n  -d, --disable-preview  Disable the preview\n  --show                 Print the lyrics and ask for confirmation\n  --lrc PATH             Lyrics file to add on track\n  -p, --provider TEXT    Lyrics provider name [rc] or [mo]\n  --help                 Show this message and exit.\n```\n\n```bash\nlyricy add 'Imagine Dragons - Believer.mp3'\n```\n\nselect the preferred lyrics for the song to add it\n\nIf track does not have metadata `title` or any other irrelevant name, use can use `--query` option to override this.\n\n```bash\nlyricy add 'some-track.mp3' --query \"vikram title track\"\n```\n\n#### Changing lyrics provider\n\nBy default the lyrics provider is is megalobiz, but you can use other provider is rclyricsband\n\n- `rc` for [https://rclyricsband.com/](https://rclyricsband.com/)\n- `mo` for [https://www.megalobiz.com/](https://www.megalobiz.com/)\n\n```bash\nlyricy add 'some-track.mp3' --query \"vikram title track\" --provider rc\n```\n\n```bash\nlyricy search --query \"karka kark\" --provider mo\n```\n\n#### Remove lyrics\n\n```txt\nUsage: lyricy remove [OPTIONS] TRACK\n\n  Remove lyrics from given TRACK.\n\n  TRACK is the filepath of track.\n\nOptions:\n  --help  Show this message and exit.\n```\n\n```bash\nlyricy remove 'Imagine Dragons - Believer.mp3'\n```\n\n#### Show lyrics\n\n```txt\nUsage: lyricy show [OPTIONS] TRACK\n\n  Show the lyrics of TRACK if available.\n\n  TRACK is the filepath of track.\n\nOptions:\n  -l, --only-lyrics  Show Lyrics Only (without LRC tag)\n  --help             Show this message and exit.\n```\n\n```bash\nlyricy show 'Imagine Dragons - Believer.mp31\n```\n\n#### Downloading lrc file\n\n```bash\nlyricy search --query \"new york\" --save \"new_york\"\n```\n\nThis search and ask for the prompt, select any song it will download and save as `lrc` file\n\n#### Add lrc file to song\n\n```bash\nlyricy add track.mp3 --lrc track.lrc\n```\n\nIt will add the lyrics to song metadata\n\n### Python Package\n\n#### Install\n\nUsing pip\n\n```bash\npip install lyricy\n```\n\n#### Simple Usage\n\n```python\n\u003e\u003e\u003e from lyricy import Lyricy\n\n\u003e\u003e\u003e l = Lyricy()\n\u003e\u003e\u003e results = l.search(\"karka karka\")\n\u003e\u003e\u003e selected_lyrics = results[0]\n\u003e\u003e\u003e selected_lyrics.fetch()\n\n\u003e\u003e\u003e selected_lyrics.lyrics\n\u003e\u003e\u003e selected_lyrics.lyrics_without_lrc_tags\n\n```\n\n#### Saving and adding lyrics to track\n\n```python\n\u003e\u003e\u003e selected_lyrics.save(\"lyrics.lrc\")\n\u003e\u003e\u003e selected_lyrics.add_to_track(\"path_to_track.mp3\")\n```\n\n#### Using Other Providers\n\nDefault provider is [https://www.megalobiz.com/](https://www.megalobiz.com/), but you can use other provider is [https://rclyricsband.com/](https://rclyricsband.com/).\n\n```python\n\u003e\u003e\u003e from lyricy import Lyricy, Providers\n\n\u003e\u003e\u003e l = Lyricy()\n\u003e\u003e\u003e results = l.search(\"vikram\", provider=Providers.RCLYRICSBAND)\n\u003e\u003e\u003e selected_lyrics = results[0]\n\u003e\u003e\u003e selected_lyrics.fetch()\n\n\u003e\u003e\u003e selected_lyrics.lyrics\n\u003e\u003e\u003e selected_lyrics.lyrics_without_lrc_tags\n```\n\n## Dev Setup\n\n- Clone repo\n- Install package requirements\n\n```bash\npip install -r requirements\n```\n\n- Install dev requiremnts\n\n```bash\npip install black flake8 pytest\n```\n\n- Linting\n\n```bash\nblack\nflake8 -v\n```\n\n- Test\n\n```bash\npytest -v\n```\n\n## Lyrics Providers\n\n- [https://www.megalobiz.com/](https://www.megalobiz.com/)\n- [https://rclyricsband.com/](https://rclyricsband.com/)\n\n## Contributions\n\nContributions are Welcome. Feel free to report bugs in issue and fix some bugs by creating pull requests. Comments, Suggestions, Improvements and Enhancements are always welcome.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyogeshwaran01%2Flyricy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyogeshwaran01%2Flyricy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyogeshwaran01%2Flyricy/lists"}