Skip to main content

ytTerm player (BETA)

Play youtube playlists as audio on linux terminal

Build Status PyPI version PyPI pyversions PyPI license

About

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

Features:

  • 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)

Installation

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 https://github.com/TimeTraveller-San/yTermPlayer
$ cd yTermPlayer/yTermPlayer/
$ python __main__.py

Dependencies

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

KeyBindings

Key Function
s save current list
enter select option/play song at selection
n play next song
p play previous 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

Screenshots

Working video: https://youtu.be/rQpO1qBmxlY

Working video 2: https://youtu.be/bQrNtcIcHc0

Start screen :

Start Screem

The UI will automatically use your terminal colors.

Blue Yellow

FAQ

  • 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: time.traveller.san@gmail.com Twitter: https://twitter.com/timetravellertt

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

Release files for yTermPlayer 1.2.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for yTermPlayer 1.2.2
File Size Uploaded
yTermPlayer-1.2.2.tar.gz 10.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for yTermPlayer 1.2.2
File Interpreter ABI Platform
yTermPlayer-1.2.2-py3-none-any.whl Python 3 none any Details

Total release size:34.4 kB

Release files / yTermPlayer-1.2.2.tar.gz

Download URL yTermPlayer-1.2.2.tar.gz
Size 10.6 kB
Tags Source
SHA-256 checksum
How to use checksums
b2a5c124e192b958134cccb9080ee7b664f341effb07e397504edcd750a5e9e5
BLAKE2b-256 checksum
How to use checksums
5f51327782848198bcdb3f3005601e0106257b10d209cd626ac33b7f006cda1b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.22.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.6.8

Release files / yTermPlayer-1.2.2-py3-none-any.whl

Download URL yTermPlayer-1.2.2-py3-none-any.whl
Size 23.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2346a5732f059612d6fb93a1a5be80e549bf08a388d0f63642abe53cf771de75
BLAKE2b-256 checksum
How to use checksums
2f510d423536105fb88a89bacfac36af4fde95c91d52d809e2955caddff1b66c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.22.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.6.8

Release history Release notifications | RSS feed

This release

1.2.2 This release

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.2

2 release files

1.1.0

1 release file

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page