{"id":50368955,"url":"https://github.com/vaibkumr/ytermplayer","last_synced_at":"2026-06-01T04:00:50.834Z","repository":{"id":62590833,"uuid":"143535170","full_name":"vaibkumr/yTermPlayer","owner":"vaibkumr","description":"Stream youtube playlists as audio on linux terminal","archived":false,"fork":false,"pushed_at":"2025-01-13T17:11:56.000Z","size":4615,"stargazers_count":276,"open_issues_count":10,"forks_count":20,"subscribers_count":2,"default_branch":"master","last_synced_at":"2026-05-30T06:23:00.139Z","etag":null,"topics":["music","pafy","player","python","terminal","urwid","youtube"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vaibkumr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2018-08-04T14:20:36.000Z","updated_at":"2026-05-08T00:58:45.000Z","dependencies_parsed_at":"2022-11-04T07:16:33.280Z","dependency_job_id":null,"html_url":"https://github.com/vaibkumr/yTermPlayer","commit_stats":null,"previous_names":["vaibkumr/ytermplayer","timetraveller-san/ytermplayer"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/vaibkumr/yTermPlayer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vaibkumr%2FyTermPlayer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vaibkumr%2FyTermPlayer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vaibkumr%2FyTermPlayer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vaibkumr%2FyTermPlayer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vaibkumr","download_url":"https://codeload.github.com/vaibkumr/yTermPlayer/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vaibkumr%2FyTermPlayer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33759178,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-01T02:00:06.963Z","response_time":115,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["music","pafy","player","python","terminal","urwid","youtube"],"created_at":"2026-05-30T06:00:28.116Z","updated_at":"2026-06-01T04:00:50.793Z","avatar_url":"https://github.com/vaibkumr.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ytTerm player (BETA)\nPlay youtube playlists as audio on linux terminal\n\n[![Build Status](https://travis-ci.com/SamSamhuns/yTermPlayer.svg?branch=master)](https://travis-ci.com/SamSamhuns/yTermPlayer)\n[![PyPI version](https://badge.fury.io/py/yTermPlayer.svg)](https://badge.fury.io/py/yTermPlayer)\n[![PyPI pyversions](https://img.shields.io/pypi/pyversions/yTermPlayer.svg)](https://pypi.python.org/pypi/yTermPlayer/)\n[![PyPI license](https://img.shields.io/pypi/l/yTermPlayer.svg)](https://pypi.python.org/pypi/yTermPlayer/)\n[![Downloads](https://pepy.tech/badge/ytermplayer)](https://pepy.tech/project/ytermplayer)\n\n## About\nytTerm player is a terminal youtube music player. It's completely written in python.\n\n**UI**: Made using a wrapper for curses called [urwid][urwid]\n\n**Player**: Handled using [python-mpv](https://github.com/jaseg/python-mpv)\n\n**Stream fetch**: Audio streams from youtube are fetched using [pafy][pafy]\n\nFeatures:\n- Import and play youtube playlists on terminal\n- Save playlists in library\n- Use several playback modes such as repeat one, repeat list, random\n- Download complete list (coming soon)\n\n### Installation\n\nSet up a virtual environment and install the dependencies:\n```sh\n$ pip install -r requirements.txt\n```\n\npython3 pip :-\n```sh\n$ pip install ytermplayer\n$ yterm\n```\n\nor Git clone :-\n```sh\n$ git clone https://github.com/TimeTraveller-San/yTermPlayer\n$ cd yTermPlayer/yTermPlayer/\n$ python __main__.py\n```\n\n### Dependencies\n\nPython 3\n\nytTerm player uses a number of open source projects to work properly:\n\n*   [urwid][urwid]\n*   [python-mpv](https://github.com/jaseg/python-mpv)\n*   [pafy][pafy]\n*   python3\n*   mpv player (sudo pacman -S mpv) or (sudo apt-get install mpv)\n\nytTerm player itself is open source. Feel free to modify and distribute the code\n\n### KeyBindings\n\n| Key   | Function                             |\n| :---  | :---                                 |\n| s     | save current list                    |\n| enter | select option/play song at selection |\n| n     | play next song                       |\n| p     | play previous song                   |\n| h     | play first song                      |\n| e     | play last song                       |\n| space | pause/play song                      |\n| u     | volume up                            |\n| d     | volume down                          |\n| q     | quit                                 |\n| 1     | playback mode: Repeat one            |\n| 2     | playback mode: Repeat list           |\n| 3     | playback mode: None                  |\n| r     | playback mode: Random                |\nmore features coming soon\n\n\n### Screenshots\n### Start  screen :\n![Start Screem](https://i.imgur.com/rvVUmDP.png)\n### The UI will automatically use your terminal colors.\n![Blue](https://i.imgur.com/R8a0Zy5.png)\n![Yellow](https://i.imgur.com/TrHKuQg.jpg)\n\n   [urwid]: \u003chttps://github.com/urwid/urwid\u003e\n   [vlc]: \u003chttps://github.com/oaubert/python-vlc\u003e\n   [pafy]: \u003chttps://github.com/mps-youtube/pafy\u003e\n\n#### Working video:  \u003chttps://youtu.be/rQpO1qBmxlY\u003e\n#### Working video 2: \u003chttps://youtu.be/bQrNtcIcHc0\u003e\n\n### FAQ\n-   How to fix out of range/url not found errors?\n\nYouTube keeps changing its structure so it's important you have installed the latest version of youtube-dl as follows:\n` pip install --upgrade youtube_dl `\n\n-   Where are my playlists stored and how to delete playlists?\n\nPlaylists are saved in `$HOME/.yTermPlayer/playlists` as plain text. You may delete or add new playlists directly here.\n\n-   How to contact me?\n\n**Email:** time.traveller.san@gmail.com\n**Twitter:** \u003chttps://twitter.com/timetravellertt\u003e\n\n\n### Known Bugs\n-   ~~Buggy / unexpected playback behavior~~\nIt was caused because of race conditions and absence of critical section among the threads. Fixed it using semaphores\n\n-   ~~If some VLC error starts showing up on the screen, just resize the terminal and it will be gone~~\nCompletely removed VLC and replaced it with much more minimal and faster mpv player. Thank to [python-mpv by jaseg](https://github.com/jaseg/python-mpv)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvaibkumr%2Fytermplayer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvaibkumr%2Fytermplayer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvaibkumr%2Fytermplayer/lists"}