Skip to main content

REPL to stream music from a Subsonic server to a chromecast

Project description

CastMe

CastMe is a simple Python REPL that allows you to cast music from a Subsonic server to a Chromecast device.

NOTE: The subsonic server must expose a URL over HTTPS. And since the chromecast will be the one connecting to the server, the certificate need to be trusted. This project is tested against Navidrome only.

It's pretty bare-bone for now, but as I am using it more and more I will add the features that I need.

Installation (pip / pipx / ...)

castme is available directly in pypi:

pip install castme

Just create the configuration file using --init and edit the content:

> castme --init
Configuration initialized in /home/blizarre/.config/castme.toml, please edit it before starting castme again

Castme will look for the castme.toml file in /etc or in the current directory as well. use --config in conjunction with --init to set the location of the configuration file.

Usage

  • Run the script, a REPL will appear:
> poetry run castme
Loading config from /home/blizarre/.config/castme.toml
looking for chromecast Living Room TV
Chromecast ready
>> play Harold enItal
Playing song Harold in the mountains (Adagio - Allegro) / Harold en Italie by Hector Berlioz
>> queue
 0 The Pilgrim's Procession (Allegretto) / Harold en Italie by Hector Berlioz
 1 Serenade of an Abruzzian highlander (Allegro assai) / Harold en Italie by Hector Berlioz
 2 The Robbers' orgies (Allegro frenetico) / Harold en Italie by Hector Berlioz
>> playpause
>> playpause
>> quit

commands: help list (l), next (n), play (p), playpause (pp), queue (q), quit (x), volume (v). Aliases are defined for the most common commands (in parenthesis).

Installation (dev)

  • Clone the repository
  • Install the required dependencies using Poetry or the install makefile target:
make install
  • Copy the config file template "castme/assets/castme.toml.template" to one of the supported directory and update the values inside
    • "castme.toml"
    • "~/.config/castme.toml"
    • "/etc/castme.toml"

During development, make dev will run the formatters and linters for the project.

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

castme-0.2.2.tar.gz (18.1 kB view details)

Uploaded Source

Built Distribution

castme-0.2.2-py3-none-any.whl (20.1 kB view details)

Uploaded Python 3

File details

Details for the file castme-0.2.2.tar.gz.

File metadata

  • Download URL: castme-0.2.2.tar.gz
  • Upload date:
  • Size: 18.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for castme-0.2.2.tar.gz
Algorithm Hash digest
SHA256 27d84980ef0fe164748b4f98f1f9005bd5e55eece529f426f324c48d82670c2e
MD5 63f9abd1533a5bab38f89ab93a29c0d7
BLAKE2b-256 4f9e44e411823a46c834c3260aa29d9ee6a451d6bac40f2e9bfb13fdb87e6aa1

See more details on using hashes here.

File details

Details for the file castme-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: castme-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 20.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for castme-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 29ea839acb1af5aed3ca87922c39e96d2ec3ece37e591bb27fba804f9665cc71
MD5 6a02056c4525c611cd067a07f941f866
BLAKE2b-256 245ebda51447529996015e80c9da09dd5a21f795dfad5aef3143667116c6eb87

See more details on using hashes here.

Supported by

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