Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
A command line Rdio tool (mostly for editing playlists)
Python
Branch: master

Require termtool 1.1

which also uses prettytable 0.7 calls.
latest commit 3da2a22110
@markpasc authored
Failed to load latest commit information.
bin
LICENSE Add readme and license
README.markdown
setup.py

README.markdown

rdio-cli

rdio-cli is a command line application for controlling some Rdio API functions. It can:

  • search Rdio for tracks, albums, and artists
  • show you tracks, albums, and artists by key (Rdio ID)
  • list your playlists
  • sort or shuffle a playlist
  • create a new playlist based on a song (using the Echo Nest API)

Installation

Install it as any other Python program:

$ python setup.py install

If you don't want to install its dependencies system-wide, try installing it in a virtual environment. As the Rdio client library is distributed as an egg, installing it with pip doesn't work. You can manually install the rdio dependency from github if you must use pip.

Configuring

First, you'll need a Rdio API key. You can register and create a key at developer.rdio.com. Once you have a key, run the configure command:

$ rdio configure
Consumer token: urjECXo8luFeEKw1NrjioUbd
Consumer secret: b0PZPLO9hb
Open this URL in your web browser to get an API PIN:

     https://www.rdio.com/oauth/authorize?oauth_token=FGTgBlc5lLylBrOgWA37l4zP

PIN: 7496
Echo Nest API key (optional):
Configured!

This saves an OAuth access token to your home directory in an .rdio file, so take care with it! Subsequent commands then use that access token to authenticate, so you need only configure the keys once.

As the Echo Nest API is only used with the improvise command, you only need to supply one to use that command. Sign up on the Echo Nest developer site to get an Echo Nest API key.

Usage

See rdio --help for supported commands.

$ rdio playlists 
+--------------------------------------------------------------+--------------------+--------------+---------+
|                             Name                             |       Owner        | Relationship |   Key   |
+--------------------------------------------------------------+--------------------+--------------+---------+
| ska                                                          | Mark Paschal       | Owner        | p113050 |
| Minimix: Cervidae and their predators                        | Mark Paschal       | Owner        | p47494  |
| Minimix: BBC Sound of 2009                                   | Mark Paschal       | Owner        | p18363  |
| Like!                                                        | Masayoshi Sekimura | Subscriber   | p66901  |
| 2010                                                         | Andre Torrez       | Subscriber   | p6557   |
+--------------------------------------------------------------+--------------------+--------------+---------+

$ rdio shuffle p113050
100% |#######################################################################################################|

$ rdio search moby south side
+----------------------------------------+----------------------------+----------+----------+
|                 Track                  |           Album            |  Artist  |   Key    |
+----------------------------------------+----------------------------+----------+----------+
| South side                             | Go - The Very Best of Moby | Moby     | t4104950 |
| South Side (Pete Heller Park Lane Dub) | Go - The Very Best of Moby | Moby     | t4105406 |
| South Side                             | Replay: A Tribute To Moby  | Tre' Lux | t1350298 |
| South Side                             | Play                       | Moby     | t2495635 |
+----------------------------------------+----------------------------+----------+----------+

$ rdio configure
Echo Nest API key (optional): va2SLf3lpGwEKYPxO
Configured!

$ rdio improvise t4104950
100% |#######################################################################################################|
Playlist improvised into http://rd.io/x/QV5FbjNes9U

$
Something went wrong with that request. Please try again.