A Rich-compatible library for writing pixel images and other colourful grids to the terminal.
Get ripix from PyPI.
pip install ripix
You can load an image file from a path using from_image_path:
from ripix import Pixels from rich.console import Console console = Console() pixels = Pixels.from_image_path("pokemon/bulbasaur.png") console.print(pixels)
You can create a PIL image object yourself and pass it in to from_image.
from ripix import Pixels from rich.console import Console from PIL import Image console = Console() with Image.open("path/to/image.png") as image: pixels = Pixels.from_image(image) console.print(pixels)
Using this approach means you can modify your PIL Image beforehard.
You can quickly build shapes using a tool like asciiflow, and apply styles the ASCII characters. This provides a quick way of sketching out shapes.
from ripix import Pixels from rich.console import Console console = Console() # Draw your shapes using any character you want grid = """\ xx xx ox ox Ox Ox xx xx xxxxxxxxxxxxxxxxx """ # Map characters to different characters/styles mapping = { "x": Segment(" ", Style.parse("yellow on yellow")), "o": Segment(" ", Style.parse("on white")), "O": Segment(" ", Style.parse("on blue")), } pixels = Pixels.from_ascii(grid, mapping) console.print(pixels)
Pixels can be integrated into Textual
applications just like any other Rich renderable.