LIFX Emulator for testing LIFX LAN protocol libraries
Project description
LIFX Emulator
A comprehensive LIFX device emulator for testing LIFX LAN protocol libraries
Overview
LIFX Emulator implements the complete binary UDP protocol from lan.developer.lifx.com by providing virtual LIFX devices for testing without physical hardware. The emulator includes a basic web interface and OpenAPI-compliant REST API for device and scenario management at runtime.
Features
- Complete Protocol Support: 44+ packet types from the LIFX LAN protocol
- Multiple Device Types: Color lights, infrared, HEV, multizone strips, matrix tiles
- REST API and Web Interface: Monitor and manage your virtual devices during testing
- Testing Scenarios: Built-in support for packet loss, delays, malformed responses
- Easy Integration: Simple Python API and comprehensive CLI
Documentation
- Installation Guide - Get started
- Quick Start - Your first emulated device
- User Guide - Product specifications and testing scenarios
- Advanced Topics - REST API and persistent storage
- CLI Reference - All CLI options
- Device Types - Supported devices
- API Reference - Complete API docs
- Architecture - How it works
Use Cases
- Library Testing: Test your LIFX library without physical devices
- CI/CD Integration: Run automated tests in pipelines
- Protocol Development: Experiment with LIFX protocol features
- Error Simulation: Test error handling with configurable scenarios
- Performance Testing: Test concurrent device handling
Development
# Clone repository
git clone https://github.com/Djelibeybi/lifx-emulator.git
cd lifx-emulator
# Install with uv (recommended)
uv sync
# Or with pip
pip install -e ".[dev]"
# Run tests
uv run pytest
# Run linter
uv run ruff check .
# Build docs
uv run mkdocs serve
License
Links
- Documentation: https://djelibeybi.github.io/lifx-emulator
- GitHub: https://github.com/Djelibeybi/lifx-emulator
- PyPI: https://pypi.org/project/lifx-emulator/
- LIFX Protocol: https://lan.developer.lifx.com
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file lifx_emulator-2.4.0.tar.gz.
File metadata
- Download URL: lifx_emulator-2.4.0.tar.gz
- Upload date:
- Size: 352.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
36ad7fa7e0ce9491e4bb377debebf8af46454baec54d62cd5e55d8b753b79f66
|
|
| MD5 |
7b11eb9d1572f7d2a8c8fb2dbadebfdd
|
|
| BLAKE2b-256 |
242fe71fc3431524ea25d2457ec63a8e9c792e4ba96c6d4509ef69183c074c2c
|
Provenance
The following attestation bundles were made for lifx_emulator-2.4.0.tar.gz:
Publisher:
ci.yml on Djelibeybi/lifx-emulator
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
lifx_emulator-2.4.0.tar.gz -
Subject digest:
36ad7fa7e0ce9491e4bb377debebf8af46454baec54d62cd5e55d8b753b79f66 - Sigstore transparency entry: 708634269
- Sigstore integration time:
-
Permalink:
Djelibeybi/lifx-emulator@e2f911420db1d27d916247a9b3fdb50f31276b48 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Djelibeybi
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci.yml@e2f911420db1d27d916247a9b3fdb50f31276b48 -
Trigger Event:
push
-
Statement type:
File details
Details for the file lifx_emulator-2.4.0-py3-none-any.whl.
File metadata
- Download URL: lifx_emulator-2.4.0-py3-none-any.whl
- Upload date:
- Size: 128.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ebb310bf27e27de34cd3433cef31e6f083094254640d227e2bf7dc4c002b2ad8
|
|
| MD5 |
718bef387476268ca6fd03ae8cb851d3
|
|
| BLAKE2b-256 |
aa0da71224bfd5916cb38681face34611a7198bc2c7249bedcc099986f8e22d4
|
Provenance
The following attestation bundles were made for lifx_emulator-2.4.0-py3-none-any.whl:
Publisher:
ci.yml on Djelibeybi/lifx-emulator
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
lifx_emulator-2.4.0-py3-none-any.whl -
Subject digest:
ebb310bf27e27de34cd3433cef31e6f083094254640d227e2bf7dc4c002b2ad8 - Sigstore transparency entry: 708634270
- Sigstore integration time:
-
Permalink:
Djelibeybi/lifx-emulator@e2f911420db1d27d916247a9b3fdb50f31276b48 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Djelibeybi
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci.yml@e2f911420db1d27d916247a9b3fdb50f31276b48 -
Trigger Event:
push
-
Statement type: