Skip to main content

volumito

Python client library and CLI tool for Volumio.

Overview

volumito is a Python library and a command-line tool that allows you to interact with your Volumio player, programmatically or on a shell.

Features

  • Clean Python API to connect to and control a Volumio player
  • Built-in comprehensive command-line tool with a lot of options
  • Type-safe implementation with full type hints
  • Comprehensive test coverage (100%)

Requirements

  • Python 3.13 or later
  • A running Volumio player

Installation

From PyPI

Activate your virtual environment (volumito_env), and install:

(volumito_env) $ pip install volumito

From Source

Clone the repository and install from source in a virtual environment:

$ git clone https://github.com/pettarin/volumito
$ cd volumito

$ # here Micromamba is used, choose your favorite
$ # package/virtual environment manager
$ micromamba env create -f environment.yml
$ micromamba activate volumito_dev

(volumito_dev) $ pip install -e .
(volumito_dev) $ # or
(volumito_dev) $ make install-e-this

(volumito_dev) $ # for developing volumito, use the dev configuration:
(volumito_dev) $ pip install -e .[dev]
(volumito_dev) $ # or
(volumito_dev) $ make install-e-this-dev

Usage

Basic Command

Query a Volumio instance at the default location (volumio.local:3000):

volumito info

Connection Options

Specify custom connection parameters:

# Custom host
volumito info --host my-volumio.local
volumito info --host 192.168.1.100

# HTTPS connection
volumito info --scheme https

# Custom ports
volumito info --rest-api-port 8080 --mpd-port 7000

# Custom timeout (in seconds)
volumito info --timeout 10

The default MPD port is 6600, as used by Volumio 4. For Volumio 3 and earlier, which use MPD port 6599, pass --mpd-port 6599.

Output Formats

Choose from multiple output formats:

# Pretty JSON with 4-space indentation (default)
volumito info --format pretty

# Compact JSON with 2-space indentation
volumito info --format json

# Human-readable table
volumito info --format table

# Raw unformatted JSON
volumito info --raw

Field Filtering

Control which fields are displayed:

# Show only key playback information (default)
volumito info --fields short

# Show all available fields
volumito info --fields all

Short fields include:

  • position
  • title
  • artist
  • album
  • samplerate
  • bitdepth
  • channels
  • service
  • duration

Verbosity Control

# Verbose mode - show connection details
volumito info --verbose

# Quiet mode - suppress error messages
volumito info --quiet

Examples

Combine options for specific use cases:

# Table format with all fields
volumito info --format table --fields all

# Pipe to jq for advanced JSON processing
volumito info --raw | jq '.title, .artist'

# Save state to file
volumito info --format json > volumio_state.json

# Monitor playback every 5 seconds
while true; do
    clear
    volumito info --format table
    sleep 5
done

Album Art

Get the current album art URL:

# Get URL only
volumito track albumart

# Download album art to file
volumito track albumart -o albumart.jpg

# With custom host and save path
volumito track albumart --host 192.168.1.100 -o /path/to/albumart.jpg

Development

See DEVELOPMENT.md for how to set up a development environment, run the tests, the project structure, and contributing.

API Reference

TODO

License

This project is licensed under the GNU General Public License v3.0 or later (GPLv3+).

See the LICENSE file for details.

Authors

  • Alberto Pettarin (Web)

Legal Disclaimers

Volumio and Volumio logo are a registered trademark of Volumio SRL, a company registered in Italy (VAT ID: IT07009020483).

Please refer to the Volumio Terms Of Service.

This project and its authors are not affiliated nor endorsed by Volumio SRL.

Download files

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

Source Distribution

volumito-0.0.2.tar.gz (36.3 kB view details)

Uploaded Source

Built Distribution

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

volumito-0.0.2-py3-none-any.whl (26.6 kB view details)

Uploaded Python 3

File details

Details for the file volumito-0.0.2.tar.gz.

File metadata

  • Download URL: volumito-0.0.2.tar.gz
  • Upload date:
  • Size: 36.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.0

File hashes

Hashes for volumito-0.0.2.tar.gz
Algorithm Hash digest
SHA256 a34b46b5094e8bfe22ca52ed281b728981e3fbb4786a4ed0389d2423d87f36ab
MD5 2a9b2504c196c657f446cc5803f5c220
BLAKE2b-256 cd218f1e17f8687d73a922bb530c29c2048f30babd02fee123390af684d1d9d7

See more details on using hashes here.

File details

Details for the file volumito-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: volumito-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 26.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.0

File hashes

Hashes for volumito-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 13f1d229e64a2bdd1ccf79549943c672e58322241b2f99195d3ce35c764741c5
MD5 9b4c724f8d4b74a12cfb0cc74925e83e
BLAKE2b-256 3c6062ed36a7cfa34452d16dc734cd17b4342da4ce4d0bf8ec146a1ed69044ac

See more details on using hashes here.

Release history Release notifications | RSS feed

0.1.0

1 file

0.0.53

1 file

0.0.52

1 file

0.0.51

1 file

0.0.50

1 file

0.0.49

1 file

0.0.48

1 file

0.0.47

1 file

0.0.46

1 file

0.0.45

1 file

0.0.44

1 file

0.0.43

1 file

0.0.42

1 file

0.0.41

1 file

0.0.40

1 file

0.0.39

1 file

0.0.38

1 file

0.0.37

1 file

0.0.36

1 file

0.0.35

1 file

0.0.34

1 file

0.0.33

1 file

0.0.32

1 file

0.0.31

1 file

0.0.30

1 file

0.0.29

1 file

0.0.28

1 file

0.0.27

1 file

0.0.26

1 file

0.0.25

1 file

0.0.24

1 file

0.0.23

1 file

0.0.22

1 file

0.0.21

1 file

0.0.20

1 file

0.0.19

1 file

0.0.18

1 file

0.0.16

1 file

0.0.15

1 file

0.0.14

2 files

0.0.13

2 files

0.0.12

2 files

0.0.11

2 files

0.0.10

2 files

0.0.9

2 files

0.0.8

2 files

0.0.7

2 files

0.0.6

2 files

0.0.5

2 files

0.0.4

2 files

0.0.3

2 files

This release

0.0.2 This release

2 files

0.0.1

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page