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.
Metadata
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 | Provenance | Actions |
|---|---|---|---|---|
| nichromecast-0.4.0.tar.gz | 48.7 kB | Without provenance | Details for nichromecast-0.4.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| nichromecast-0.4.0-py3-none-any.whl | Python 3 | none | any | Details for nichromecast-0.4.0-py3-none-any.whl |
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
|
Security for nichromecast 0.4.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.