Skip to main content

A Python library for enhanced terminal display.

Project description

🐱‍👤 cobra-color 🐱‍👤

PyPI version Python License

Pull Requests Welcome Github stars

About

A lightweight Python library for enhanced terminal display: simple text color/style conventions and image-to-terminal rendering.

  • Python: 3.9+
  • Runtime deps: Pillow (>=9,<11), NumPy (>=1.21,<2)

Features

  • :rocket: Concise color/style names for terminal text.
  • :rocket: Image rendering in multiple modes: ASCII, color, half-color, gray, half-gray.
  • :rocket: Minimal dependencies and easy integration.

Installation

Stable (once published):

pip install cobra-color

Quick Start

  • Render a text in the terminal:

    from cobra_color import ctext, smart_print
    
    # Print directly from the terminal
    print(ctext("Hello World!", fg="r", styles=["bold"]))
    
    # Alternatively, you can use smart_print() to automatically support progress bar modes like tqdm and rich.
    smart_print(ctext("Hello World!", fg="r", styles=["bold"]))
    
  • Render an image in the terminal:

    from cobra_color.draw import fmt_image, smart_print
    
    # ASCII art
    smart_print(fmt_image("example.jpg", width=80, mode="ascii"))
    
    # Half-block color (recommended for truecolor terminals)
    smart_print(fmt_image("example.jpg", width=80, mode="half-color"))
    
  • Render some text with fonts in the terminal:

    from cobra_color.draw import fmt_font, FontName, smart_print
    
    # Borderless grayscale font
    smart_print(fmt_font("Hello World!", font=FontName.LLDISCO,, mode="half-gray", trim_border=True))
    

Image Modes

  • ascii: monochrome ASCII using a density charset.
  • color: colorized character fill.
  • half-color: half-block characters with color (higher density, good visual quality).
  • gray: grayscale characters.
  • half-gray: half-block grayscale.

Tip: For best results, use a TrueColor-capable terminal and a monospaced font.

Requirements

  • Python >= 3.9
  • Pillow >= 9.0, < 11
  • NumPy >= 1.21, < 2.0

License

See LICENSE in the repository.

Links

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

cobra_color-0.2.3.tar.gz (62.7 kB view details)

Uploaded Source

Built Distribution

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

cobra_color-0.2.3-py3-none-any.whl (62.5 kB view details)

Uploaded Python 3

File details

Details for the file cobra_color-0.2.3.tar.gz.

File metadata

  • Download URL: cobra_color-0.2.3.tar.gz
  • Upload date:
  • Size: 62.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.8.5

File hashes

Hashes for cobra_color-0.2.3.tar.gz
Algorithm Hash digest
SHA256 eb6e2c9c92dc8d85181dccac0c034df945b058460b9e94f74e0cd43b7764a874
MD5 37eaea62537cbd7e0042d6b4f45f65d0
BLAKE2b-256 f74e3b4b749e1483bdf29ad585666bb234c96bb84cdea73a7ccd261f2b466bae

See more details on using hashes here.

File details

Details for the file cobra_color-0.2.3-py3-none-any.whl.

File metadata

  • Download URL: cobra_color-0.2.3-py3-none-any.whl
  • Upload date:
  • Size: 62.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.8.5

File hashes

Hashes for cobra_color-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 ad5dcad54751226dfb3b04993465a6b0473480fdc331d92375bc85900a264d23
MD5 053ca8f4bd0b722dd2da3c73264ce8d6
BLAKE2b-256 281a94fe874af7f8df8daf94a61e20b75d27197ebdc3ff829992bd7d20b8c8da

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