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.1.tar.gz (338.4 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.1-py3-none-any.whl (125.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: lifx_emulator-2.2.1.tar.gz
  • Upload date:
  • Size: 338.4 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.1.tar.gz
Algorithm Hash digest
SHA256 622f867df53d4778c26546511ef64e856b1a252ecedd9c4a85d67dd243726df9
MD5 05fc4bf26996e8773b5e71ac22ac8c6e
BLAKE2b-256 0092de646f88279bbb3464097d4d54aab09606559317f31d6544d186f8c45ba9

See more details on using hashes here.

Provenance

The following attestation bundles were made for lifx_emulator-2.2.1.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.1-py3-none-any.whl.

File metadata

  • Download URL: lifx_emulator-2.2.1-py3-none-any.whl
  • Upload date:
  • Size: 125.1 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 796fce1bf718c2c5bb389e65d332aa11049b1bcc1f5f97a84a3847df1eb097b4
MD5 58a0e8daf836a1bba9e441f04c9c0d4e
BLAKE2b-256 3c7925bc5eb0cdd1c124566d01335da27ac20680c0ee3368de86614087e4be18

See more details on using hashes here.

Provenance

The following attestation bundles were made for lifx_emulator-2.2.1-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