├── MANIFEST.in ├── generate_dist.sh ├── doc ├── source │ ├── 200x160_lt.png │ ├── util.rst │ ├── proxies.rst │ ├── config.rst │ ├── catalog.rst │ ├── song.rst │ ├── playlist.rst │ ├── artist.rst │ ├── contents.rst │ ├── track.rst │ ├── _templates │ │ ├── layout.html │ │ └── index.html │ └── conf.py └── Makefile ├── .gitmodules ├── INSTALL ├── setup.cfg ├── AUTHORS ├── pyechonest ├── __init__.py ├── results.py ├── config.py ├── sandbox.py ├── proxies.py ├── util.py ├── catalog.py ├── track.py ├── playlist.py ├── song.py └── artist.py ├── .gitignore ├── examples ├── tempo.py ├── show_tempos.py └── try_new_things.py ├── setup.py ├── LICENSE ├── mkrelease.sh ├── README.md └── CHANGELOG /MANIFEST.in: -------------------------------------------------------------------------------- 1 | include README.md 2 | -------------------------------------------------------------------------------- /generate_dist.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | /usr/bin/env python setup.py bdist_egg -------------------------------------------------------------------------------- /doc/source/200x160_lt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/variable/pyechonest/master/doc/source/200x160_lt.png -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "doc/build/html"] 2 | path = doc/build/html 3 | url = git@github.com:echonest/pyechonest.git 4 | -------------------------------------------------------------------------------- /doc/source/util.rst: -------------------------------------------------------------------------------- 1 | Util -- utility functions 2 | ========================= 3 | 4 | .. automodule:: pyechonest.util 5 | :members: -------------------------------------------------------------------------------- /doc/source/proxies.rst: -------------------------------------------------------------------------------- 1 | Proxies -- object proxies 2 | ========================= 3 | 4 | .. automodule:: pyechonest.proxies 5 | :members: -------------------------------------------------------------------------------- /INSTALL: -------------------------------------------------------------------------------- 1 | As per usual python routine, the following should get you setup: 2 | 3 | $ python setup.py build 4 | $ python setup.py install 5 | 6 | -------------------------------------------------------------------------------- /doc/source/config.rst: -------------------------------------------------------------------------------- 1 | Config -- configuration file 2 | ============================ 3 | .. automodule:: pyechonest.config 4 | :members: 5 | 6 | 7 | -------------------------------------------------------------------------------- /setup.cfg: -------------------------------------------------------------------------------- 1 | [build_sphinx] 2 | source-dir = doc/source 3 | build-dir = doc/build 4 | all_files = 1 5 | 6 | [upload_sphinx] 7 | upload-dir = doc/build/html 8 | -------------------------------------------------------------------------------- /doc/source/catalog.rst: -------------------------------------------------------------------------------- 1 | Catalog -- catalog methods 2 | ========================== 3 | 4 | .. autoclass:: pyechonest.catalog.Catalog 5 | :members: 6 | 7 | .. automethod:: pyechonest.catalog.list_catalogs 8 | -------------------------------------------------------------------------------- /AUTHORS: -------------------------------------------------------------------------------- 1 | This file contains the name of the people who have contributed to 2 | pyechonest. The names are sorted alphabetically by last name. 3 | 4 | Aaron Daubman 5 | David DesRoches 6 | Reid Draper 7 | Ben Lacker 8 | Scotty Vercoe 9 | Brian Whitman 10 | Tyler Williams -------------------------------------------------------------------------------- /pyechonest/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # encoding: utf-8 3 | 4 | """ 5 | Copyright (c) 2010 The Echo Nest. All rights reserved. 6 | Created by Tyler Williams on 2009-06-25. 7 | """ 8 | 9 | __all__ = ['config', 'util', 'proxies', 'artist', 'catalog', 'song', 'track', 'playlist'] 10 | -------------------------------------------------------------------------------- /doc/source/song.rst: -------------------------------------------------------------------------------- 1 | Song -- song methods 2 | ========================= 3 | 4 | .. autoclass:: pyechonest.song.Song 5 | :members: 6 | 7 | .. automethod:: pyechonest.song.identify 8 | 9 | .. automethod:: pyechonest.song.search 10 | 11 | .. automethod:: pyechonest.song.profile -------------------------------------------------------------------------------- /doc/source/playlist.rst: -------------------------------------------------------------------------------- 1 | Playlist -- playlist methods 2 | ============================ 3 | 4 | .. autoclass:: pyechonest.playlist.Playlist 5 | :members: 6 | 7 | .. automethod:: pyechonest.playlist.basic 8 | 9 | .. automethod:: pyechonest.playlist.static 10 | 11 | .. autoclass:: pyechonest.playlist.DeprecatedPlaylist 12 | :members: -------------------------------------------------------------------------------- /doc/source/artist.rst: -------------------------------------------------------------------------------- 1 | Artist -- artist methods 2 | ========================= 3 | 4 | .. autoclass:: pyechonest.artist.Artist 5 | :members: 6 | 7 | .. automethod:: pyechonest.artist.search 8 | 9 | .. automethod:: pyechonest.artist.top_hottt 10 | 11 | .. automethod:: pyechonest.artist.top_terms 12 | 13 | .. automethod:: pyechonest.artist.similar -------------------------------------------------------------------------------- /doc/source/contents.rst: -------------------------------------------------------------------------------- 1 | Contents 2 | ======== 3 | 4 | .. toctree:: 5 | :maxdepth: 4 6 | 7 | artist 8 | 9 | song 10 | 11 | track 12 | 13 | playlist 14 | 15 | catalog 16 | 17 | util 18 | 19 | config 20 | 21 | proxies 22 | 23 | Indices and tables 24 | ================== 25 | 26 | * :ref:`genindex` 27 | * :ref:`search` 28 | -------------------------------------------------------------------------------- /doc/source/track.rst: -------------------------------------------------------------------------------- 1 | Track -- track methods 2 | ========================= 3 | 4 | .. autoclass:: pyechonest.track.Track 5 | :members: 6 | 7 | .. automethod:: pyechonest.track.track_from_file 8 | 9 | .. automethod:: pyechonest.track.track_from_filename 10 | 11 | .. automethod:: pyechonest.track.track_from_url 12 | 13 | .. automethod:: pyechonest.track.track_from_id 14 | 15 | .. automethod:: pyechonest.track.track_from_md5 16 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.py[cod] 2 | 3 | # C extensions 4 | *.so 5 | 6 | # Packages 7 | *.egg 8 | *.egg-info 9 | dist 10 | build 11 | doc/build 12 | eggs 13 | parts 14 | bin 15 | var 16 | sdist 17 | develop-eggs 18 | .installed.cfg 19 | lib 20 | lib64 21 | 22 | # Installer logs 23 | pip-log.txt 24 | 25 | # Unit test / coverage reports 26 | .coverage 27 | .tox 28 | nosetests.xml 29 | 30 | # Translations 31 | *.mo 32 | 33 | # Mr Developer 34 | .mr.developer.cfg 35 | .project 36 | .pydevproject 37 | 38 | # IntelliJ IDEA 39 | .idea 40 | *.iml 41 | -------------------------------------------------------------------------------- /doc/source/_templates/layout.html: -------------------------------------------------------------------------------- 1 | {% extends "!layout.html" %} 2 | 3 | {% block extrahead %} 4 | {{ super() }} 5 | {%- if not embedded %} 6 | 10 | 11 | {%- endif %} 12 | {% endblock %} 13 | 14 | {% block rootrellink %} 15 | 16 | 17 |
136 | Tap into The Echo Nest's Musical Brain for the best music search, information, recommendations and remix tools on the web. 137 |
138 |139 | Pyechonest is an open source Python library for the Echo Nest API. With Pyechonest you have Python access to the entire set of API methods including: 140 |
141 ||
151 | Getting Started Contents |
156 | Search page General Index |
Some simple examples can be found in the 165 | README. 166 |
167 |168 | For more complex examples of what you can make with pyechonest, check out the bundled examples. 169 |
170 | 171 |173 | Pyechonest is available as an easy-installable 175 | package on the Python Package 176 | Index. You can install it by running: 177 |
178 | 179 | "easy_install pyechonest" 180 | 181 | 182 |The code can be found in a git repository, at 183 | https://github.com/echonest/pyechonest.
184 | 185 | {% endblock %} 186 | -------------------------------------------------------------------------------- /examples/try_new_things.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # encoding: utf-8 3 | 4 | """ 5 | Copyright (c) 2010 The Echo Nest. All rights reserved. 6 | Created by Tyler Williams on 2010-09-01 7 | 8 | # This program is free software; you can redistribute it and/or modify 9 | # it under the terms of the GNU General Public License as published by 10 | # the Free Software Foundation; either version 2, or (at your option) 11 | # any later version. 12 | # 13 | # This program is distributed in the hope that it will be useful, 14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | # GNU General Public License for more details. 17 | """ 18 | 19 | # ======================== 20 | # = try_new_things.py = 21 | # ======================== 22 | # 23 | # enter a few of your favorite artists and create a playlist of new music that 24 | # you might like. 25 | # 26 | 27 | import sys, os, logging 28 | import xml.sax.saxutils as saxutils 29 | from optparse import OptionParser 30 | from pyechonest import artist, playlist 31 | 32 | # set your api key here if it's not set in the environment 33 | # config.ECHO_NEST_API_KEY = "XXXXXXXXXXXXXXXXX" 34 | logger = logging.getLogger(__name__) 35 | 36 | class XmlWriter(object): 37 | """ code from: http://users.musicbrainz.org/~matt/xspf/m3u2xspf 38 | Copyright (c) 2006, Matthias Friedrich