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.3.tar.gz (10.1 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for wolfsoftware_drawlines-0.1.3.tar.gz
Algorithm Hash digest
SHA256 c3bcd700d42071dd12ce5192ced291be3025766117480d6cbb1050c065df6832
MD5 8c39d6a148dfb1cb8c373cea7febf00f
BLAKE2b-256 94f35a605239d3f77c14fca3d12eced123f2e0f53131dd79fe39dc3f2ad135f0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for wolfsoftware.drawlines-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 8cec821923878d5b5bce18dceb47308e5bf21cff57ae7d64b48431e56a5dba85
MD5 843bda99a8718791bf94bdcc065eba81
BLAKE2b-256 d92b58d3b4bee741cba471ca7603106762e3dd480f4a29939fed6aac0221285d

See more details on using hashes here.

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