suan-dl is a python script (and standalone executable) for ripping music from playlists found on suan.fm, hopefully with as little fuss as possible.


Because suan.fm is a really good service, and the fact that everything on it is hosted offsite - on sites with tried-and-true download methods - makes it really easy to rip stuff off of it without destroying their bandwidth, or triggering a bazillion DMCA claims. (RIP 8tracks, probably.)

Also, it'd be nice to not have to worry about losing all of these playlists because tracks get taken down/moved around on YouTube/Soundcloud.


suan-dl was written and tested under Python 2.7.10, and uses the following external modules:

The code itself is less than 200 lines and is pretty straightforward. There are also some standalones, for people who don't know how to/don't want to use Python.

As part of youtube-dl, suan-dl also needs ffmpeg installed - sort of, at least; the script should run fine without it, but the output files tend to be broken, and likely won't work in most music players. You can get ffmpeg here (https://ffmpeg.org/). More details on installation are in the OS-specific standalone folders.


You've got a few solutions.

Use the script

The only python script in this repo is suan-dl.py. Once you have the two external libraries installed (both should be easily accessible through pip), you run it like any other script. It's only tested under Python 2.7.10 at the moment, and I don't really plan on changing that - it might work on earlier/older versions, but no guarantees.

Run the standalone

Currently, I have standalones for 64-bit OS X and Windows. If you have everything you need installed, you should be able to double click the enclosed executables with not problems; if you run into issues, check the enclosed readmes.


Either way, the script has only one argument, and it's optional: the URL of the suan.fm mix to rip from. Syntax for different systems is as follows:


python suan-dl.py URL

OS X Standalone:

./suan-dl URL

Windows Standalone (uh, i think):

/the/full/path/to/suan-dl.exe URL

You can also double click on either of the executables, and you will be prompted for a URL instead.

The output is a folder, with the same name as the mixtape at the given URL, located at the location of the shell/terminal/command line/whatever.

The script will fail if it's given a malformed URL, if it can't open the given URL, or if there's already a folder where the script wants to create one for the mixtape. It might crash in some other ways, too.


If you want to "compile" a standalone for your system: make sure you can run the script normally, install pyinstaller (http://www.pyinstaller.org/), and run:

pyinstaller --onefile suan-dl.py

I wrote this in an afternoon so don't @ me (or actually, maybe do?)