Skip to main content

A Rich-compatible library for writing pixel images and ASCII art to the terminal.

Project description

Ripix

A Rich-compatible library for writing pixel images and other colourful grids to the terminal.

Installation

Get ripix from PyPI.

pip install ripix

Basic Usage

Images

Image from a file

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)

Pillow image object

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.

ASCII Art

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)

Using with Textual

Pixels can be integrated into Textual applications just like any other Rich renderable.

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

ripix-2.5.0.tar.gz (3.4 kB view details)

Uploaded Source

Built Distribution

ripix-2.5.0-py3-none-any.whl (3.6 kB view details)

Uploaded Python 3

File details

Details for the file ripix-2.5.0.tar.gz.

File metadata

  • Download URL: ripix-2.5.0.tar.gz
  • Upload date:
  • Size: 3.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.13

File hashes

Hashes for ripix-2.5.0.tar.gz
Algorithm Hash digest
SHA256 8693f499107687f7d7beb0be0c901bb4ab274460a76ccdda154d9018538ad011
MD5 cdd1fe2787b84c135d5104fc002add90
BLAKE2b-256 77c430bb1cab626efd47967eb28614566ccd75286b23b0da463e3b4dd2299bdb

See more details on using hashes here.

File details

Details for the file ripix-2.5.0-py3-none-any.whl.

File metadata

  • Download URL: ripix-2.5.0-py3-none-any.whl
  • Upload date:
  • Size: 3.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.13

File hashes

Hashes for ripix-2.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f62b4eba715d935f1717b1323723e94406b792c8d9757ef782277a6010e0af6f
MD5 7a4a8df7a564d62db7410191cd7b4d3b
BLAKE2b-256 ac95154344ae9e65fe78cdbf0e2cc064db28f3b86ced1f257596667d20023372

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page