Skip to main content

LIFX Emulator for testing LIFX LAN protocol libraries

Project description

LIFX Emulator

A comprehensive LIFX device emulator for testing LIFX LAN protocol libraries

Codecov CI Docs

GitHub PyPI License Python

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

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

UPL-1.0

Links

Project details


Download files

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

Source Distribution

lifx_emulator-2.2.0.tar.gz (337.9 kB view details)

Uploaded Source

Built Distribution

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

lifx_emulator-2.2.0-py3-none-any.whl (125.0 kB view details)

Uploaded Python 3

File details

Details for the file lifx_emulator-2.2.0.tar.gz.

File metadata

  • Download URL: lifx_emulator-2.2.0.tar.gz
  • Upload date:
  • Size: 337.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for lifx_emulator-2.2.0.tar.gz
Algorithm Hash digest
SHA256 1b8cb7f1e4cb668fbb8579b7f5cbebf24a2bce4ad9be9a4478a47c8ada979243
MD5 38aedd7506c2b5f38c79032724c37cfc
BLAKE2b-256 d393b0ed9af56c7d6b2911899531b73065fcd36888dbcea279991d4c4dc3acde

See more details on using hashes here.

Provenance

The following attestation bundles were made for lifx_emulator-2.2.0.tar.gz:

Publisher: ci.yml on Djelibeybi/lifx-emulator

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lifx_emulator-2.2.0-py3-none-any.whl.

File metadata

  • Download URL: lifx_emulator-2.2.0-py3-none-any.whl
  • Upload date:
  • Size: 125.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for lifx_emulator-2.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9e03ef63a644a3f0c52d276181cbeb5bea480a02e957652cc4302398ec8156ae
MD5 d4c3e14bb13b4d7047c5b5d289badd05
BLAKE2b-256 f5de2b94bfc253ecc72ecd19def778d86a1f025a600f7cf21ac981f9b3eeae2c

See more details on using hashes here.

Provenance

The following attestation bundles were made for lifx_emulator-2.2.0-py3-none-any.whl:

Publisher: ci.yml on Djelibeybi/lifx-emulator

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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