Skip to main content

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.

yotuerm

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 or youtube-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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

youterm-0.2.0.tar.gz (20.4 kB view details)

Uploaded Source

Built Distribution

youterm-0.2.0-py3-none-any.whl (22.1 kB view details)

Uploaded Python 3

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

Hashes for youterm-0.2.0.tar.gz
Algorithm Hash digest
SHA256 faec1cdef62a7ea16200232f3b6f8e4e3e2eae44b21575d4d9ce22f47012c34b
MD5 c877647971260a648eb2fdbed48e0f62
BLAKE2b-256 f06149a0db4d16eb2c68875d72c72e682db0832e18d4d53b0d884b25c6fe0712

See more details on using hashes here.

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

Hashes for youterm-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 103a683108366d7791b945a4423c194d6d6e5777f1426a8751b0adbd6b7e8585
MD5 ecf614281f44cf2b7d58b739d4851702
BLAKE2b-256 19ff0381b92cfb099ff5179b579420add0d3f3a553c53ae7349f152fc89170dd

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page