반응형
rich는 Python에서 스타일이 풍부한 출력을 제공하는 라이브러리로, CLI 애플리케이션을 더 직관적이고 보기 좋게 만들어줍니다. 텍스트, 테이블, 프로그레스 바, 로그 메시지 등 다양한 형식의 출력을 쉽게 구현할 수 있으며, 컬러 텍스트, 스타일링, 애니메이션 등을 지원합니다.
주요 특징
- 컬러 출력
- 텍스트, 테이블, 코드 블록 등에 색상을 적용할 수 있습니다.
- ANSI 컬러 코드와 호환되며 터미널에서 풍부한 색상을 지원합니다.
- 테이블 생성
- CLI 환경에서 보기 좋은 테이블을 쉽게 생성할 수 있습니다.
- 컬럼 정렬, 스타일 지정, 헤더 및 박스 스타일 등 지원.
- 로깅(Log)
- Python의 기본 로깅 모듈과 통합되어 보기 좋은 로그를 출력합니다.
- 로그 메시지에 시간, 레벨, 메시지를 색상과 함께 표시.
- 프로그레스 바
- 파일 다운로드, 데이터 처리 등의 진행 상황을 시각적으로 표시.
- 여러 태스크의 진행 상황도 지원.
- 코드 하이라이팅
- 다양한 프로그래밍 언어의 코드를 터미널에서 하이라이팅하여 출력.
- 디버깅 시 유용하게 사용 가능.
- Markdown 렌더링
- Markdown 문법을 터미널에 그대로 렌더링 가능.
- 문서의 내용을 터미널에서 직접 표시할 수 있음.
- 유연한 스타일링
- 텍스트에 굵게, 기울임, 밑줄, 색상 등을 적용할 수 있습니다.
설치 방법
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 공식 문서: 더 많은 기능과 고급 예제를 확인할 수 있습니다.
rich는 단순한 CLI 프로그램부터 복잡한 애플리케이션까지 다양한 용도로 활용할 수 있는 강력한 도구입니다. 추가적인 활용 방법이 필요하다면 말씀해주세요! 😊
반응형