Mopidy extension for playing music from TuneIn. Listen to the world's radio with 70,000 stations of music, sports and news streaming from every continent.
This product uses TuneIn but is not endorsed, certified or otherwise approved in any way by TuneIn. TuneIn is the registered trade mark of TuneIn Inc.
Install by running:
python3 -m pip install mopidy-tuneinSee https://mopidy.com/ext/tunein/ for alternative installation methods.
Most stations stream MP3, which the GStreamer plugins that Mopidy already
needs can decode. Some stations only stream AAC. To play those, install
gstreamer1.0-plugins-bad or gstreamer1.0-libav, or the packages that hold
these GStreamer plugin sets on your system. If you do not want the AAC
stations at all, see the tunein/formats config value below.
The extension is enabled by default when it is installed. Configuration is not required, but you can add this to your Mopidy configuration file:
[tunein]
timeout = 5000
formats = mp3, aacThe following configuration values are available:
tunein/enabled: If the TuneIn extension should be enabled or not. Defaults totrue.tunein/filter: Limit the search results tostationorprogram. Leave it blank to turn off filtering. Defaults to blank.tunein/timeout: Milliseconds before giving up waiting for results. Defaults to5000.tunein/formats: The stream formats to ask TuneIn for, as a comma separated list. TuneIn leaves out the stations that it cannot give you in any of these formats. Defaults tomp3, aac. Set it tomp3if you do not have the GStreamer plugins for AAC. Mopidy plays the MP3 stream of a station when there is one, and uses AAC only for the stations that have no MP3 stream.tunein/location: The place to use for the "Local Radio" category, as a comma separated latitude and longitude pair, e.g.51.5,-0.13. Leave it blank to let TuneIn choose the place from your IP address.
Browse the "TuneIn" directory to find stations by category, by location, or among the ones that are popular now. TuneIn gives 25 stations at a time, so a category that holds more ends with a "More stations" entry that opens the next 25.
The following functionality is not implemented:
- User login and access to saved stations.
Clone the repo using, e.g. using gh:
gh repo clone mopidy/mopidy-tuneinEnter the directory, and install dependencies using uv:
cd mopidy-tunein/
uv syncTo run all tests and linters in isolated environments, use tox:
toxTo only run tests, use pytest:
pytestTo format the code, use ruff:
ruff format .To check for lints with ruff, run:
ruff check .To check for type errors, use pyright:
pyright .To make a release to PyPI, go to the project's GitHub releases page and click the "Draft a new release" button.
In the "choose a tag" dropdown, select the tag you want to release or create a
new tag, e.g. v0.1.0. Add a title, e.g. v0.1.0, and a description of the changes.
Decide if the release is a pre-release (alpha, beta, or release candidate) or should be marked as the latest release, and click "Publish release".
Once the release is created, the release.yml GitHub Action will automatically
build and publish the release to
PyPI.
- Original author: Nick Steel
- Current maintainer: Nick Steel
- Contributors
Thanks to Marius Wyss for the original version of this extension, and to Brian Hornsby's XBMC plugin, which it was based on.