nicklambourne / housepaint

Demonstration library for a talk on publishing Python packages

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

housepaint

What is it?

housepaint is a demonstration library for a talk on publishing Python packages. A silly little thing with limited utility, it allows you to recolor an entire function's worth of text with beautiful, simple decorators.

Requirements

housepaint requires Python >= 3.6.

As of version 0.0.1 it has no dependencies outside the Python standard library, except for pytest in dev.

Installation

Via poetry:

poetry add housepaint

Via pip:

pip install housepaint

Usage

from housepaint import BG, FG, paint, Style


@paint(foreground=FG.GREEN, background=BG.BLACK, styles=Style.BOLD)
def success_example() -> None:
    print("This")
    print("Should")
    print("All")
    print("Be")
    print("Green")

success_example()

Will result in all of the print output of the function success_example being in bold, green font on a black background.

example of housepaint at work

Limitations

This library relies on ANSI escape codes to recolour text. If your printed text has ANSI codes there's a good chance it won't work out well for you.

Can I use this in my project?

Yes, please do! The code is all open source and BSD-3-Clause licensed.

About

Demonstration library for a talk on publishing Python packages


Languages

Language:Python 100.0%