Merkury 는 Python 스크립트를 실행하고 정적 HTML 또는 Markdown 보고서를 코드로 렌더링하고 출력을 생성하는 명령 줄 유틸리티입니다. 표준 .py
파일을 입력으로 사용합니다. 명령 줄에서 실행할 수있는 유효한 스크립트를 보고서로 바꿀 수도 있습니다.
Jupyter 및 Papermill과 같은 도구에 대한 가벼운 대안입니다. 이것들은 그들의 장점 (및 문제)을 가지고 있지만, 필요한 모든 것이 데이터 분석 스크립트에서 보고서를 생성하는 것이면 과잉 일 수 있습니다. 이 프로젝트는 해당 시나리오를 해결하기위한 것입니다.
프로젝트의 비 목표 :
pip3 install merkury
$ merkury -h
merkury
Usage:
merkury [options] <script>
Options:
-h --help Show this screen.
-o <file>, --output <file> Specify report file (if missing, <script_name>_<date>).
-f <format>, --format <format> Specify report format: html (default), md.
-a <author>, --author <author> Specify author (if missing, user name).
-t <title>, --title <title> Specify report title (if missing, script file name)
-c, --toc Generate Table of Contents
-v, --version Show version and exit.
추가 변환 도구 (예 : Pandoc)를 사용하여 PDF 보고서를 얻을 수도 있습니다. 예를 들어:
merkury -o /dev/stdout -f md <your_script> | pandoc --highlight-style=tango -t pdf -o report.pdf
보고서 파일에 RAW HTML 청크 (예 : 플롯 또는 이미지)가 포함 된 경우 wkhtmltopdf PDF 엔진을 사용해야합니다.
제작 된 보고서에서 코드는 섹션으로 나뉩니다. 각 섹션은 일부 출력을 인쇄하는 명령문으로 끝납니다 (예 : print()
). 마술 댓글 #TITLE <your_section_title>
배치하여 출력을 생성하는 라인을 배치하여 각 섹션에 제목을 줄 수 있습니다.
보고서 서식과 관련하여 Python 스크립트에는 3 가지 유형의 출력이 있습니다 : Standard <code>
블록 (기본값), HTML 또는 Markdown.
기본적으로 Merkury는 모든 출력을 표준 코드 인쇄로 취급하여 <code>
블록에 넣습니다. 출력이 실제로 HTML 또는 Markdown 인 경우 스크립트에 인쇄문 후 마술 댓글을 작성함으로써 표시해야합니다.
RAW HTML을 출력하는 줄 뒤에 주석 #HTML
넣어야합니다. 예를 들어:
print(pandas_df.to_html(border=0))
#HTML
Merkury는 HTML을 손으로 작성하거나 포맷 출력을 HTML로 서식 할 수있는 라이브러리를 사용하는 것 외에도 공통 라이브러리의 플롯을 형식화하기 위해 유틸리티 기능을 제공합니다. 자세한 내용은 문서 플로팅을 참조하십시오.
Markdown에서 텍스트를 형식화 할 수도 있습니다. 인쇄문 후 마술 댓글 #MARKDOWN
을 넣어야합니다.
예를 들어:
print("""
# I'm a markdown header
List:
* l1
* l2
""")
#MARKDOWN