MCPcopy Index your code
hub / github.com/G3VV/Yank

github.com/G3VV/Yank @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
28 symbols 105 edges 5 files 0 documented · 0%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

image

Yank

Yank is a lightweight online spotify song and playlist downloader with easy setup.

Features

  • Download Spotify Songs: Yank enables you to download songs directly from Spotify.
  • Download Spotify Playlists: Yank also allows you to download your entire playlist directly from Spotify.
  • Song Caching: Yank caches songs to prevent unnecessary API calls and to speed up the download process.
  • High Quality Audio: Yank downloads songs in high-quality audio formats for an optimal listening experience.
  • Metadata Retrieval: Yank fetches metadata information like artist, album, and track name.

Try it yourself!

  1. Head to https://yank.g3v.co.uk/track/5EWFuo4ObEnfndc57sTuIo
  2. Replace 5EWFuo4ObEnfndc57sTuIo with a Spotify song ID and wait for it to download.

Want to download a playlist?

  1. Head to https://yank.g3v.co.uk/playlist/6V1papmDzwR16G3PBZEjTI
  2. Replace 6V1papmDzwR16G3PBZEjTI with a Spotify playlist ID and wait for it to download.
  3. Can take significantly longer depending on the playlist size.

Prerequisites

  • Python: Yank is written in Python and requires Python 3.6 or higher to run.
  • Spotify Developer Account: You'll need to create a Spotify Developer account and obtain API credentials.
  • Deezer ARL: You'll need your accounts ARL, usually stored in the cookies of the Deezer website.

Installation

  1. Clone the repository:
git clone https://github.com/G3VV/yank.git
cd yank
  1. Install the required dependencies:
pip install -r requirements.txt
  1. Set up the .env file.
deezer_arl=DEEZER_ACCOUNT_ARL # Your deezer account ARL cookie or https://www.youtube.com/watch?v=5bTwnPchjss
spotify_id=SECRET_ID # spotify client id @ https://developer.spotify.com/dashboard
spotify_secret=SPOTIFY_SECRET # spotify client secret @ https://developer.spotify.com/dashboard

port = 7000 # Port to run the server on
ip = 0.0.0.0 # keep as 0.0.0.0 for automatic selection

Usage

  1. Open a terminal and navigate to the Yank directory:
cd /path/to/yank
  1. Run Yank:
python index.py
  1. Go to http://localhost:7000/track/<track_id>

    Replace track_id with the actual Spotify track ID.

License

This project is licensed under the GPL 3.0 License - see the LICENSE file for details.

Star History Chart

Core symbols most depended-on inside this repo

get_deezer_track
called by 2
util/deezer.py
totalCaches
called by 1
util/statistics.py
totalSongs
called by 1
util/statistics.py
totalPlaylists
called by 1
util/statistics.py
totalSongData
called by 1
util/statistics.py
totalStorage
called by 1
util/statistics.py
songStorage
called by 1
util/statistics.py
playlistStorage
called by 1
util/statistics.py

Shape

Function 24
Route 4

Languages

Python100%

Modules by API surface

util/statistics.py8 symbols
index.py8 symbols
util/download.py7 symbols
util/spotify.py4 symbols
util/deezer.py1 symbols

For agents

$ claude mcp add Yank \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact