skillfed

pyblu

pyblu v2.1.0 82.2K downloads/30d#14,178 on PyPI13
Permissive license MIT Active released

What it is and what it does

pyblu is a Python async client for controlling and monitoring BluOS audio players over the network. It wraps the BluOS REST API, allowing you to query player status, control playback, and manage settings without requiring authentication. The library uses aiohttp for async HTTP requests and lxml for parsing responses, making it suitable for integration into async applications or home automation systems.

The package is actively maintained with recent releases and a small but focused scope: it handles the network communication and API translation so you can work with BluOS players programmatically. It targets Python 3.12 and later, reflecting a modern async-first design.

Use it for:

  • Build a home automation dashboard that displays and controls multiple BluOS speakers in real time.
  • Create a CLI tool to query and manage BluOS player status from the command line.
  • Integrate BluOS playback control into a larger media management application.
  • Monitor BluOS player health and availability as part of a home network monitoring system.
  • Automate multi-room audio synchronization across BluOS devices.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Control and query BluOS audio players over the network using their REST API, with async support and no authentication required.

Yes, if you own BluOS players and need programmatic control. The package is actively maintained, has low install friction, carries a permissive MIT license, and requires only modern Python (3.12+). No known vulnerabilities. The narrow scope and small community (13 stars) suggest it is a specialized tool, not a general-purpose library—install it only if BluOS integration is your actual use case.

Install

pyblu on PyPI

pip

pip install pyblu

uv

uv add pyblu

poetry

poetry add pyblu

Installing pyblu

Before you install

Low friction install with only two runtime dependencies (aiohttp and lxml). Actively maintained with a release within the past week and recent commits.

License in practice

MIT license permits free use, modification, and distribution with minimal restrictions.

Quickstart

pip install pyblu

from pyblu import Player

async def main():
    async with Player("") as player:
        status = await player.status()
        print(status)

Requires Python 3.12 or later; BluOS player must be reachable on the network.

Verify before relying

  • Whether the library supports all BluOS API v1.7 endpoints or a subset of them.
  • What happens when a BluOS player is unreachable or offline.
  • Whether error handling and retry logic are built in or left to the caller.

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.12)
Install friction low — pure-Python wheel
Runtime dependencies 2 — aiohttp, lxml
Maintenance actively maintained — 7 days since the last release
Last repo commit
First released
Downloads 82,180/month — #14,178 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: pyblu-2.1.0-py3-none-any.whl

Tags

bluos player controlbluos api clientaudio player remote controlbluos status querynetwork audio device controlbluos integration pythonasync bluos client
audio-hardwarehome-automationasync-client

More Networking packages