Python(Click)으로 CLI 도구 구축하기 노트

Python(Click)으로 CLI 도구 구축하기

이 글은 Python과 Click 라이브러리로 구축된 간단한 명령줄 지출 추적기인 Penny에 대해 설명합니다. Penny는 사용자가 웹 인터페이스나 데이터베이스 없이 터미널에서 직접 지출을 추가, 나열, 요약 및 삭제할 수 있도록 합니다. 작성자는 명령과 옵션을 정의하는 데 있어 보다 직관적이고 데코레이터 기반 접근 방식을 제공하는 Click을 Python의 내장 argparse 대신 선택했습니다.프로젝트는 세 개의 주요 파일로 구성됩니다: 개별 명령 로직을 위한 commands.py, 이러한 명령을 단일 CLI 도구로 그룹화하기 위한 penny.py, 패키징 및 진입점 정의를 위한 pyproject.toml. Penny는 expenses.json이라는 일반 JSON 파일에 지출 데이터를 저장하며, 각 작업마다 해당 파일에서 읽고 씁니다. add 명령은 JSON 파일이 존재하지 않으면 생성하고, 새 지출을 추가하며, 업데이트된 목록을 저장하여 색상으로 확인 메시지를 제공합니다.list 명령은 저장된 지출을 표 형식으로 표시하며, 지출이 발견되지 않으면 경고를 표시합니다. summary 명령은 범주별 지출 합계와 총계를 계산하여 출력하며, 결과를 형식화된 JSON으로 출력합니다. clear 명령은 expenses.json 파일을 빈 목록으로 덮어쓰기 전에 확인 프롬프트를 포함합니다.penny.py 파일은 Click의 그룹 기능을 사용하여 모든 명령을 단일 penny 실행 파일 아래에 통합합니다. pyproject.toml 파일은 이 그룹화를 구성하여 Penny를 pip install .을 통해 전역적으로 설치 가능한 명령줄 도구로 만듭니다. 작성자는 Click의 선언적 스타일의 이점, 간단한 데이터 저장에 JSON이 적합하다는 점, 작은 사용자 경험 세부 사항의 중요성, 그리고 명령 그룹화가 스크립트를 세련된 CLI 애플리케이션으로 어떻게 향상시키는지 강조합니다.