Skip to main content

Terminal UI for IPTV with EPG browsing

Project description

tvTUI

tvTUI logo

tvTUI is a fast terminal UI for browsing IPTV channels with EPG (now/next) information, favorites, categories, and quick search.

Features

  • Search-as-you-type channel list with category tags.
  • EPG preview with now/next details and descriptions.
  • Favorites and history.
  • Mouse support (scroll, click, double-click).
  • Configurable player and subtitle defaults.

Install (pipx)

pipx install .

For a published package:

pipx install tvtui

Run

tvtui
tvtui -f
tvtui --categories

Keybindings

  • Enter play selected channel
  • f toggle favorites view
  • F add/remove favorite
  • c categories
  • m content mode (tv/movie/series)
  • v tv source (m3u/xtream/both)
  • s sort (default/name/category)
  • r refresh channels/EPG
  • / search mode
  • Left/Right cycle description
  • t subtitles on/off (next playback)
  • h toggle help panel
  • q quit

Mouse:

  • Wheel scroll
  • Click select
  • Double-click play

Configuration

Config file defaults to ~/.config/tvtui/config.json.

{
  "epg_url_m3u": "https://raw.githubusercontent.com/doms9/iptv/refs/heads/default/EPG/TV.xml",
  "epg_url_xtream": "http://xtreamcode.ex/xmltv.php?username=Mike&password=1234",
  "source_url": "https://s.id/d9Base",
  "streamed_base": "https://raw.githubusercontent.com/doms9/iptv/default/M3U8",
  "show_help_panel": true,
  "use_emoji_tags": false,
  "player": "auto",
  "player_args": ["--ontop"],
  "custom_command": ["myplayer", "--flag"],
  "custom_subs_on_args": ["--subs=on"],
  "custom_subs_off_args": ["--subs=off"],
  "mpv_subs_on_args": ["--sub-visibility=yes", "--sid=auto"],
  "mpv_subs_off_args": ["--sub-visibility=no", "--sid=no"],
  "vlc_sub_track": 1,
  "subs_enabled_default": false,
  "xtream_base_url": "http://xtreamcode.ex:8080",
  "xtream_username": "Mike",
  "xtream_password": "1234",
  "xtream_use_for_tv": true,
  "tv_source_mode": "both",
  "epg_fuzzy_match": true,
  "epg_fuzzy_threshold": 0.85
}

Xtream API

If xtream_base_url, xtream_username, and xtream_password are set, use m to toggle content mode between live TV, movies, and series. Use v to toggle the TV source between m3u, xtream, and both. When tv_source_mode is both, channels are tagged with [M3U] or [XT] in the list.

Requirements

  • Python 3.9+
  • mpv or vlc for playback

Disclaimer

The default channel and EPG sources are provided for inspiration and testing. tvTUI is not affiliated with, endorsed by, or sponsored by those sources or their authors.

License

MIT. See LICENSE.

Project details


Download files

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

Source Distribution

tvtui-2.1.0.tar.gz (2.5 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tvtui-2.1.0-py3-none-any.whl (17.4 kB view details)

Uploaded Python 3

File details

Details for the file tvtui-2.1.0.tar.gz.

File metadata

  • Download URL: tvtui-2.1.0.tar.gz
  • Upload date:
  • Size: 2.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for tvtui-2.1.0.tar.gz
Algorithm Hash digest
SHA256 dfd457d674d5ed4e4b845208df9ff3a071aae89ed61912eaf000f6db68ec4898
MD5 fecf72c9702c0947a722a41742df0f47
BLAKE2b-256 d3ec854b631712e2329a7e77346b58a334b7a5161741e73bd00da550b2646f73

See more details on using hashes here.

File details

Details for the file tvtui-2.1.0-py3-none-any.whl.

File metadata

  • Download URL: tvtui-2.1.0-py3-none-any.whl
  • Upload date:
  • Size: 17.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for tvtui-2.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6fe16dd33a505d1a54360e0d15e14a2276b527aca39a994e1159ad05b7e56f9a
MD5 f3318da0cec06c1743a966013cec8e12
BLAKE2b-256 3664b90eed965a463f3319e8066f575d56ccd0de2e144bf6ee8929240491993c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page