lumalou (Python)
Fork notice.
lumalou-gld09is an independent fork of stramanu/lumalou by Emanuele Strazzullo, maintained at pavlikru/lumalou. It ships the changes proposed in stramanu/lumalou#2 (strict profile reads, typed schedule codecs and setters, authenticated device-key binding, injectable BLE client factory) until they are released upstream. The import package is stilllumalou; do not install it alongside the upstreamlumaloudistribution. MIT licensed, original attribution preserved.
Local BLE control for the Fisher-Price Lumalou. Pure Python (async, bleak).
pip install lumalou-gld09
Library
import asyncio
from lumalou import LumalouClient, Color
async def main():
devices = await LumalouClient.scan()
async with LumalouClient(devices[0]["address"]) as luma:
await luma.light_color(Color.RAINBOW)
await luma.play(0) # guided sleep playlist
await luma.volume(5)
print(await luma.request_state())
asyncio.run(main())
request_state() returns a fresh, strictly validated GLOBAL_STATE snapshot;
it is not a complete device backup. For other blocks use request_named() or
request_day_routine(), which return a ResponseEnvelope bound to the current
session. The device pushes GLOBAL_STATE and other responses after commands and
on physical changes; pass on_state / on_response to receive them. As in
upstream, frames the client cannot use are ignored and never end the session.
See the repository's
client contract and
schedule codec reference.
CLI
lumalou scan
lumalou light --color blue --brightness 7
lumalou sound --source ocean --volume 5
lumalou soother # --off to stop
lumalou time # sync clock
lumalou state # read a fresh GLOBAL_STATE snapshot
lumalou send 3c05 # raw app_data (opcode + args)
Add -a <address> to target a device; otherwise it auto-scans.
Requires Python 3.10+, a Bluetooth LE adapter, and radio range of the device.
Development
pip install -e ".[dev]"
pytest # runs the shared golden vectors (spec/vectors.json)
MIT.
Release files for lumalou-gld09 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| lumalou_gld09-0.3.0.tar.gz | 49.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| lumalou_gld09-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 83.9 kB
Release files / lumalou_gld09-0.3.0.tar.gz
| Download URL | lumalou_gld09-0.3.0.tar.gz |
|---|---|
| Size | 49.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5cdb16e42059b3c33f5b7296da5f7ed6b5a7d1caa3b543421c780049d0ef81c3
|
|
BLAKE2b-256 checksum How to use checksums |
44936f2c8ed9af0867a5a3927985b66c4298409a992a47937ed59443aca74e92
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 25, 2026.
Transparency logRelease files / lumalou_gld09-0.3.0-py3-none-any.whl
| Download URL | lumalou_gld09-0.3.0-py3-none-any.whl |
|---|---|
| Size | 34.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b87cb09192718d56dc0b882a7d7daf4e7aa7cd89adc4983e3df3e6bbb55cf9b2
|
|
BLAKE2b-256 checksum How to use checksums |
c7fb977b424a871def92748bd0da951d4cef142d34ad8beb7378de7cee6facb0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 25, 2026.
Transparency log