merkury
v0.10
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種輸出類型:標準<code>
block(默認),HTML或Markdown。
默認情況下,默克里將任何輸出視為標準代碼打印,並將其放入<code>
塊中。如果您的輸出實際上是HTML或Markdown,則需要通過在腳本中打印語句後將魔術註釋來指出。
您需要在輸出RAW HTML的行之後輸入評論#HTML
。例如:
print(pandas_df.to_html(border=0))
#HTML
除了手工編寫HTML或使用允許格式輸出為HTML的庫外, Merkury還提供了實用程序功能,以從普通庫中格式化圖。有關詳細信息,請參見繪圖文檔。
也可以在Markdown中渲染格式的文本。您需要在打印語句之後放置魔術評論#MARKDOWN
。
例如:
print("""
# I'm a markdown header
List:
* l1
* l2
""")
#MARKDOWN