Skip to main content

Draw lines on the console with optional text

Project description

DevelopersToolbox logo
Github Build Status License Created
Release Released Commits since release

Overview

A Python module for drawing styled and colored lines in the terminal. This utility allows for the customization of line styles, colors, and text positioning, making it a versatile tool for enhancing the output of CLI applications.

Features

  • Customizable text positions: left, right, or center.
  • Support for various text colors and styles including bold.
  • Adjustable line width and padding.
  • Uses colorama for color and style handling, ensuring compatibility across different operating systems.

Installation

pip install wolfsoftware.drawlines

Usage

The main functionality is provided by the draw_line function, which can be used to create lines in the terminal with or without text.

Function Signature

def draw_line(text='', position='center', fill_char='-', pad=2, width=-1, color=''):
    """
    Draw a line across the terminal with optional text.

    Args:
        text (str): Text to include in the line. Defaults to '' (no text).
        position (str): Position of the text ('left', 'right', 'center'). Defaults to 'center'.
        fill_char (str): Character used to fill the line. Defaults to '-'.
        pad (int): Padding characters around the text. Defaults to 2.
        width (int): Total width of the line; defaults to the terminal width if set to -1.
        color (str): Color and style of the text, e.g., 'red', 'blue+bold'. Defaults to no color.
    """

Examples

1. Simple line with default settings

from your_module import draw_line

# Draw a simple dashed line
print(draw_line())

Output

------------------------------------------------------------------------------------------

2. Line with centered text and custom color

# Draw a line with centered text
print(draw_line(text="Hello, World!", position='center'))

Output

------------------------------------- Hello, World! --------------------------------------

If you set the fill_char=' ' you will simply get centered text with no line.

3. Line with left-aligned text and custom fill character

# Draw a line with left-aligned text and asterisk fill character
print(draw_line(text="Left aligned text", position='left', fill_char='*'))

Output

** Left aligned text *********************************************************************

Customization

This section provides details on how you can customize the draw_line function parameters. Below is a table listing each parameter, its default value, purpose, and allowed values:

Name Default Value Purpose Allowed Values
text '' Any string you want to display within the line. Any string
position 'center' Where to place the text. 'left', 'center', 'right'
fill_char '-' The character to use when drawing the line. If more than one is given, only the first is used. Any single character
left_pad 2 How many fill_chars to use as a prefix when aligning the text left. Any positive integer
right_pad 2 How many fill_chars to use as a postfix when aligning the text right. Any positive integer
width -1 How wide to draw the line. Defaults to the terminal's width minus one if not specified. Any integer; -1 for terminal width minus 1
color '' What color to make the text. 'bold', 'black', 'blue', 'cyan', 'green', 'grey', 'magenta', 'red', 'white', 'yellow', 'black+bold', 'blue+bold', 'cyan+bold', 'green+bold', 'grey+bold', 'magenta+bold', 'red+bold', 'white+bold', 'yellow+bold'
bold False Should the text be bold. This can be used with or without a defined color. True, False

If you are adding bold to a color it must come after the color name. E.b. cyan+bold NOT bold+cyan as this will cause an exception to be thrown.


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

wolfsoftware_drawlines-0.1.0.tar.gz (10.1 kB view details)

Uploaded Source

Built Distribution

wolfsoftware.drawlines-0.1.0-py3-none-any.whl (7.5 kB view details)

Uploaded Python 3

File details

Details for the file wolfsoftware_drawlines-0.1.0.tar.gz.

File metadata

File hashes

Hashes for wolfsoftware_drawlines-0.1.0.tar.gz
Algorithm Hash digest
SHA256 35bf1645a8bf4c860b5a82d4639b2d1dc9907ab76838f693ae958e5f3de71d04
MD5 4d88b2d6a08863defa5dee86142fcaf8
BLAKE2b-256 fb94e4ecf86d06ac90c462ea563a12898470d72c4499b24249242d366804f8c1

See more details on using hashes here.

Provenance

File details

Details for the file wolfsoftware.drawlines-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for wolfsoftware.drawlines-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 45ce7afe69575e0dc97838df4abd3e5095f8dba956aad28d0d5e855d027f021f
MD5 aefe8e9096ad92cec0a73ecf5c77b29d
BLAKE2b-256 a33064e55965eadc33468d43399402f37a0d5016a7caba998cd1b4da6c269cb5

See more details on using hashes here.

Provenance

Supported by

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