✨ Change smart lights based on CI pipeline status
Project description
🚀 pipeglow
Visualize CI pipeline status with smart lights
🗺️ Overview
pipeglow updates your smart lights to provide real-time visual feedback about your CI pipeline status. By automatically changing light colors based on pipeline states, you get immediate visual notifications about how your builds and deployments are going.
🛠️ Installation
pip install pipeglow
📋 Configuration
Create a .env file with the following environment variables:
GOVEE_API_KEY=your_api_key_here
GOVEE_DEVICE_ID=your_device_id
GOVEE_DEVICE_MODEL=your_device_model
GITLAB_API_TOKEN=your_gitlab_token
GITLAB_PROJECT_ID=your_project_id
✨ Features
🌈 Pipeline Status Colors
Each pipeline state is represented by a distinct color:
- 💛 Preparing/Pending: Yellow (
#9F9110) - 💗 Waiting: Pink (
#DC6BAD) - 💙 Running: Blue (
#3974C6) - 💚 Success: Green (
#309508) - ❌ Failed: Red (
#FF0000) - ⚫ Canceled/Skipped: Dark Gray (
#212121)
🌞 Dynamic Brightness
Light brightness automatically adjusts based on pipeline update recency:
- Recent updates appear brighter
- Brightness gradually dims as updates age
- Provides intuitive temporal feedback
🦊 GitLab Integration
There is support for checking any GitLab instance (.com, self-managed or GitLab Dedicated). By default, pipeglow assumes gitlab.com.
💡 Lighting Integration
Today, pipeglow works with Govee lights. You will need a Govee API key in order to use pipeglow. You will need to run pipeglow on a machine with access to the Internet so that it can communicate with the Govee API.
🚀 Usage
This will cause pipeglow to check the project you specified in .env and update the light specified in .env accordingly. (Alternately, you can set the items specified in .env as environment variables.)
pipeglow change_the_lights
Specify a different GitLab URL:
pipeglow change_the_lights --gitlab-url https://gitlab.example.com
uvx pipeglow change_the_lights
Run a command like this in a loop to check and update the lights once every 15 seconds:
while true; do
uvx pipeglow change_the_lights
sleep 15
done
Alternately, you can use set_the_lights to set the lights based on a pipeline status. This is useful if you have a webhook trigger pipeglow.
uvx pipeglow set_the_lights success
# pipeglow set_the_lights --light-status running
🚀 Just set the lights to running please!
🏆 The light has been updated!
📄 License
MIT License
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 pipeglow-0.0.975.tar.gz.
File metadata
- Download URL: pipeglow-0.0.975.tar.gz
- Upload date:
- Size: 8.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4bcad5aa5e00810ca7215d3c52f8068071e0c3f4ea6f274a6f5a2f7e8f807c09
|
|
| MD5 |
48a3545cf4ffff54c328febffe86f8d5
|
|
| BLAKE2b-256 |
f2576c6cba108d2a3e73fc8f141b75cf32a2a1405b22a6d53c24a7e5343468d9
|
File details
Details for the file pipeglow-0.0.975-py3-none-any.whl.
File metadata
- Download URL: pipeglow-0.0.975-py3-none-any.whl
- Upload date:
- Size: 8.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9e0ae1595418dd7d4f66190e36f8c8a7a01f09a6f322ea992be0dc943e735731
|
|
| MD5 |
6385351360573581f0de6c5b43c41ac0
|
|
| BLAKE2b-256 |
50c30bbe6c97f987095b1f62df4d4a36e0e95018a8f1d804b15e94602b39a7e5
|