Skip to main content

Display random cats from CATAAS as high-resolution ASCII art in the #justparchment8 palette

Project description

catcall

catcall is a command‐line tool that displays a random cat from CATAAS as high‐resolution ASCII art, beautifully quantized to the eight‑colour #justparchment8 palette.

Features

  • 🐱 Fetches random cat images from CATAAS
  • 🎨 Renders in the aesthetic #justparchment8 colour palette
  • 📐 Auto‐fits to your terminal size using half‐block characters for double vertical resolution
  • 🏷️ Supports CATAAS tags (e.g., cute, orange, sleeping)
  • 🎯 Requires a true‐colour (24‐bit) capable terminal

Installation

Using pipx (recommended)

The easiest way to install catcall is with pipx, which installs the tool in an isolated environment:

pipx install catcall

Using pip

You can also install with pip:

pip install catcall

From source

Clone the repository and install in development mode:

git clone https://github.com/amberstarlight/catcall.git
cd catcall
pip install -e .

Usage

Basic usage

Display a random cat that auto‐fits your terminal:

catcall

With tags

Request specific types of cats using CATAAS tags:

catcall cute
catcall orange cute
catcall sleeping

Size options

Override auto‐fit with specific dimensions:

# Set width in characters
catcall -w 80

# Set height in pixels (remember: 2 pixels per terminal row)
catcall -H 160

# Disable auto-fit and use exact dimensions
catcall -w 80 -H 160 --no-fit

Layout options

# Use maximum rectangular fit instead of square
catcall --no-square

# Adjust margins when auto-fitting
catcall --margin-cols 4 --margin-rows 2

How it works

catcall uses half‐block characters () to achieve double the vertical resolution of standard character‐based rendering. Each terminal cell displays two pixels—one as the foreground colour and one as the background—effectively turning your 80×24 terminal into a 80×48 pixel canvas.

The image is quantized to the #justparchment8 palette using perceptually‐weighted colour distance in linear sRGB space, giving the output a distinctive parchment aesthetic.

Requirements

  • Python 3.8 or later
  • A terminal with true‐colour (24‐bit) support
  • The requests and Pillow libraries (installed automatically)

Terminal compatibility

Most modern terminals support true colour:

  • macOS: Terminal.app, iTerm2, Kitty, Alacritty
  • Linux: GNOME Terminal, Konsole, Kitty, Alacritty, foot
  • Windows: Windows Terminal, ConEmu (with true colour enabled)

Examples

# Show a cute orange cat
catcall orange cute

# Show a cat with custom width
catcall -w 120

# Show a non-square cat that fills the terminal
catcall --no-square

# Show a cat with no margins
catcall --margin-cols 0 --margin-rows 0

Credits

License

MIT License – see LICENSE for details.


Call a cat to your terminal today! 🐱

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

catcall-1.0.0.tar.gz (6.3 kB view details)

Uploaded Source

Built Distribution

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

catcall-1.0.0-py3-none-any.whl (6.7 kB view details)

Uploaded Python 3

File details

Details for the file catcall-1.0.0.tar.gz.

File metadata

  • Download URL: catcall-1.0.0.tar.gz
  • Upload date:
  • Size: 6.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.7

File hashes

Hashes for catcall-1.0.0.tar.gz
Algorithm Hash digest
SHA256 b7d25ff1f87c7c6e89c55476898ece4ac34ca3afcc0dda7dd7c7e7ce86b5a09c
MD5 33dcbc5d02932f37961e87b38922af4e
BLAKE2b-256 a6d401bba1f83ee0d237ee8d9fd3de4cfe54565e91d88235b88a9b6a96fe0fdc

See more details on using hashes here.

File details

Details for the file catcall-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: catcall-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 6.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.7

File hashes

Hashes for catcall-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3b576d5bd92d322b3b22005994ea35b1a4711c875fcdfa73c8f02b4c184ef814
MD5 add7ed07feaa8a1c04350cc9f588de60
BLAKE2b-256 4150ec42078130dc0209f51c902d81ec4d417202a261ce0c4673b2a1355c4fc2

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