Skip to main content

nichromecast (Linux TUI)

Cast media from the terminal to Chromecast, DLNA renderers, and smart TVs — without Google's proprietary SDK.

../BACKENDS.md is the source of truth for how casting works; this package implements it.

Install

pip install -e .          # from this directory

Requires Python 3.10+. Depends only on rich and zeroconf.

Use

nichromecast                       # interactive TUI
nichromecast scan                  # list receivers and exit
nichromecast cast video.mp4        # cast a local file
nichromecast cast https://example.com/clip.mp4 --device "living room"
nichromecast cast 'https://www.youtube.com/watch?v=…'

Local files are served over HTTP from your machine, because receivers always pull and never accept a push — so the process stays alive until you stop it.

TUI keys

Screen Keys
Connect / select, enter connect, r rescan, s settings, q quit
Player space play/pause, / seek 10s, +/- volume, l load, x stop, b back
Settings / move, enter toggle or edit, b back

Backends

Backend Discovery Plays arbitrary URLs Plays YouTube
Cast v2 mDNS _googlecast._tcp yes via stream extraction (not yet implemented)
DLNA / UPnP SSDP AVTransport yes no
YouTube lounge DIAL over SSDP no yes, with ads

The right backend is chosen from what the device advertises plus the kind of thing you asked to play. Casting YouTube via the lounge backend drives the TV's own YouTube app, so its ads are unavoidable.

Known gaps

  • Automatic fallback is not yet gated on the playback-confirmation latch in BACKENDS.md.
  • The lounge backend reports the video ID as the title; fetching real titles would need another YouTube request.
  • No AirPlay support, so most Apple TVs and some recent LG/Samsung sets are out of reach.

Download files

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

Source Distribution

nichromecast-0.3.0.tar.gz (48.7 kB view details)

Uploaded Source

Built Distribution

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

nichromecast-0.3.0-py3-none-any.whl (40.4 kB view details)

Uploaded Python 3

File details

Details for the file nichromecast-0.3.0.tar.gz.

File metadata

  • Download URL: nichromecast-0.3.0.tar.gz
  • Upload date:
  • Size: 48.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.12

File hashes

Hashes for nichromecast-0.3.0.tar.gz
Algorithm Hash digest
SHA256 f4fb13eaec6bec43162369516da74f1405f3e7d4da6e60ea551bb6e376205cf8
MD5 c80009c5c1c09d58537e7d13505af0e6
BLAKE2b-256 b4d5d5c52804bc290cc4cee5ef860e90f3ec7bdc9be85bdaab3ecc12fbb2c7dc

See more details on using hashes here.

File details

Details for the file nichromecast-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: nichromecast-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 40.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.12

File hashes

Hashes for nichromecast-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 28ef7c7518de23d8c688903ea5f22697ef88c7f650426b59ac14d91cffd97252
MD5 54079eb85e8fa168f6e667aacaddcf50
BLAKE2b-256 3a4a46c8143c21810cefbb5d75ca26675fe16f872bfcd7997066429557cbddc2

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