🎨 PrintPop V 0.2.2
Styled console printing made simple — color, format, and clickable hyperlinks in one package.
✨ 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")
🌈 Supported Colors
printpop includes wrapper functions for over 140 HTML name safe colors
print_aliceblue()
print_antiquewhite()
print_aqua()
print_aquamarine()
...
| aliceblue | antiquewhite | aqua | aquamarine | ||||
| azure | bisque | blanchedalmond | blue | ||||
| blueviolet | brown | burlywood | cadetblue | ||||
| chartreuse | chocolate | coral | cornflowerblue | ||||
| cornsilk | crimson | cyan | darkblue | ||||
| darkcyan | darkgray | darkgreen | darkgrey | ||||
| darkkhaki | darkmagenta | darkolivegreen | darkorange | ||||
| darkorchid | darkred | darksalmon | darkseagreen | ||||
| darkslateblue | darkslategray | darkslategrey | darkturquoise | ||||
| darkviolet | deeppink | deepskyblue | dimgray | ||||
| dimgrey | dodgerblue | firebrick | floralwhite | ||||
| forestgreen | fuchsia | gainsboro | ghostwhite | ||||
| gold | gray | green | greenyellow | ||||
| grey | honeydew | hotpink | indianred | ||||
| indigo | ivory | khaki | lavender | ||||
| lavenderblush | lawngreen | lemonchiffon | lightblue | ||||
| lightcoral | lightcyan | lightgoldenrodyellow | lightgray | ||||
| lightgreen | lightgrey | lightpink | lightsalmon | ||||
| lightseagreen | lightskyblue | lightslategray | lightslategrey | ||||
| lightsteelblue | lightyellow | lime | limegreen | ||||
| linen | magenta | mediumaquamarine | mediumblue | ||||
| mediumorchid | mediumpurple | mediumseagreen | mediumslateblue | ||||
| mediumspringgreen | mediumturquoise | mediumvioletred | midnightblue | ||||
| mintcream | mistyrose | moccasin | navy | ||||
| oldlace | olive | olivedrab | orange | ||||
| orangered | orchid | palegoldenrod | palegreen | ||||
| paleturquoise | palevioletred | papayawhip | peachpuff | ||||
| peru | pink | plum | powderblue | ||||
| purple | rebeccapurple | red | rosybrown | ||||
| royalblue | saddlebrown | salmon | sandybrown | ||||
| seagreen | seashell | sienna | silver | ||||
| skyblue | slateblue | slategray | slategrey | ||||
| snow | springgreen | steelblue | tan | ||||
| teal | thistle | tomato | turquoise | ||||
| violet | wheat | white | whitesmoke | ||||
| yellow | yellowgreen |
🔤 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
📁 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
Metadata
Release files for printpop 0.2.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| printpop-0.2.2.tar.gz | 1.1 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| printpop-0.2.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.1 MB
Release files / printpop-0.2.2.tar.gz
| Download URL | printpop-0.2.2.tar.gz |
|---|---|
| Size | 1.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ee26b969b758cf87d706dc9c08ce944117c553198d86917f2807a30f1f495ddb
|
|
BLAKE2b-256 checksum How to use checksums |
ea4e94965638869f903603f023adc1657c2fbeb4f170dcc0c5d6c1de757f2449
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.4
|
Release files / printpop-0.2.2-py3-none-any.whl
| Download URL | printpop-0.2.2-py3-none-any.whl |
|---|---|
| Size | 20.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
806e9e64e40898a35abe538beeb6de298cc36fd28acdedce6e08df9b1084218f
|
|
BLAKE2b-256 checksum How to use checksums |
ec192c88fcc61e41e9088e437dd663b1fe855db8917d76e1a7332bc627ad39fe
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.4
|