termaid - 터미널에서 Mermaid 다이어그램 렌더링

Mermaid 다이어그램을 터미널이나 Python 앱에서 렌더링. 브라우저나 외부 서비스 없이 SSH, CI 로그, TUI 앱에서 사용 가능.

핵심 특징

특징설명
10가지 다이어그램flowchart, sequence, class, ER, state, block, git, pie, treemap, mindmap
Zero dependencies순수 Python, 추가 설치 불필요
터미널 인식터미널 너비에 자동 맞춤
6가지 테마default, terra, neon, mono, amber, phosphor
ASCII fallback가장 기본적인 터미널에서도 작동

설치

pip install termaid
 
# 또는 설치 없이 실행
uvx termaid diagram.mmd

CLI 사용법

# 파일에서 렌더링
termaid diagram.mmd
 
# 파이프로 입력
echo "graph LR; A-->B-->C" | termaid
 
# 테마 적용
termaid diagram.mmd --theme neon
 
# ASCII만 사용
termaid diagram.mmd --ascii
 
# 대화형 TUI
termaid diagram.mmd --tui

Python API

from termaid import render
 
print(render("graph LR\n A --> B --> C"))
 
# 컬러 출력 (pip install termaid[rich])
from termaid import render_rich
from rich import print as rprint
 
rprint(render_rich("graph LR\n A --> B", theme="terra"))
 
# Textual 위젯 (pip install termaid[textual])
from termaid import MermaidWidget
 
widget = MermaidWidget("graph LR\n A --> B")

지원 다이어그램 예시

Flowchart

graph TD
 A[Start] --> B{Is valid?}
 B -->|Yes| C(Process)
 C --> D([Done])
 B -->|No| E[Error]

Sequence

sequenceDiagram
 Alice->>Bob: Hello Bob
 Bob-->>Alice: Hi Alice

Git Graph

gitGraph
 commit id: "init"
 branch develop
 commit id: "dev-1"
 checkout main
 merge develop

Mindmap

mindmap
 Project
  Design
   Wireframes
  Development
   Frontend
   Backend

왜 만들어졌나

기존 도구들(mermaid-ascii, beautiful-mermaid)은 Python에서 직접 import해서 쓸 수 없었다. termaid는:

  • SSH 세션에서 사용
  • CI 로그에서 시각화
  • TUI 앱에 내장
  • 어디서든 Python 환경만 있으면 OK