Contributions more than welcome!
Basically… pixlet in Python.
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.
First make sure you have uv installed.
Install dependencies with:
uv sync
Install pre-commit hooks:
uv run pre-commit install
To run examples/kitchen_sink.py
:
uv run indiepixel examples/cli/gradient.py
uv run pytest
uv run pre-commit run --all-files
Or run ruff directly
uv run ruff check
uv run ruff format --check
This needs you to build before publishing:
- Bump version in pyproject.toml
uv build
uv publish
* = 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
- WrappedText
- Resizing
- Animation
- Animation
- Plot
- 'expand' option