Skip to main content

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

  1. Install the package:
pip install pixel_kpi
  1. 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 stars
  • notion_sprint.py - Show Notion sprint progress
  • pypi_downloads.py - Track PyPi package downloads
  • notion_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:

  1. Fork & clone
  2. Setup dev environment:
poetry install
  1. 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.

CC BY-NC-SA 4.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pixel_kpi-0.1.1.tar.gz (23.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pixel_kpi-0.1.1-py3-none-any.whl (36.2 kB view details)

Uploaded Python 3

File details

Details for the file pixel_kpi-0.1.1.tar.gz.

File metadata

  • Download URL: pixel_kpi-0.1.1.tar.gz
  • Upload date:
  • Size: 23.2 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

Hashes for pixel_kpi-0.1.1.tar.gz
Algorithm Hash digest
SHA256 3c2545a905526e0e71d1a7550c8bc9026d83d97baf3e6038fda6528cf556dce1
MD5 765d2c69691a78d253425714a8bd9431
BLAKE2b-256 ade7c4d10d3cb1f72b2ee77e5aa7f934526ad09712b8da152de54b104b5ec174

See more details on using hashes here.

File details

Details for the file pixel_kpi-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: pixel_kpi-0.1.1-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

Hashes for pixel_kpi-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 eeda5bc4a5117bde1ae4f462f03c084fe4d19dd550f45870d995fc780ac52ba9
MD5 4d6ac22469c0078d8109be1129096eb1
BLAKE2b-256 f79059d5adfa95b388f6abec9798204c220a5c8c174ac7449c8e277fbf02eab3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page