Skip to content

Latest commit

 

History

History
66 lines (44 loc) · 2.74 KB

README.md

File metadata and controls

66 lines (44 loc) · 2.74 KB

Despot

version python downloads unlicense

ruff poetry pre-commit

A fast and simple client to free your music from that green streaming service.

despot demo

Setup

Install via pipx:

pipx install despot

Despot follows semver versioning. It is also available as container image codeberg.org/drunkontee/despot. Images are tagged as v1.2.3, v1.2, and v1, as well as latest pointing to the most recent version, for example:

docker run --tty --rm codeberg.org/drunkontee/despot:v0
docker run --tty --rm codeberg.org/drunkontee/despot:v0.6
docker run --tty --rm codeberg.org/drunkontee/despot:v0.6.0
docker run --tty --rm codeberg.org/drunkontee/despot:latest

Usage

Download songs like so:

despot https://open.….com/track/07ZCaJfuutIaoDxYrkdzQY

You can pass multiple URLs at once. Partial URLs (just the path) work, too:

despot /track/07ZCaJfuutIaoDxYrkdzQY

By default, despot will place files in ./downloads. You can use --destination to change the destination directory.

Use --help to see all other available options:

despot --help

Notes

  • Despot does not transcode audio. Transcoding is terrible, so you'll have to do that yourself.
  • Despot uses fixed pattern for naming files within the destination directory:
    • Singular Tracks: {artist} - {title}.{ext}

    • Entire shows/podcasts and singular episodes: {show}/{publish_time} - {o.title}.{ext}

    • Albums and entire arists: {album_artist}/{album} ({album_year})/{disc:02d}-{track:02d} {title}.{ext}

    • Playlists: {playlist_name}/{idx:03d} {artist_or_show} - {name}.{ext}

      These are the only patterns. Deal with it.

Disclaimer

Using this code to connect to the API of that green streaming service is probably forbidden by them, and downloading unencrypted files violates their TOS. You should not use this code. Pretty please with sugar on top.