CLI tool to search for YouTube videos and play selected video/audio via MPV
Project description
YouTerm
CLI tool to search for YouTube videos and play selected
video/audio via mpv
.
Requirements
YouTube API
youterm
retrieves video informations using YouTube APIs. An API key is
needed. You can obtain one registering a Google developer profile, adding a
project and creating an API key adding the YouTube Data API v3 service at
this link.
Dependencies
youterm
does not rely on external Python libraries, although it uses
external programs to provide audio/video streaming:
mpv
yt-dlp
oryoutube-dl
Optional dependencies
To store the YouTube API safely the unix standard password manager pass
is required. youterm
looks for one password entry containing the API key at
api/youtube
, or any custom specified entry[^1], in the password-store[^2].
Alternatively you can pass the API key to youterm
as a command line argument
(see Usage) or using a config file[^3] (see
Configuration).
[^1]: You can specify custom pass
entries for the API key using a config file
(see Configuration)
[^2]: Create entry using pass insert api/youtube
or pass insert <entry>
for
custom entry (where <entry>
is a placeholder for the actual entry name)
[^3]: Not recommended
Installation
Install youterm
using pip
:
pip3 install youterm
Usage
Invoking youterm
with no flags defaults to audio only. Below the usage:
usage: youterm [-h] [-v] [-r <n>] [-a <api_key>] [-q <resolution>]
CLI tool to search for YouTube videos and play selected audio/video via MPV
options:
-h, --help show this help message and exit
-v, --video Play video
-r <n>, --results <n>
Number of search results displayed
-a <api_key>, --api <api_key>
YouTube Data API v3 key
-q <resolution>, --quality <resolution>
Choose video quality (if not available choose closest lower)
Configuration
You can specify your default options for youterm
using a config file[^4]
located at:
[^4]: ini
file structure
~/.config/youterm/config
on Linux and Unix based systems (following the XDG Base Directory specifications)C:\Users\<username>\AppData\Roaming\youterm\config
on Windows systems (where<username>
is a placeholder for the actual user name)
Below follows a configuration template:
[api]
# YouTube Data API v3 key (can be overridden using CLI argument)
key = <api_key>
# pass entry containing the API key (if you want to use pass to store the key)
# if not set defaults to: "api/youtube"
pass_entry = <pass_entry>
[search]
# default number of search results (can be overridden using CLI argument)
# if not set defaults to: 5
results = <num>
[video]
# default video resolution (can be overridden using CLI argument)
# if not set defaults to: bestvideo
# valid options are: 144, 240, 360, 480, 720, 1080, 1440, 2160
quality = <video_resolution>
Changelog
For the complete changelog see CHANGELOG.md.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file youterm-0.2.0.tar.gz
.
File metadata
- Download URL: youterm-0.2.0.tar.gz
- Upload date:
- Size: 20.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.6.0 importlib_metadata/4.8.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.64.0 CPython/3.10.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | faec1cdef62a7ea16200232f3b6f8e4e3e2eae44b21575d4d9ce22f47012c34b |
|
MD5 | c877647971260a648eb2fdbed48e0f62 |
|
BLAKE2b-256 | f06149a0db4d16eb2c68875d72c72e682db0832e18d4d53b0d884b25c6fe0712 |
File details
Details for the file youterm-0.2.0-py3-none-any.whl
.
File metadata
- Download URL: youterm-0.2.0-py3-none-any.whl
- Upload date:
- Size: 22.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.6.0 importlib_metadata/4.8.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.64.0 CPython/3.10.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 103a683108366d7791b945a4423c194d6d6e5777f1426a8751b0adbd6b7e8585 |
|
MD5 | ecf614281f44cf2b7d58b739d4851702 |
|
BLAKE2b-256 | 19ff0381b92cfb099ff5179b579420add0d3f3a553c53ae7349f152fc89170dd |