In association with heise online

13 March 2013, 10:33

Shiva provides a RESTful API for private music collections

  • Twitter
  • Facebook
  • submit to slashdot
  • StumbleUpon
  • submit to reddit

Shiva screenshot
Zoom The Shiva client in action
Source: Mozilla Hacks

Developer Alvaro Mouriño has announced the release of Shiva, a RESTful API for private music collections, on the Mozilla Hacks blog. His aim is to enable like-minded people to access their music remotely without having to reveal private information or usage habits to commercial music services.

The software, named after a crater, will be able to index music and provision the resulting metadata via an API, allowing it to be searched and organised as required. Users will also be able to grant access to friends and Shiva instances will be able to communicate with each other.

One of the two components required for the service is the Shiva server. This is written in Python and uses SQLAlchemy for object-relational mapping and Flask for HTTP communication. According to Mouriño, its role is to index the music and publish the API. Installation of the server is described in Mouriño's announcement.

The BandsInTown API for concerts and scraping modules for locating song lyrics on specific web sites can be used to import additional information into Shiva. Since the API needs to remain available when playing a file, Mouriño also describes how to set up a dedicated file server for user projects. The second key Shiva component is the client, which is a single-page application with AngularJS and HTML5 capabilities for viewing collections and compiling and playing playlists. The client uses a server-side proxy (included with the client) to access music.

The project is currently in its infancy, which is why there are few code samples and the implementation is only able to accept MP3 files. According to the project description on GitHub, planned features include the ability to use other audio and video formats, a radio mode for streaming data, and music sharing with friends, irrespective of whether pieces are located on the user's own server or that of a friend. Items high on the development agenda are a JavaScript library for encapsulating API calls and a Shiva client for Firefox OS. Work is also under way on Shiva2Shiva communication to allow music to be shared between two Shiva instances.

Interested users are invited to try out Shiva, submit their criticism and suggestions, and get involved in project development. The project source code is available on GitHub, including a disclaimer on applicable laws, as Mouriño has not overlooked the potential for illegal use. The software is licensed under the MIT License.


Print Version | Send by email | Permalink:

  • July's Community Calendar

The H Open

The H Security

The H Developer

The H Internet Toolkit