By using this software, you agree to the full disclaimer terms.
Summary: Software provided "AS IS" without warranty. You assume all risks.
Full legal disclaimer: See DISCLAIMER.md
Output Decorator is a lightweight Python library designed to enhance CLI application output with professional text decoration. It automatically adapts to your terminal width and provides simple methods for creating visually appealing formatted output.
- 🖥️ Terminal-aware – Automatically detects and uses your terminal width
- 🎨 Flexible decoration – Customize border symbols for any style
- 📝 Frame formatting – Create framed text blocks with different top/bottom borders
- 🔧 Simple API – Clean, intuitive interface with minimal learning curve
- ⚡ Lightweight – No external dependencies beyond Python standard library
pip install outputdecoratorfrom output_decorator import StringDecorator
# Center text with automatic terminal width
StringDecorator.string_decorate(text='Python', symbol='*', print_flag=True)
# Output: ************************************ Python ***********************************
# Get decorated string without printing
decorated = StringDecorator.string_decorate(text='Python', symbol='*', print_flag=False)
print(decorated) # Same output as above
# Create framed text with different border styles
frame = StringDecorator.framed_decorate(
text='Python',
top_symbol='*',
bottom_symbol='-'
)
print(frame)
"""
******
Python
------
"""Creates a centered line of text padded with the specified symbol to fill the terminal width.
Parameters:
text(str) – The text to decorate (default: empty string)symbol(str) – Character used for padding (default: '*')print_flag(bool) – If True, prints directly; if False, returns the string (default: True)
Returns: str or None – Decorated string if print_flag=False, otherwise None
Creates a framed text block with separate top and bottom borders.
Parameters:
text(str) – The text to frame (default: empty string)top_symbol(str) – Character for the top border (default: '-')bottom_symbol(str) – Character for the bottom border (default: '-')
Returns: str – Formatted string with top border, text, and bottom border
Returns the current terminal width in columns.
Returns: int – Terminal width
- CLI tools – Create visually distinct section headers
- Logging – Highlight important log entries
- Reports – Format console output for better readability
- Installers/Setup scripts – Create professional-looking progress indicators
- Development tools – Debug output with clear visual separation
StringDecorator.string_decorate(text='WELCOME', symbol='=')
# =================================== WELCOME ====================================StringDecorator.string_decorate(symbol='-')
# --------------------------------------------------------------------------------# Warning box
print(StringDecorator.framed_decorate('⚠️ WARNING ⚠️', top_symbol='!', bottom_symbol='!'))
# Success message
print(StringDecorator.framed_decorate('✓ Success!', top_symbol='=', bottom_symbol='='))Contributions, issues, and feature requests are welcome! Feel free to check the issues page.
This project is licensed under the terms specified in the repository. See the LICENSE file for details.
- Documentation: Check this README
- Issues: GitHub Issues
- PyPI: Package Page
Made with ❤️ for the Python CLI community