Skip to main content
Help us improve PyPI by participating in user testing. All experience levels needed!

Streamtuner2 is an internet radio browser

Project description

Streamtuner2 lists radio directory services like Shoutcast, Xiph, Live365, MyOggRadio, Jamendo. It allows listening via any audio player, and recording of streams via streamripper.


This isn’t yet a proper Python package, but a PYZ application.

It’s primarily here for beta testing.

Reusable components

A few components are reusable, and possibly of interest. (Public Domain, not even attribution required).

The uikit module provides a few Gtk abstractions

  • Mainly the TreeView list construction columns() which accepts a column-mapping structure and simpler dict-lists.
  • A pixbuf reader from internal PYZ package contents with some auto-decoding.
  • Widget wrpaping with background, alignment, hbox packing etc.

The action module contains a few utility functions for converting playlist formats:

  • M3U,
  • PLS,
  • XSPF,
  • JSPF,
  • ASX/WVX,
  • ASF,
  • SMIL,
  • .URL/DESKTOP files.

Channel data models

Furthermore the various radio directory services are implemented mostly as data models. They’re not completely separated from the application. Currently depend on a prepared requests session, an internal config.conf object, and some utility code. But they can be instantiated and used without active GUI components:

sys.path.insert(0, "./streamtuner2.pyz")

from channels.shoutcast import shoutcast
parser = shoutcast(parent=None)

stream_list = parser.update_streams("Pop")

Which returns a list of dictionaries, containing title, playing description, genre, streaming url, bitrate, format, etc.

Other available channel modules:

  • shoutcast
  • xiph
  • radionet
  • radionomy
  • myoggradio
  • jamendo
  • youtube
  • ubuntuusers
  • filtermusic
  • difm
  • dirble
  • internet_radio
  • radiobrowser
  • surfmusik
  • magnatune
  • listenlive
  • windowsmedia
  • tunein, etc.

Using them could perhaps be simplified further, properly separated from the main application and custom config instances etc. You know, if anybody indicated any interest…(?)

Project details

Release history Release notifications

This version
History Node


History Node


History Node


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
streamtuner2-2.2.0.rpm (308.0 kB) Copy SHA256 hash SHA256 RPM 2.7 Jan 1, 2017

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page