A fast RGB(W) pixel buffer library for like NeoPixel and DotStar.

The _pixelbuf module provides the PixelBuf class to accelerate RGB(W) strip/matrix manipulation, such as DotStar and Neopixel.

Byteorders are configured with strings, such as “RGB” or “RGBD”.

_pixelbuf.colorwheel(n: float) → int

C implementation of the common wheel() function found in many examples. Returns the colorwheel RGB value as an integer value for n (usable in PixelBuf, neopixel, and dotstar).

_pixelbuf.wheel(n: float) → int

Use of wheel() is deprecated. Please use colorwheel().

class _pixelbuf.PixelBuf(size: int, *, byteorder: str = 'BGR', brightness: float = 0, auto_write: bool = False, header: ReadableBuffer = b'', trailer: ReadableBuffer = b'')

A fast RGB[W] pixel buffer for LED and similar devices.

bpp :int

The number of bytes per pixel in the buffer (read-only)

brightness :float

Float value between 0 and 1. Output brightness.

When brightness is less than 1.0, a second buffer will be used to store the color values before they are adjusted for brightness.

auto_write :bool

Whether to automatically write the pixels after each update.

byteorder :str

byteorder string for the buffer (read-only)


Transmits the color data to the pixels so that they are shown. This is done automatically when auto_write is True.

fill(self, color: Union[int, Tuple[int, int, int]])

Fills the given pixelbuf with the given color.

__getitem__(self, index: slice)
__setitem__(self, index: slice, value: Tuple[Union[int, Tuple, List], ...])