Skip to main content

Generate pixel graphics for the Tidbyt

Project description

Indiepixel

PyPI - Version

Contributions more than welcome!

Basically… pixlet in Python.

Why?

This is an example for generating images for the Tidbyt device, a nice LED display. The company that made the Tidbyt got acquihired and won't be developing the software much in the future.

Pixlet was very convenient, but is an oddball for a tech stack: implemented in Go for people to consume in Starlark. Starlark is a niche language. It'd be nice to support a mainstream language.

This is a WIP implementation of the same concepts as pixlet in Python.

Development

Environment setup

First make sure you have uv installed.

Install dependencies with:

uv sync

Install pre-commit hooks:

uv run pre-commit install

Running examples

To run examples/kitchen_sink.py:

uv run indiepixel examples/cli/gradient.py

Running tests

uv run pytest

Linting and formatting

uv run pre-commit run --all-files

Or run ruff directly

uv run ruff check
uv run ruff format --check

Publishing

This needs you to build before publishing:

  1. Bump version in pyproject.toml
  2. uv build
  3. uv publish

Status

* = currently not tidbyt-compatible

  • WebP generation
  • Rendering the tb-8 pixel font without anti-aliasing
  • Fonts
  • Components
    • Text
    • Box*
    • Rect*
    • Column*
    • Row
    • Stack
    • Circle
    • PieChart
    • Image
    • Animation
    • WrappedText
      • Resizing
      • Animation
    • Plot
    • 'expand' option

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

indiepixel-0.7.0.tar.gz (321.2 kB view details)

Uploaded Source

Built Distribution

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

indiepixel-0.7.0-py3-none-any.whl (314.5 kB view details)

Uploaded Python 3

File details

Details for the file indiepixel-0.7.0.tar.gz.

File metadata

  • Download URL: indiepixel-0.7.0.tar.gz
  • Upload date:
  • Size: 321.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.5.29

File hashes

Hashes for indiepixel-0.7.0.tar.gz
Algorithm Hash digest
SHA256 aba24570bb39f7d79fa307d241e84ffde716246d1a0c9821b2022ffcc59a1b91
MD5 d8fd6f53fd693cee8f5d44709f4965b0
BLAKE2b-256 f273a831bb6cd4a4f9a26524c7bdb1ea596f09cb4a53c6a8beafc184c7d58f64

See more details on using hashes here.

File details

Details for the file indiepixel-0.7.0-py3-none-any.whl.

File metadata

  • Download URL: indiepixel-0.7.0-py3-none-any.whl
  • Upload date:
  • Size: 314.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.5.29

File hashes

Hashes for indiepixel-0.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 64c34a2213c8fb477defc7f73bfb9b2c16ccb2f94a50f9bad03414482c2339e3
MD5 3ecda905c0b4b8d362be55a0d34dec30
BLAKE2b-256 f0aa33c28fb8c5e93401c057e9d7a93249e1eff4d5cf551c5fd40c134cb1295e

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