Create pixel-art KPI dashboards with GitHub, Notion & PyPi data visualization for Pixoo displays and more 🎨📊✨
Project description
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/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.
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 pixel_kpi-0.1.0.tar.gz.
File metadata
- Download URL: pixel_kpi-0.1.0.tar.gz
- Upload date:
- Size: 23.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.0.1 CPython/3.10.16 Linux/6.8.0-1020-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0843e6a0c5f5cb8e28a9a045b3c0c243d874d2cbd0677aac8313f2d9f9ddadc0
|
|
| MD5 |
1fba26268882d271214ebeb089b5185f
|
|
| BLAKE2b-256 |
7ee55c63dd7f5225227c207184d53817670e75f4fb783db35f93fef76ba78189
|
File details
Details for the file pixel_kpi-0.1.0-py3-none-any.whl.
File metadata
- Download URL: pixel_kpi-0.1.0-py3-none-any.whl
- Upload date:
- Size: 36.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.0.1 CPython/3.10.16 Linux/6.8.0-1020-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5e0a9aba45aeb4115347f806c14343101a6796bb679c9f9607c11c2c7b4352fa
|
|
| MD5 |
a1530a2303a0cff2b90de794b2c7d5fb
|
|
| BLAKE2b-256 |
bb981e18fc517a9e0a767d54a9178c96023fd7aedc5b203d6b794aa1db8eb892
|