/bubblewrap

A Python library that makes beautiful text bubbles in your terminal using NerdFont icons

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

Bubblewrap

GitHub Super-Linter

bubbles

A Python library that makes beautiful text bubbles in your terminal using NerdFont icons.

Install

pip install bubblewrap-cli

Usage

The easiest way to use bubblewrap is with the Rich library.

from bubblewrap import Bubbles
from rich.console import Console

b = Bubbles()
c = Console()
print()
c.print(b.get_rich_bubble("This is text", bg_color="purple"))
print()
c.print(b.get_rich_bubble("Bubblewrap!", bg_color="dark_green", fg_color="grey66"))
print()

You can also use your own ANSI codes

from bubblewrap import Bubbles

b = Bubbles()

print()
# takes the text, circle style (an fg color), test style (the bg color same as fg color
# foreground and optionally it's own fg color), reset (your ANSI reset sequence)
print(b.get_ansi_bubbles("Ayo how are you?", "\033[31m", "\033[32;41m", "\033[0m"))
print()

Alternatively, you can link bubbles together:

from bubblewrap import Bubbles
from rich.console import Console

b = Bubbles()
c = Console()

print()
# default divider is an arrow
c.print(b.get_rich_chain("Fri 09:45", "white", "black")
         .link("直 Wi-Fi", "orange3", "white")
         .link(" Charging", "bright_green", "black").end())
# semi-circle divider
c.print(b.get_rich_chain("Fri 09:45", "white", "black", divider="")
         .link("直 Wi-Fi", "orange3", "white")
         .link(" Charging", "bright_green", "black").end())

print()
print(b.get_ansi_chain("~/Projects", "\033[37;45m", "\033[0m")
       .link("bubblewrap", "\033[30;46m")
       .link("שׂ main", "\033[30;43m").end())

Example

bubbles

Contributors 🌟