Merkury ist ein Befehlszeilen -Dienstprogramm, mit dem Python -Skripte ausgeführt und statische HTML- oder Markdown -Berichte mit Code und erzeugtem Ausgang erstellt wurden. Es verwendet Standard .py
-Dateien als Eingabe - jedes gültige Skript, das aus der Befehlszeile ausgeführt werden kann, kann auch in einen Bericht umgewandelt werden.
Es ist eine leichte Alternative zu Tools wie Jupyter und Papermill. Während diese ihre Vorteile (und Probleme) haben, wenn alles, was Sie brauchen, einen Bericht aus einem Datenanalyse -Skript erstellen, ist sie möglicherweise ein Overkill. Dieses Projekt soll dieses Szenario ansprechen.
Nichtgänger des Projekts:
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.
Es ist auch möglich, PDF -Berichte unter Verwendung zusätzlicher Konvertierungswerkzeuge (z. B. Pandoc) zu erhalten. Zum Beispiel:
merkury -o /dev/stdout -f md <your_script> | pandoc --highlight-style=tango -t pdf -o report.pdf
Beachten Sie, falls Ihre Berichtsdatei RAW -HTML -Stücke (z. B. Diagramme oder Bilder) enthält, müssen Sie WKHTMLTOPDF -PDF -Engine verwenden.
Im produzierten Bericht wird Code in Abschnitte unterteilt. Jeder Abschnitt endet mit einer Anweisung, die einige Ausgaben druckt (z. B. print()
). Sie können jedem Abschnitt Titel geben, indem Sie magischen Kommentar #TITLE <your_section_title>
After Line platzieren, die die Ausgabe erzeugt.
Wenn es um die Berichtsformatierung geht, befinden sich 3 Arten von Ausgängen in einem Python -Skript: Standard <code>
Block (Standard), HTML oder Markdown.
Standardmäßig behandelt Merkury jede Ausgabe als Standard -Code -Druck und stellt sie in <code>
Blöcke ein. Wenn Ihre Ausgabe tatsächlich HTML oder Markdown ist, müssen Sie angeben, dass Sie einen magischen Kommentar nach der Druckanweisung in Ihr Skript eingeben.
Sie müssen nach einer Zeile einen Kommentar #HTML
abgeben, der RAW HTML ausgibt. Zum Beispiel:
print(pandas_df.to_html(border=0))
#HTML
Neben dem Schreiben von HTML von Hand oder Verwendung von Bibliotheken, die die Formatierung der Ausgabe als HTML ermöglichen, bietet Merkury Nutzfunktionen für Formatierungen aus gemeinsamen Bibliotheken. Weitere Einzelheiten finden Sie auf Dokumenten.
Es ist auch möglich, die im Markdown formatierten Text formatiert zu machen. Sie müssen Magic Comment #MARKDOWN
nach der Druckerklärung abgeben.
Zum Beispiel:
print("""
# I'm a markdown header
List:
* l1
* l2
""")
#MARKDOWN