Merkury เป็นยูทิลิตี้บรรทัดคำสั่งในการเรียกใช้สคริปต์ Python และแสดงผล HTML แบบคงที่ หรือรายงาน Markdown ด้วยรหัสและผลิตเอาท์พุท มันใช้ไฟล์ .py
มาตรฐานเป็นอินพุต - สคริปต์ที่ถูกต้องใด ๆ ที่สามารถเรียกใช้จากบรรทัดคำสั่งสามารถเปลี่ยนเป็นรายงานได้
เป็นทางเลือกที่มีน้ำหนักเบาสำหรับเครื่องมือเช่น Jupyter และ Papermill ในขณะที่สิ่งเหล่านี้มีข้อได้เปรียบ (และปัญหา) เมื่อทุกสิ่งที่คุณต้องการคือการสร้างรายงานจากสคริปต์การวิเคราะห์ข้อมูลพวกเขาอาจเป็น overkill โครงการนี้มีวัตถุประสงค์เพื่อแก้ไขสถานการณ์นั้น
ไม่ใช่เป้าหมายของโครงการ:
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.
นอกจากนี้ยังเป็นไปได้ที่จะได้รับรายงาน PDF ด้วยการใช้เครื่องมือแปลงเพิ่มเติม (เช่น Pandoc) ตัวอย่างเช่น:
merkury -o /dev/stdout -f md <your_script> | pandoc --highlight-style=tango -t pdf -o report.pdf
หมายเหตุในกรณีที่ไฟล์รายงานของคุณมี HTML chunks ดิบ (เช่นพล็อตหรือรูปภาพ) คุณจะต้องใช้เครื่องยนต์ WKHTMLTOPDF PDF
ในรายงานที่ผลิตรหัสจะถูกแบ่งออกเป็นส่วนต่างๆ แต่ละส่วนจบลงด้วยคำสั่งพิมพ์เอาต์พุต (เช่น print()
) คุณสามารถให้ชื่อเรื่องกับแต่ละส่วนโดยการวาง ความคิดเห็นเวทมนตร์ #TITLE <your_section_title>
หลังจากบรรทัดที่สร้างผลลัพธ์
เมื่อพูดถึงการจัดรูปแบบรายงานมีเอาต์พุต 3 ประเภทในสคริปต์ Python: มาตรฐาน <code>
บล็อก (ค่าเริ่มต้น), HTML หรือ Markdown
โดยค่าเริ่มต้น Merkury ถือว่าเอาต์พุตใด ๆ เป็นการพิมพ์รหัสมาตรฐานและใส่ลงในบล็อก <code>
หากผลลัพธ์ของคุณคือ HTML หรือ Markdown จริง ๆ คุณต้องระบุว่าโดยการวาง ความคิดเห็นเวทมนตร์ หลังจากการพิมพ์คำสั่งในสคริปต์ของคุณ
คุณต้องใส่ความคิดเห็น #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