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.2.3.tar.gz (3.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ripix-2.2.3-py3-none-any.whl (4.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ripix-2.2.3.tar.gz
  • Upload date:
  • Size: 3.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.9

File hashes

Hashes for ripix-2.2.3.tar.gz
Algorithm Hash digest
SHA256 f27a05949777656934022c2540d9cbcfe6e04e0e9962c84e44b234aba220c38a
MD5 86470dafb0e6a0311a76f0f33bc27f49
BLAKE2b-256 ec4e6f96833990e0e91675f77f6b789ddb2dcf1a7534a71a0f18b314eceb02b2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ripix-2.2.3-py3-none-any.whl
  • Upload date:
  • Size: 4.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.9

File hashes

Hashes for ripix-2.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 58cda4747ec8cb8e45a6db00bf289c27e4703a18f3a6cd5ab565d916441e8a6f
MD5 d500f887f0d4ee0aa5de9510d2dda931
BLAKE2b-256 f8e7b7f16c73a244c4462578381bf7e4dd7f3bf96c7900ef88beb9b8ab61c010

See more details on using hashes here.

Supported by

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