Skip to content

A python package that allows you to draw multiple different types of lines on the console.

License

Notifications You must be signed in to change notification settings

DevelopersToolbox/draw-lines-package

Repository files navigation

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.


About

A python package that allows you to draw multiple different types of lines on the console.

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Sponsor this project

  •  
  •  

Packages

No packages published

Languages