Pixel KPI
Create beautiful pixel-art dashboards for your KPIs! Connect to Notion, GitHub, or PyPi and display your data on Pixoo devices or other displays.
Features
- 🎨 Pixel-art style components (text, charts, progress bars, etc.)
- 🔌 Connect to multiple data sources:
- GitHub stars statistics
- Notion sprint progress
- PyPi download counts
- ... (more to come)
- 📺 Multiple display options:
- Divoom Pixoo devices
- Terminal output
- Matplotlib visualization
- ... (more to come)
Quick Start
- Install the package:
pip install pixel_kpi
- Create a simple PyPi Download dashboard:
from pixel_kpi.displays.matplotlib_display import MatplotlibDisplay
from pixel_kpi.connectors.pypi_connector import PyPiConnector
from pixel_kpi.views.package_download_view import PackageDownloadView
# Create display
display = MatplotlibDisplay(
display_name="MatplotlibDisplay",
display_id=0,
width=64,
height=64
)
# Set up PyPi connector
pypi_connector = PyPiConnector()
# Create and run view
view = PackageDownloadView(display=display, connector=pypi_connector, processor=None, refresh_rate=60*15, main_color=(80, 255, 255), package_name=args.package_name)
view.run()
Examples
Check out the example scripts in the examples folder:
github_star_stats.py- Display GitHub repository starsnotion_sprint.py- Show Notion sprint progresspypi_downloads.py- Track PyPi package downloadsnotion_github_rotate.py- Rotate between multiple views
Example usage:
python examples/pypi_downloads.py --display_type matplot --package_name pi_optimal
python examples/github_star_stats.py \
--display_type matplot \
--github_api_key "xxx" \
--github_repo "owner/repo"
python examples/notion_sprint.py \
--display_type terminal \
--notion_api_key "your_notion_api_key" \
--notion_database_id "your_database_id" \
--refresh_rate 900
Learn More
Browse the Jupyter notebooks in notebooks to:
- See component examples and usage
- Learn how to create custom views
- Explore different display options
- Understand the data pipeline
Contributing
Setup
Here's how to get started:
- Fork & clone
- Setup dev environment:
poetry install
- Create feature branch:
git checkout -b feature/name
Structure
Here is the project structure:
📦 pixel_kpi
┣ 📂 pixel_kpi/ # Core package
┃ ┣ 📂 components/ # UI elements
┃ ┣ 📂 connectors/ # Data sources
┃ ┣ 📂 displays/ # Output targets
┃ ┣ 📂 processors/ # Data transforms
┃ ┗ 📂 views/ # Dashboards
┣ 📂 examples/ # Sample scripts
┗ 📂 notebooks/ # Tutorials
Core Concepts
- Components: Pixel-art UI elements (text, charts, progress bars, etc.)
- Connectors: Data sources (GitHub, Notion, PyPi, etc.)
- Displays: Output targets (Pixoo, terminal, Matplotlib, etc.)
- Processors: Data transforms (aggregations, filters, etc.)
- Views: Dashboards that combine components, connectors, displays, and processors
License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
Metadata
Release files for pixel_kpi 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| pixel_kpi-0.1.1.tar.gz | 23.2 kB | Without provenance | Details for pixel_kpi-0.1.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| pixel_kpi-0.1.1-py3-none-any.whl | Python 3 | none | any | Details for pixel_kpi-0.1.1-py3-none-any.whl |
Total release size: 59.4 kB
Release files / pixel_kpi-0.1.1.tar.gz
| Download URL | pixel_kpi-0.1.1.tar.gz |
|---|---|
| Size | 23.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3c2545a905526e0e71d1a7550c8bc9026d83d97baf3e6038fda6528cf556dce1
|
|
BLAKE2b-256 checksum How to use checksums |
ade7c4d10d3cb1f72b2ee77e5aa7f934526ad09712b8da152de54b104b5ec174
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.0.1 CPython/3.10.16 Linux/6.8.0-1020-azure
|
Release files / pixel_kpi-0.1.1-py3-none-any.whl
| Download URL | pixel_kpi-0.1.1-py3-none-any.whl |
|---|---|
| Size | 36.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
eeda5bc4a5117bde1ae4f462f03c084fe4d19dd550f45870d995fc780ac52ba9
|
|
BLAKE2b-256 checksum How to use checksums |
f79059d5adfa95b388f6abec9798204c220a5c8c174ac7449c8e277fbf02eab3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.0.1 CPython/3.10.16 Linux/6.8.0-1020-azure
|
Security for pixel_kpi 0.1.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.