Jam to NPR Tiny Desk concerts with downloads and streaming
Project description
tinyjam
💃🏽- jam 2 tiny desks
Quick Start
This is a CLI tool to scrape and listen to a curated collection of Tiny Desks. To use it, first build a artist list (one name per line). For example,
> echo "Anderson .Paak" >> jamlist
> tinyjam -l ./jamlist -o ~/videos/tinydesk
My list lives in /assets/aryapproved/masterlist. Launching tinyjam with no options
will automagically grab it and begin streaming it (functionally the same as
tinyjam -l ./masterlist -n)
You can also pull out performance segments by specifying timestamps i.e.
> echo "Nick Hakim (00:00-05:22)" >> mixtape
> tinyjam -l ./mixtape -o ~/videos/tinydesk
We also have support for subtitle downloading, playlist creation, and cacheing! JAMON
Installation
macOS (Homebrew)
brew tap aryakaul/formulae
brew install tinyjam
tinyjam
Any platform (PyPI)
pip install tinyjam
# tinyjam expects `mpv` and `yt-dlp` on your PATH
# ffmpeg is required when using timestamp features
tinyjam
From source
git clone https://github.com/aryakaul/tinyjam.git
cd tinyjam
pip install --upgrade pip build
pip install -e .
tinyjam -l ./arya-curated -o ~/videos/tinydesk
Command Line
usage: tinyjam [-h] -l LIST [-o OUTPUT] [-n] [-p {shuffle,forward,reverse}] [-f] [-c] [--dry-run] [-v]
[-j JOBS] [-S SUBTITLES]
Jam to tiny desks with tinyjam (Python edition)
options:
-h, --help show this help message and exit
-l LIST, --list LIST path to artist list file (one per line) (default: None)
-o OUTPUT, --output OUTPUT
directory to place downloads (default: jamsesh)
-n, --nodownload stream directly from YouTube instead of downloading (default: False)
-p {shuffle,forward,reverse}, --playlist-order {shuffle,forward,reverse}
playback order: shuffle (default), jam list order (forward), or reverse jam list
order (default: shuffle)
-f, --force clear downloads and archive before downloading (default: False)
-c, --color display videos in color (default is grayscale) (default: False)
--dry-run, --noop print commands without invoking mpv or yt-dlp (default: False)
-v, --verbose increase logging verbosity (default: False)
-j JOBS, --jobs JOBS number of parallel downloads to run (0 = auto / use all available cores)
(default: 0)
-S SUBTITLES, --subtitles SUBTITLES
preferred subtitle language (downloads only when the Tiny Desk is in a different
language) (default: en)
Tinyjam keeps a download cache, retries through yt-dlp, and can fetch manual subtitles when a Tiny Desk isn't in your preferred language. Use --nodownload to shuffle a curated list straight from YouTube, or let it fill ./jamsesh and loop locally via mpv. Running tinyjam with zero flags defaults to streaming my curated list.
Enjoy the desks ✨
Versioning
Releases are logged in CHANGELOG.md at the repo root. See the changelog for version history and release notes.
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tinyjam-1.2.0.tar.gz.
File metadata
- Download URL: tinyjam-1.2.0.tar.gz
- Upload date:
- Size: 39.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
53e8d7ccdd48f6088efe08c4ce4c0550e57dc4f1daf6b50841f8297b6fbeeb6c
|
|
| MD5 |
4b61fcb3a7641c83f9e0e993bc72fedc
|
|
| BLAKE2b-256 |
779899729a5b1d71282f3238de879a622803398e0d9bc891b549e0964cdb8060
|
File details
Details for the file tinyjam-1.2.0-py3-none-any.whl.
File metadata
- Download URL: tinyjam-1.2.0-py3-none-any.whl
- Upload date:
- Size: 35.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
48fa44d9314bb75a0c61e1c809e634ae948a666b3d558c160aa959b61e1a3bd3
|
|
| MD5 |
a2a8edc87a95b03551ac688bcdbdcb77
|
|
| BLAKE2b-256 |
cc75b8711af341b06734edb7dff94627c28ae9bb1e8f25023d3e9103e950b65d
|