카테고리 없음

Python rich 패키지란?

idea9329 2025. 1. 20. 16:39
반응형

 

rich는 Python에서 스타일이 풍부한 출력을 제공하는 라이브러리로, CLI 애플리케이션을 더 직관적이고 보기 좋게 만들어줍니다. 텍스트, 테이블, 프로그레스 바, 로그 메시지 등 다양한 형식의 출력을 쉽게 구현할 수 있으며, 컬러 텍스트, 스타일링, 애니메이션 등을 지원합니다.


주요 특징

  1. 컬러 출력
    • 텍스트, 테이블, 코드 블록 등에 색상을 적용할 수 있습니다.
    • ANSI 컬러 코드와 호환되며 터미널에서 풍부한 색상을 지원합니다.
  2. 테이블 생성
    • CLI 환경에서 보기 좋은 테이블을 쉽게 생성할 수 있습니다.
    • 컬럼 정렬, 스타일 지정, 헤더 및 박스 스타일 등 지원.
  3. 로깅(Log)
    • Python의 기본 로깅 모듈과 통합되어 보기 좋은 로그를 출력합니다.
    • 로그 메시지에 시간, 레벨, 메시지를 색상과 함께 표시.
  4. 프로그레스 바
    • 파일 다운로드, 데이터 처리 등의 진행 상황을 시각적으로 표시.
    • 여러 태스크의 진행 상황도 지원.
  5. 코드 하이라이팅
    • 다양한 프로그래밍 언어의 코드를 터미널에서 하이라이팅하여 출력.
    • 디버깅 시 유용하게 사용 가능.
  6. Markdown 렌더링
    • Markdown 문법을 터미널에 그대로 렌더링 가능.
    • 문서의 내용을 터미널에서 직접 표시할 수 있음.
  7. 유연한 스타일링
    • 텍스트에 굵게, 기울임, 밑줄, 색상 등을 적용할 수 있습니다.

설치 방법

rich는 PyPI에 등록되어 있으며, 간단히 설치할 수 있습니다:

pip install rich

기본 사용 예제

1. 컬러 텍스트 출력

from rich.console import Console

console = Console()
console.print("Hello, [bold red]Rich![/bold red]")

출력:

Hello, Rich! (Rich가 굵은 빨간색으로 표시)

2. 테이블 출력

from rich.table import Table
from rich.console import Console

console = Console()
table = Table(title="Sample Table")

table.add_column("Name", justify="left", style="cyan", no_wrap=True)
table.add_column("Age", justify="right", style="magenta")
table.add_column("City", style="green")

table.add_row("Alice", "24", "New York")
table.add_row("Bob", "30", "San Francisco")
table.add_row("Charlie", "29", "Los Angeles")

console.print(table)

출력:

┏━━━━━━━━━┳━━━━━┳━━━━━━━━━━━━━━━━━┓
┃ Name    ┃ Age ┃ City            ┃
┡━━━━━━━━━╇━━━━━╇━━━━━━━━━━━━━━━━━┩
│ Alice   │  24 │ New York        │
│ Bob     │  30 │ San Francisco   │
│ Charlie │  29 │ Los Angeles     │
└─────────┴─────┴─────────────────┘

3. 프로그레스 바

from rich.progress import Progress

with Progress() as progress:
    task = progress.add_task("[cyan]Processing...", total=100)

    for i in range(100):
        progress.update(task, advance=1)

출력:
CLI에서 진행률을 시각적으로 표시합니다.


4. Markdown 렌더링

from rich.console import Console
from rich.markdown import Markdown

console = Console()
markdown = Markdown("# Rich Markdown\n- Easy to use\n- Beautiful output")
console.print(markdown)

출력:

# Rich Markdown
- Easy to use
- Beautiful output

응용 분야

  • CLI 애플리케이션: 테이블, 진행 상황 표시, 로그 등을 활용한 직관적인 사용자 경험 제공.
  • 디버깅 및 로깅: 코드 하이라이팅과 로그 출력을 통해 문제 해결 효율성 향상.
  • 교육 및 프레젠테이션: 터미널에서 Markdown 문서나 코드를 쉽게 표시.

추가 참고

rich는 단순한 CLI 프로그램부터 복잡한 애플리케이션까지 다양한 용도로 활용할 수 있는 강력한 도구입니다. 추가적인 활용 방법이 필요하다면 말씀해주세요! 😊

반응형