✨ 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
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 |