Merkury adalah utilitas baris perintah untuk menjalankan skrip Python dan membuat laporan HTML atau penurunan harga statis dengan kode dan menghasilkan output. Ini menggunakan file .py
standar sebagai input - skrip valid apa pun yang dapat dijalankan dari baris perintah, juga dapat diubah menjadi laporan.
Ini adalah alternatif yang ringan untuk alat -alat seperti Jupyter dan Papermill. Meskipun ini memiliki keunggulan (dan masalah) mereka, ketika semua yang Anda butuhkan adalah menghasilkan laporan dari skrip analisis data, mereka mungkin berlebihan. Proyek ini dimaksudkan untuk mengatasi skenario itu.
Non-Goals dari Proyek:
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.
Dimungkinkan juga untuk mendapatkan laporan PDF dengan penggunaan alat konversi tambahan (misalnya, Pandoc). Misalnya:
merkury -o /dev/stdout -f md <your_script> | pandoc --highlight-style=tango -t pdf -o report.pdf
Catatan, jika file laporan Anda berisi potongan HTML mentah (seperti plot atau gambar), Anda perlu menggunakan mesin PDF wkhtmltopdf .
Dalam laporan yang diproduksi, kode akan dipecah menjadi beberapa bagian. Setiap bagian diakhiri dengan pernyataan mencetak beberapa output (misalnya, print()
). Anda dapat memberikan judul untuk setiap bagian dengan menempatkan komentar ajaib #TITLE <your_section_title>
setelah baris yang menghasilkan output.
Ketika datang untuk melaporkan pemformatan, ada 3 jenis output dalam skrip python: blok <code>
standar (default), html, atau markdown.
Secara default Merkury memperlakukan output apa pun sebagai cetak kode standar dan memasukkannya ke dalam blok <code>
. Jika output Anda sebenarnya HTML atau Markdown, Anda perlu menunjukkan bahwa dengan menempatkan komentar ajaib setelah pernyataan cetak di skrip Anda.
Anda perlu memberikan komentar #HTML
setelah baris yang menghasilkan HTML mentah. Misalnya:
print(pandas_df.to_html(border=0))
#HTML
Selain menulis HTML dengan tangan atau menggunakan pustaka yang memungkinkan output pemformatan sebagai HTML, Merkury menyediakan fungsi utilitas untuk memformat plot dari pustaka umum. Lihat merencanakan dokumen untuk detailnya.
Dimungkinkan juga untuk membuat teks diformat dalam penurunan harga. Anda perlu menempatkan komentar ajaib #MARKDOWN
setelah pernyataan cetak.
Misalnya:
print("""
# I'm a markdown header
List:
* l1
* l2
""")
#MARKDOWN