Skip to main content

A hybrid CLI tool for ASCII art generation with terminal and web preview modes.

Project description

Asciify Term

PyPI - Version Python License PyPI - Downloads

Asciify Term is a modern, cross-platform CLI utility that renders high-resolution images as ASCII art directly in your terminal.

Originally built as a creative toy, it has evolved into a powerful DevOps utility for verifying image assets in headless environments (SSH, Docker, WSL) where GUI viewers are unavailable. It supports local files, remote URLs, and TrueColor rendering.

🚀 Features

  • Terminal-First Workflow: Instantly render images to stdout with zero configuration.
  • Headless Support: Perfect for verifying plot.png or asset files on remote servers via SSH.
  • URL Support: Fetch and render images directly from the web (http://...) without manual downloading.
  • TrueColor Support: Renders images in full 24-bit ANSI color.
  • Smart Resizing: Automatically fits the output to your current terminal window dimensions.
  • Export Options: Save outputs as plain text .txt or color-preserving .html.
  • Legacy Interactive Mode: A guided menu system for creative exploration.

Installation

Install directly from PyPI:

pip install asciify-term

Usage

1. The Quick Scan (Default)

The primary use case is to quickly view an image in your terminal. The output automatically scales to fit your window.

# Local File
asciify -i image.jpg

# Remote URL
asciify -i https://example.com/logo.png

2. Color Mode

To view the image with its original colors (using ANSI escape codes):

asciify -i image.jpg --color

3. Saving Output

You can save the generated art to a file instead of (or in addition to) printing it.

Save to current directory (Auto-named):

asciify -i image.jpg -s
# Creates: ascii_image_TIMESTAMP.txt

Save with custom name/location:

# Save as specific filename (no extension needed)
asciify -i image.jpg --output-file-name my_art

# Save to a specific folder
asciify -i image.jpg --output-folder ./art_gallery

Save as HTML (Preserves Color):

asciify -i image.jpg --color --html

4. Customizing Dimensions

By default, asciify fits the image to your terminal. You can override this:

# Force specific width (Height auto-calculated)
asciify -i image.jpg --width 100

# Force specific width AND aspect ratio
asciify -i image.jpg --width 100 --aspect-ratio 2.0

# Downsize by a factor of 4
asciify -i image.jpg --downsize 4

5. Managing Charsets

You can change the characters used for rendering (e.g., standard ASCII, blocks, braille).

List available charsets:

asciify --show-charsets

Use a specific charset for one run:

asciify -i image.jpg -c blocks

Set a new default charset (Persistent):

asciify --set-charset blocks
# All future runs will now use 'blocks' by default

Advanced: Interactive Mode

For a more guided, "creative" experience with animations and previews, use the --full flag. This launches the legacy interactive menu.

asciify --full

Configuration Reference

Flag Description
-i, --input-file Path to local image OR URL (http://...).
--color Enable TrueColor ANSI output.
-s, --save Save output to current directory.
--output-folder Specify folder for saved output.
--output-file-name Specify filename (without extension).
--html Save as .html file.
--width Set target width.
--height Set target height.
--aspect-ratio Force specific aspect ratio.
--downsize Downsize image by factor n.
-c, --charset Use specific charset string.
--show-charsets List all built-in charsets.
--set-charset Set default charset preference.
--full Launch legacy interactive mode.

License

Distributed under the MIT License. See LICENSE for more information.

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

asciify_term-0.4.0.tar.gz (18.3 kB view details)

Uploaded Source

Built Distribution

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

asciify_term-0.4.0-py3-none-any.whl (21.3 kB view details)

Uploaded Python 3

File details

Details for the file asciify_term-0.4.0.tar.gz.

File metadata

  • Download URL: asciify_term-0.4.0.tar.gz
  • Upload date:
  • Size: 18.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for asciify_term-0.4.0.tar.gz
Algorithm Hash digest
SHA256 8d67ffabb264230d47d8a04af45852f80671e92e0cfa6c6c31f1d035c97f636f
MD5 79e9faaefc794a98c3e5354aa4bd36e1
BLAKE2b-256 7ac663c2e729600beca2962212ef421ba8450122d417bbe16cf76456a158942d

See more details on using hashes here.

File details

Details for the file asciify_term-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: asciify_term-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 21.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for asciify_term-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 eb34b64d56d799f4f7c155fd5a2ba77f60fb3527fd92c3a6a80b0356740a8ee2
MD5 c1241638f9f662178a7417b681d69aa3
BLAKE2b-256 a9329edaca83924c379ab971644efd6ea93b347bed552edd486b21e9a274fadb

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