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.
Release files for nichromecast 0.4.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| nichromecast-0.4.0.tar.gz | 48.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| nichromecast-0.4.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 89.1 kB
Release files / nichromecast-0.4.0.tar.gz
| Download URL | nichromecast-0.4.0.tar.gz |
|---|---|
| Size | 48.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
47e962efc966f1c4e9f38e03d63c4a4534736996b2374474502ae06b61412e38
|
|
BLAKE2b-256 checksum How to use checksums |
f067ee9acf0981e955798b7f00cf72aa756285d749b4bc0f65ff011dc7a7b1e6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.12
|
Release files / nichromecast-0.4.0-py3-none-any.whl
| Download URL | nichromecast-0.4.0-py3-none-any.whl |
|---|---|
| Size | 40.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9dc4b309485e754d858d8fceec2b08d9d597fff9aa310ed0cac0e22c42fed45c
|
|
BLAKE2b-256 checksum How to use checksums |
c64be0db81e438ee110f84c05caa9c4bd9f84b787407f336ff45d347db902d84
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.12
|