Skip to content

rlapine/printpop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PrintPop logo


🎨 PrintPop V 0.2.2

Styled console printing made simple — color, format, and clickable hyperlinks in one package.


Python License GitHub Stars GitHub Forks


✨ Overview

PrintPop is a lightweight Python utility for printing beautifully formatted text and hyperlinks in the console. Use named HTML-safe colors, custom RGB values, and popular text styles to make CLI output clearer and more expressive.

Designed to work across platforms (Windows, macOS, Linux), and built for developers, educators, and CLI power users.


📦 Installation

pip install printpop


⚙️ Features

  • ✅ Uses wrapper functions for quick integration
  • ✅ Built entirely on standard libraries
  • ✅ Named HTML-Safe Colors: Use intuitive color names like "salmon", "skyblue", or "goldenrod" for quick readability.
  • ✅ Custom RGB Styling: Define any RGB values for precise color output—ideal for branding or design-themed CLI tools.
  • ✅ Text Style Formatting: Combine bold, italic, underline, and more for expressive output.
  • ✅ Background Colors: Control the background with both named and RGB values for contrast-rich displays.
  • ✅ Hyperlink printing in color and format.
  • ✅ Cross-Platform ANSI Support: Works reliably on Windows, macOS, and Linux terminals using ANSI escape codes.
  • ✅ Convenient Wrapper Functions: print_bold(), print_rgb(), print_formatted()—no need to remember styling syntax.
  • ✅ Interactive CLI Demo: Run console_test.py to preview styles, test terminal capabilities, or explore colors hands-on.
  • ✅ No Dependencies: Fully standalone—just install and start printing with color.

