Skip to main content

A simple terminal I/O utility with spinner animation

Project description

Consolio

PyPI - Version PyPI - Python Version GitHub License PyPI - Wheel

Consolio is a Python library that provides an elegant way to display progress updates, warnings, errors, and other status messages in the console with color-coded indicators and spinners. Ideal for CLI applications that require step-by-step feedback to users.

Table of Contents

Installation

Consolio does not require any dependencies outside of Python's standard library. To use it just install it using pip install consolio.

Features

  • Color-coded messages for different statuses: Success, Error, Warning, and more.
  • Progress spinners in various styles (dots, braille, default).
  • Inline spinners for seamless progress tracking within a single line.
  • Thread-safe output for smooth and consistent console display.

Usage

Basic Initialization

To get started, initialize Consolio with a desired spinner type. You can choose from dots, braille, or default.

from consolio import Consolio

console = Consolio(spinner_type='dots')  # Initialize with dots spinner

Status Message Types

Consolio supports multiple status messages, each with a unique color and symbol:

  • Info: [!] Blue - Marks the start of a process
  • Work(Step): [-] Cyan - Intermediate step in a process
  • Warning: [!] Yellow - Displays warnings
  • Error: [x] Red - Displays errors
  • Complete: [v] Green - Indicates completion of a step or process

Use the print method to print messages with a specific status, indentation level, and replacement option:

console.print(indent=0, status="inf", text="Starting process")
console.print(indent=1, status="wip", text="Executing step 1")
console.print(indent=1, status="wrn", text="Warning: Check your input")
console.print(indent=1, status="err", text="Error: Process failed")
console.print(indent=0, status="cmp", text="Process complete")

Spinners

You can start a spinner to indicate an ongoing process using the start_animate method, then stop it using stop_animate.

console.start_animate(indent=1)
# Perform a time-consuming task here
time.sleep(3)  # Simulating task duration
console.stop_animate()

Use the inline_spinner=True option to display the spinner on the same line as the last message:

console.print(1, "stp", "Calculating size")
console.start_animate(inline_spinner=True)
time.sleep(2)
console.stop_animate()

Customization

The Consolio library supports a few customization options:

  • Spinner Type: Set spinner_type to dots, braille, or default.
  • Indentation Level: Control indentation level in messages for organized output.
  • Inline Spinner: Use inline_spinner=True to keep spinners on the same line as a message.
  • Replacement Mode: Set replace=True in sprint to overwrite the previous message line.

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

consolio-0.1.13.tar.gz (9.0 kB view details)

Uploaded Source

Built Distribution

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

consolio-0.1.13-py3-none-any.whl (8.6 kB view details)

Uploaded Python 3

File details

Details for the file consolio-0.1.13.tar.gz.

File metadata

  • Download URL: consolio-0.1.13.tar.gz
  • Upload date:
  • Size: 9.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.23

File hashes

Hashes for consolio-0.1.13.tar.gz
Algorithm Hash digest
SHA256 59bf6cab7e6d1d909b757c3d6b0d882580c9c21c0d039b938b9a2d276c080c7a
MD5 9e28d8e1ba9393700c241c96aaa36e76
BLAKE2b-256 e25951b9e86582800af7b41039f6a9c5918209ef1666b23ec04f8dbf3f28d4e1

See more details on using hashes here.

File details

Details for the file consolio-0.1.13-py3-none-any.whl.

File metadata

  • Download URL: consolio-0.1.13-py3-none-any.whl
  • Upload date:
  • Size: 8.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.23

File hashes

Hashes for consolio-0.1.13-py3-none-any.whl
Algorithm Hash digest
SHA256 f950108d91896513dd9229104f2f140418e9a75043c8901cfa7fa71fa24bfc83
MD5 63bf39af7e7a0c826550659358a1ea86
BLAKE2b-256 6567f53e85d26f267eaae2de66a8f7857e1daaee15821ffd80b123c10656a089

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