Skip to main content

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

Project description

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

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

printpop-0.2.2.tar.gz (1.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

printpop-0.2.2-py3-none-any.whl (20.0 kB view details)

Uploaded Python 3

File details

Details for the file printpop-0.2.2.tar.gz.

File metadata

  • Download URL: printpop-0.2.2.tar.gz
  • Upload date:
  • Size: 1.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.4

File hashes

Hashes for printpop-0.2.2.tar.gz
Algorithm Hash digest
SHA256 ee26b969b758cf87d706dc9c08ce944117c553198d86917f2807a30f1f495ddb
MD5 c69025c4fa85a1facb40fc7df90af311
BLAKE2b-256 ea4e94965638869f903603f023adc1657c2fbeb4f170dcc0c5d6c1de757f2449

See more details on using hashes here.

File details

Details for the file printpop-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: printpop-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 20.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.4

File hashes

Hashes for printpop-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 806e9e64e40898a35abe538beeb6de298cc36fd28acdedce6e08df9b1084218f
MD5 5d0bd7ec73ab7c2a7a134403e0fd8457
BLAKE2b-256 ec192c88fcc61e41e9088e437dd663b1fe855db8917d76e1a7332bc627ad39fe

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page