Skip to main content

Funiculi

Funiculi is a tiny command-line utility which lets you interact with Denon AVR amplifiers over your local network.

It currently supports turning the unit on and off, querying its power status, changing its volume, and streaming music to it over DLNA.

Prerequisites

You need the following software installed on your system:

Installation

Installing from PyPI

To install Funiculi from PyPI, open a shell and run:

pip install funiculi

If that doesn’t work, try:

python3 -m pip install funiculi

Installing from the AUR

Direct your favorite AUR helper to the funiculi package.

Usage

funiculi [FLAGS] COMMAND

COMMAND is one of the following:

  • off
    Turns the device off.

  • on
    Turns the device on.

  • down
    Turns the volume down one step.

  • up
    Turns the volume up one step.

  • source [get | set NAME]
    Selects or queries the audio source.

  • status
    Queries whether the device is on standby.

  • dlna
    Sets up a local virtual output device that relays all audio to the receiver via DLNA.

See USAGE.md or man 1 funiculi for details.

Contributing to Funiculi

See CONTRIBUTING.md.

License

Copyright (c) 2024 Claudia Pellegrino

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. For a copy of the License, see LICENSE.

Synopsis

funiculi [FLAGS] COMMAND

Commands

COMMAND is one of the following:

off : Turns the device off.

on : Turns the device on.

down : Turns the volume down one step.

up : Turns the volume up one step.

source [get | set NAME] : Selects or queries the audio source. The get subcommand returns the current source. The set subcommand accepts a source name according to Denon’s protocol; the name is case-insensitive. Acceptable values vary by model. To find out the values for a specific model, omit this parameter while your device is set to a known source. Repeat for each source.

status : Queries whether the device is on standby.

dlna : Sets up a local virtual output device that relays all audio to the : receiver via DLNA.

Flags

The following flags are supported:

-h, --host=HOST

The AVR host to connect to.

Mandatory if no AVR_HOST environment variable is defined.

The parameter takes precedence over the environment variable.

-c, --ctrlport=CTRLPORT

The AVR control port to connect to.

The default is 23.

-w, --webport=WEBPORT

The AVR web port from which to obtain DLNA metadata.

The default is 60006.

-t, --timeout=TIMEOUT

The timeout for commands in milliseconds.

The default timeout is 100 ms.

-p, --path=PATH

The remote path to the UPnP XML descriptor.

The default value is: /upnp/desc/aios_device/aios_device.xml

Metadata

Release files for funiculi 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for funiculi 0.2.0
File Size Uploaded Provenance Actions
funiculi-0.2.0.tar.gz 11.4 kB Without provenance Details for funiculi-0.2.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for funiculi 0.2.0
File Interpreter ABI Platform Actions
funiculi-0.2.0-py3-none-any.whl Python 3 none any Details for funiculi-0.2.0-py3-none-any.whl

Total release size: 24.2 kB

Release files / funiculi-0.2.0.tar.gz

Download URL funiculi-0.2.0.tar.gz
Size 11.4 kB
Tags Source
SHA-256 checksum
How to use checksums
4ed174f264a1fb4750e99d159bde89eef284495f552a5fdf888bac3f058565dc
BLAKE2b-256 checksum
How to use checksums
762b0228bb8930a02eba3076e57e1d8c88cf2565bc26d2f0d9bf132374507b93
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.0 CPython/3.12.4

Release files / funiculi-0.2.0-py3-none-any.whl

Download URL funiculi-0.2.0-py3-none-any.whl
Size 12.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
597073518e4d456617ee04ed1543e60dcd5191e1e96f9dd265b7142dd61156d6
BLAKE2b-256 checksum
How to use checksums
c6fc480d0a9f0bb7603ccd795bb7f593465f691c9a06ef05a1cf9b91993554fa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.0 CPython/3.12.4

Security for funiculi 0.2.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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page