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 lint 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.0.tar.gz (18.2 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: castme-0.2.0.tar.gz
  • Upload date:
  • Size: 18.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.4 Linux/6.10.5-1-clear

File hashes

Hashes for castme-0.2.0.tar.gz
Algorithm Hash digest
SHA256 43cf3dba35bd92f78514be1c984f0ea8fc1c366bd70ce08db22c4febe1ca9c3f
MD5 ab00c912404c3296900d625893643b6b
BLAKE2b-256 65b82fdebe5d67eca9d9250e7440be2d507029fb0d00fab941e157add1c025b4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: castme-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 20.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.4 Linux/6.10.5-1-clear

File hashes

Hashes for castme-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ea9b90f32111cf3821b35c3e31d4ac1deb0467a90886ec2fc17561bd8b0d71a8
MD5 39e27f9140a047c3892bddb1b2807e3f
BLAKE2b-256 187f818fc348568b21bc9afbd9f3137a6ae554c0f4f36bec63ff0b71423fac8e

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