Skip to main content

Jam to NPR Tiny Desk concerts with downloads and streaming

Project description

tinyjam

alicia queen keys

💃🏽- 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


Download files

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

Source Distribution

tinyjam-1.2.0.tar.gz (39.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tinyjam-1.2.0-py3-none-any.whl (35.1 kB view details)

Uploaded Python 3

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

Hashes for tinyjam-1.2.0.tar.gz
Algorithm Hash digest
SHA256 53e8d7ccdd48f6088efe08c4ce4c0550e57dc4f1daf6b50841f8297b6fbeeb6c
MD5 4b61fcb3a7641c83f9e0e993bc72fedc
BLAKE2b-256 779899729a5b1d71282f3238de879a622803398e0d9bc891b549e0964cdb8060

See more details on using hashes here.

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

Hashes for tinyjam-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 48fa44d9314bb75a0c61e1c809e634ae948a666b3d558c160aa959b61e1a3bd3
MD5 a2a8edc87a95b03551ac688bcdbdcb77
BLAKE2b-256 cc75b8711af341b06734edb7dff94627c28ae9bb1e8f25023d3e9103e950b65d

See more details on using hashes here.

Supported by

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