Skip to main content
Niblet apps are small Starlark programs that return a tree of render widgets. The CLI executes the program on your computer and encodes the result as an animated WebP or GIF. A display downloads rendered images; it does not execute your app source.

The development loop

niblet serve is the fastest loop while authoring. niblet apps validate checks the project and performs a bounded local render. niblet apps push repeats validation and rendering before it uploads anything.

Project contract

A hosted developer project uses developer-app.v1:
  • one valid manifest.yaml;
  • exactly one top-level .star file;
  • non-empty UTF-8 source with no NUL bytes;
  • no more than 128 KiB of source; and
  • a non-empty locally rendered WebP no larger than 2 MiB.
The source and WebP are stored together as one immutable revision. Metadata can change later, but an uploaded revision cannot be edited in place.

Runtime compatibility

Niblet preserves the core Pixlet model: main(config), get_schema(), render widgets, bundled modules, fonts, animations, and a 64×32 output canvas. An app that depends on a Tidbyt-only service, encrypted value, or private endpoint may need a Niblet-specific integration.

Create the first app

Design for 64×32

Use configuration

Prepare for review