✍️ API Overview

  • print_<color>(text_to_print: str): print functions for over 140 HTML safe named colors.
  • print_bold(text_to_print: str): Prints bold.
  • print_dim(text_to_print: str): Prints dim.
  • print_italic(text_to_print: str): Prints italic.
  • print_underline(text_to_print: str): Prints underline.
  • print_blink(text_to_print: str): Prints blink.
  • print_inverse(text_to_print: str): Prints inverse.
  • print_hidden(text_to_print: str): Prints hidden.
  • print_strikethrough(text_to_print: str): Prints strikethrough.
  • print_rgb(text_to_print: str, r: int, g: int, b: int): Prints text in rgb color.
  • print_color(text_to_print: str, color: str, background: bool): Prints background in color if backround is True.
  • print_formatted(text_to_print: str, bold: bool, ...: Prints with formats and colors.
  • print_hyperlink(text: str, hyperlink: str, color: str ...: Prints clickable hyperlink with formats and colors.

🔧 Usage Examples

from printpop import print_bold, print_rgb, print_formatted, print_red, print_color, print_hyperlink

# Emphasize with bold
print_bold("This text is bold.")

# Custom RGB
print_rgb("This text is soft purple", r=150, g=120, b=180)

# Combine styles
print_formatted("This text is bold, italic, salmon colored with lightcoral background", bold=True, italic=True, color="salmon", back_color="lightcoral")

# Print color name
print_red("This text is red")

# Use named HTML-safe foreground/background colors
print_color("This text is fuchsia", color = "fuchsia" )

# Use any rgb color
print_rgb("This text is one of 16,777,216 possible colors", r = 101, g = 201, b = 113)

# Use any rgb color for background
print_rgb("This text has one of 16,777,216 possible background colors", r = 37, g = 249, b = 201, background = True)

# Combine multiple text styles and colors
print_formatted("This text is bold, underlined, red with yellow background and it is blinking.",
    bold=True,
    dim=False,
    italic=False,
    underline=True,
    blink=True,
    inverse=False,
    hidden=False,
    strikethrough=False,
    color="red",
    back_color="yellow"
)

# Print clickable hyperlink
print_hyperlink(text="This is a blue, clickable hyperlink", hyperlink="https://github.com/rlapine", color="blue")

console output


🌈 Supported Colors

printpop includes wrapper functions for over 140 HTML name safe colors

print_aliceblue()
print_antiquewhite()
print_aqua()
print_aquamarine()
...
alicebluealiceblue antiquewhiteantiquewhite aquaaqua aquamarineaquamarine
azureazure bisquebisque blanchedalmondblanchedalmond blueblue
bluevioletblueviolet brownbrown burlywoodburlywood cadetbluecadetblue
chartreusechartreuse chocolatechocolate coralcoral cornflowerbluecornflowerblue
cornsilkcornsilk crimsoncrimson cyancyan darkbluedarkblue
darkcyandarkcyan darkgraydarkgray darkgreendarkgreen darkgreydarkgrey
darkkhakidarkkhaki darkmagentadarkmagenta darkolivegreendarkolivegreen darkorangedarkorange
darkorchiddarkorchid darkreddarkred darksalmondarksalmon darkseagreendarkseagreen
darkslatebluedarkslateblue darkslategraydarkslategray darkslategreydarkslategrey darkturquoisedarkturquoise
darkvioletdarkviolet deeppinkdeeppink deepskybluedeepskyblue dimgraydimgray
dimgreydimgrey dodgerbluedodgerblue firebrickfirebrick floralwhitefloralwhite
forestgreenforestgreen fuchsiafuchsia gainsborogainsboro ghostwhiteghostwhite
goldgold graygray greengreen greenyellowgreenyellow
greygrey honeydewhoneydew hotpinkhotpink indianredindianred
indigoindigo ivoryivory khakikhaki lavenderlavender
lavenderblushlavenderblush lawngreenlawngreen lemonchiffonlemonchiffon lightbluelightblue
lightcorallightcoral lightcyanlightcyan lightgoldenrodyellowlightgoldenrodyellow lightgraylightgray
lightgreenlightgreen lightgreylightgrey lightpinklightpink lightsalmonlightsalmon
lightseagreenlightseagreen lightskybluelightskyblue lightslategraylightslategray lightslategreylightslategrey
lightsteelbluelightsteelblue lightyellowlightyellow limelime limegreenlimegreen
linenlinen magentamagenta mediumaquamarinemediumaquamarine mediumbluemediumblue
mediumorchidmediumorchid mediumpurplemediumpurple mediumseagreenmediumseagreen mediumslatebluemediumslateblue
mediumspringgreenmediumspringgreen mediumturquoisemediumturquoise mediumvioletredmediumvioletred midnightbluemidnightblue
mintcreammintcream mistyrosemistyrose moccasinmoccasin navynavy
oldlaceoldlace oliveolive olivedrabolivedrab orangeorange
orangeredorangered orchidorchid palegoldenrodpalegoldenrod palegreenpalegreen
paleturquoisepaleturquoise palevioletredpalevioletred papayawhippapayawhip peachpuffpeachpuff
peruperu pinkpink plumplum powderbluepowderblue
purplepurple rebeccapurplerebeccapurple redred rosybrownrosybrown
royalblueroyalblue saddlebrownsaddlebrown salmonsalmon sandybrownsandybrown
seagreenseagreen seashellseashell siennasienna silversilver
skyblueskyblue slateblueslateblue slategrayslategray slategreyslategrey
snowsnow springgreenspringgreen steelbluesteelblue tantan
tealteal thistlethistle tomatotomato turquoiseturquoise
violetviolet wheatwheat whitewhite whitesmokewhitesmoke
yellowyellow yellowgreenyellowgreen

🔤 Supported Formats

printpop includes wrapper functions for ANSI formats:

print_bold()
print_dim()
print_italic()
print_underline()
print_blink()
print_inverse()
print_hidden()
print_strikethrough()

🔧 Built-in demo:

python printpop

console output


📁 Package Structure

printpop/
├── printpop/              # Folder for images, badges, or other static assets
│   ├── core.py            # Public functions and console test
│   ├── color_printer.py   # Core ANSI logic
│   ├── __init__.py        # Package init
├── assets/                # Folder for images, badges, or other static assets
│   ├── print_pop_logo.png           # Logo for documentation
│   ├── colorprinter_usage_output.png   # Console output 
│   ├── color_samples.png               # Console output
|   ├── <color>.png                     # HTML safe name color samples
├── pyproject.toml
├── setup.cfg
├── setup.py
└── README.md              # Documentation

🤝 Contributing

Pull requests welcome! If you spot formatting quirks, want to add new named colors or extend features (like terminal detection or theme presets), feel free to collaborate.

To contribute:

Fork the repo

Add your changes with Google-style comments

Submit a pull request with a clear description

For style consistency, follow the Python Google Style Guide for functions and comments.


📄 License

This project is licensed under the MIT License.


👤 Author

Created by Ryan LaPine @rlapine — a technically skilled developer focused on clarity, maintainability, and audience-ready documentation. This class is part of a broader effort to build reusable, well-documented tools for data-driven projects.


📬 Contact

Feel free to reach out with questions or collaboration ideas:

📧 github.stunt845@passinbox.com
🔗 GitHub: @rlapine

About

Styled console printing made simple — color, format, and clarity in one package.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages