Installation
Requirements
- Python 3.11 or higher
- USB LED light device
- macOS or Linux (Windows support in development)
Basic Installation
The basic installation includes the busylight
command-line tool.
Using pip
Using uvx
Web API Installation
To use the HTTP API server, install with web API dependencies.
Using pip
Using uvx
Development Installation
For development, use uv for dependency management.
# Install uv
pip install uv
# Clone repository
git clone https://github.com/JnyJny/busylight.git
cd busylight
# Install with all dependencies
uv sync --all-extras
source .venv/bin/activate
# Verify installation
busylight --help
busyserve --help
pytest
Platform-Specific Setup
Linux (udev rules)
Linux requires udev rules for USB device access. Run these commands with root privileges:
# Generate udev rules
busylight udev-rules -o 99-busylights.rules
# Install rules
sudo cp 99-busylights.rules /etc/udev/rules.d/
sudo udevadm control -R
# Unplug and reconnect your light
busylight on
macOS
No additional setup required. The system may prompt for permission to access USB devices.
Windows
Windows support is in development. Basic functionality may work, but full compatibility is not guaranteed.
Verification
Test your installation:
# List connected lights
busylight list
# Turn on first light
busylight on
# Start web API (if installed)
busyserve --help
Troubleshooting
No lights found
- Verify device is connected via USB
- Check device compatibility in supported devices
- On Linux, ensure udev rules are installed
- Try running with
--debug
flag for detailed output
Permission errors
- Linux: Install udev rules as shown above
- macOS: Grant USB device permissions when prompted
- Windows: Run as administrator (experimental)
Import errors
Ensure you have the correct optional dependencies: