Styled console printing made simple — color, format, and clickable hyperlinks in one package.
Project description
🎨 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
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ee26b969b758cf87d706dc9c08ce944117c553198d86917f2807a30f1f495ddb
|
|
| MD5 |
c69025c4fa85a1facb40fc7df90af311
|
|
| BLAKE2b-256 |
ea4e94965638869f903603f023adc1657c2fbeb4f170dcc0c5d6c1de757f2449
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
806e9e64e40898a35abe538beeb6de298cc36fd28acdedce6e08df9b1084218f
|
|
| MD5 |
5d0bd7ec73ab7c2a7a134403e0fd8457
|
|
| BLAKE2b-256 |
ec192c88fcc61e41e9088e437dd663b1fe855db8917d76e1a7332bc627ad39fe
|