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/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.0.tar.gz (23.1 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.0-py3-none-any.whl (36.2 kB view details)

Uploaded Python 3

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

Hashes for pixel_kpi-0.1.0.tar.gz
Algorithm Hash digest
SHA256 0843e6a0c5f5cb8e28a9a045b3c0c243d874d2cbd0677aac8313f2d9f9ddadc0
MD5 1fba26268882d271214ebeb089b5185f
BLAKE2b-256 7ee55c63dd7f5225227c207184d53817670e75f4fb783db35f93fef76ba78189

See more details on using hashes here.

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

Hashes for pixel_kpi-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5e0a9aba45aeb4115347f806c14343101a6796bb679c9f9607c11c2c7b4352fa
MD5 a1530a2303a0cff2b90de794b2c7d5fb
BLAKE2b-256 bb981e18fc517a9e0a767d54a9178c96023fd7aedc5b203d6b794aa1db8eb892

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