Skip to content
Stream youtube playlists as audio on linux terminal
Branch: master
Clone or download
TimeTraveller-San Merge pull request #14 from saltlakeryan/patch-1
Fix bug where exception crashes program
Latest commit f2e217b Jul 19, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
screenshots pipped Sep 1, 2018
yTermPlayer Fix bug where exception crashes program Jul 18, 2019
.gitignore Add complete gitignores for pypi project Jun 30, 2019
.travis.yml Add travis ci config file Jun 30, 2019
LICENSE pipped Sep 1, 2018 Update Jul 13, 2019
requirements.txt v1.2.0 update May 24, 2019 fixed requirements Jun 30, 2019

ytTerm player (BETA)

Play youtube playlists as audio on linux terminal

Build Status PyPI version PyPI pyversions PyPI license


ytTerm player is a terminal youtube music player. It's completely written in python.

UI: Made using a wrapper for curses called urwid

Player: Handled using python-mpv

Stream fetch: Audio streams from youtube are fetched using pafy


  • Import and play youtube playlists on terminal
  • Save playlists in library
  • Use several playback modes such as repeat one, repeat list, random
  • Download complete list (coming soon)


Set up a virtual environment and install the dependencies:

$ pip install -r requirements.txt

python3 pip :-

$ pip install ytermplayer
$ yterm

or Git clone :-

$ git clone
$ cd yTermPlayer/yTermPlayer/
$ python


Python 3

ytTerm player uses a number of open source projects to work properly:

ytTerm player itself is open source. Feel free to modify and distribute the code


Key Function
s save current list
enter select option/play song at selection
n play next song
p play previous song
h play first song
e play last song
space pause/play song
u volume up
d volume down
q quit
1 playback mode: Repeat one
2 playback mode: Repeat list
3 playback mode: None
r playback mode: Random
more features coming soon


Start screen :

Start Screem

The UI will automatically use your terminal colors.

Blue Yellow

Working video:

Working video 2:


  • How to fix out of range/url not found errors?

YouTube keeps changing its structure so it's important you have installed the latest version of youtube-dl as follows: pip install --upgrade youtube_dl

  • Where are my playlists stored and how to delete playlists?

Playlists are saved in $HOME/.yTermPlayer/playlists as plain text. You may delete or add new playlists directly here.

  • How to contact me?

Email: Twitter:

Known Bugs

  • Buggy / unexpected playback behavior It was caused because of race conditions and absence of critical section among the threads. Fixed it using semaphores

  • If some VLC error starts showing up on the screen, just resize the terminal and it will be gone Completely removed VLC and replaced it with much more minimal and faster mpv player. Thank to python-mpv by jaseg

You can’t perform that action at this time.