Numu Tracker API
This is the home for the third version of the Numu Tracker API. If you're not familiar with what Numu Tracker is, check out the iOS App repository to see what it is all about, or keep reading.
The Numu Tracker API is a service that allows users to follow a list of musicians, and receive a personalized 'to-do list' of releases by those musicians that they need to listen to. Users can mark releases as "Listened" to check them off their list. Releases by artists can also be browsed individually, and the personalized release list can be filtered in various ways (by Album, EP, Single, Live Albums, Remixes, Other). Numu Tracker can also provide simple statistics letting a user know how much of their releases they've listened to. In the future, the service will provide recommendations from outside the user's library.
It supports an iOS app that receives push notifications of various types (which are sent by the API using Pusher Beams):
- On the day new releases come out.
- And when recent (last 6 mos) releases are added.
- When upcoming releases are added.
- When past releases are added.
What's new in v3?
APIv3 is being built to support the next generation of the iOS app. The main goals of the project are:
- Expand the Numu Tracker API to be more fully featured (e.g. support password reset requests)
- Better infrastructure / code architecture
- More FOSS friendly for local / distributed development.
- Improve the app experience with the following feature improvements:
- Releases by multiple artists should be properly supported (no more duplicate releases).
- You should be able to add individual releases to Your Releases without following the artist.
- Links to Apple Music (or Spotify) should be handled server-side so that incorrect links can be corrected for all users.
- Improved API performance / response times.
- Seamless account import between versions.
- Better library statistics.
- Some day: Recommendations!
git clone https://github.com/amiantos/numutracker_api.git .
To seed the database with content, you can attach a shell to the API container and run
flask import-artists (or hit one of the import endpoints as a registered user) and then run
The live production API can be accessed at https://api.numutracker.com. Note that you need an API key to access any endpoints, a development API key is available which provides access to only one account (firstname.lastname@example.org) if you're interested in using the Numu API in your own practice projects. You can find it in this repo if you go looking for it, or it's already set up in the
endpoints.paw file in this repo.
If you would like unrestricted access to the production database for your own app, please contact me at email@example.com.
Special thanks to Digital Ocean for providing hosting services for the API.
See also the list of contributors.
If you'd like to beta test versions of Numu Tracker for iOS, you can join via this TestFlight link.
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details
Numu Tracker wouldn't exist without the following services: