GraphDash ist ein webbasiertes Dashboard, das auf Diagrammen und deren Metadaten integriert ist. Wenn Sie beispielsweise zwei Grafiken in einem Verzeichnis haben:
$ cd default_graph_dir
$ ls
graph.svg graph2.svgAnschließend können Sie zwei Metadatendateien mit dem YAML -Format erstellen, in denen Sie konfigurieren können, wie die Diagramme angezeigt werden:
$ cat graph.yaml
name: graph.svg
family: ' Category 1 '
title: ' *Real serious* graph '
text: |
The description
$ cat graph2.yaml
name: graph2.svg
family: ' Category 2 '
title: ' Another important graph 'Sie können dann das Diagramm -Dashboard starten. Sie erhalten eine schöne Weboberfläche, in der Ihre Grafiken angezeigt werden, und ein Suchfeld mit automatischer Vervollständigung. Sie können einfach navigieren und Ihre Grafiken teilen.
$ GraphDash --root .
* Running on http://0.0.0.0:5555/ (Press CTRL+C to quit)Klon und Installation (im Benutzerbereich):
git clone https://github.com/AmadeusITGroup/graphdash.git
cd graphdash
pip install --user .Oder verwenden Sie das Python -Paket:
pip install --user graphdash Stellen Sie für die Installation von Benutzerraum sicher, dass Ihr $PATH ~/.local/bin enthält.
$ GraphDash -r default_graph_dir
* Running on http://0.0.0.0:5555/ (Press CTRL+C to quit) Das Dashboard kann mit einer YAML-Konfigurationsdatei und der Option -c/--conf konfiguriert werden:
$ cat docs/graphdash.yaml
root: ../default_graph_dir
title: " Example of title ;) "
subtitle: " Example of subtitle "
$ GraphDash -c docs/graphdash.yaml
* Running on http://0.0.0.0:5555/ (Press CTRL+C to quit)Sie können eine Vorlage der Konfigurationsdatei generieren:
$ GraphDash -C template.yaml Wenn Sie nicht bereits auf Ihrem Computer installiert sind, installieren Sie Gunicorn :
pip install --user gunicorn setproctitle # on Fedora you may need to install libffi-devel before Da Sie die WebApp über graphdash:app importieren können, können Sie sie mit Gunicorn servieren:
gunicorn -b 0.0.0.0:8888 --pid server.pid graphdash:app Die Konfigurationsdatei des WebApp kann mit der CONF -Umgebungsvariablen festgelegt werden. Mit Gunicorn können Sie Umgebungsvariablen an die Arbeiter mit --env weitergeben:
gunicorn -b 0.0.0.0:8888 --pid server.pid --env CONF=docs/graphdash.yaml graphdash:app Aber Sie sollten diese Befehle nicht selbst verwenden, dafür ist GraphDashManage da!
GraphDashManage wird verwendet, um start , stop , die Instanzen von Gunicorn Serving graphdash:app restart . Es benötigt eine Konfigurationsdatei im aktuellen Verzeichnis:
$ cat settings.sh
ALL_MODES=(
[ ' prod ' ]= " docs/graphdash.yaml "
[ ' test ' ]= " docs/graphdash.yaml "
)
ALL_PORTS=(
[ ' prod ' ]=1234
[ ' test ' ]=5678
)
WORKERS=3 Anschließend können Sie mehrere Instanzen von GraphDash mit Gunicorn mit:
$ GraphDashManage start prod
[INFO] Listening at: http://0.0.0.0:1234
[INFO] Booting worker with pid: 30403
[INFO] Booting worker with pid: 30404
[INFO] Booting worker with pid: 30405
$ GraphDashManage start test
[INFO] Listening at: http://0.0.0.0:5678
...Sie können eine Vorlage mit Einstellungen erstellen:
$ GraphDashManage template > template.sh # to be moved to settings.sh Mögliche Einträge (alles ist optional):
root : Das Stammverzeichnis der Graphenfamilies : Weg zur Familienmetadatendatei (optional)title : Der Titel der WebAppsubtitle : Der Untertitel der WebAppplaceholder : Der Standardtext im Suchfeldheader : Eine optionale Nachricht oben (Markdown -Syntax)footer : Eine optionale Nachricht unten (Markdown -Syntax)showfamilynumbers : Ein Boolescher zur Umschaltung der Familiennummerierung (Standard ist wahr)showgraphnumbers : Ein Boolescher zur Umschaltung der Grafiknummerierung (Standard ist wahr)theme : CSS -Thema ändern (Standard ist dunkel)keep : Der Anteil der gemeinsamen Wörter,logfile : Ändern Sie die Standardprotokolldatei der WebAppraw : Suchen Sie beim Laden nach allen Grafiken und ignorieren Sie Metadatenverbose : ein Boolescher Ansicht, der beim Laden der Anwendung ausführlich angibtdebug : Debug -Modus (Aktivieren Sie die Grunzleberoad, den Flask -Debug -Modus aktivieren)headless : Kopfloser Modus (nur die Suche ist verfügbar, keine Seite wird gerendert)port : Wenn nur mit Flask Development Server gestartet wird, Port Es werden mehrere Attribute unterstützt:
name : Der Pfad zum Diagrammtitle : Titel des Diagramms, empfohlen für Anzeigezwecke (Markdown -Syntax)family : Der Unterabschnitt, in dem sich die Grafik befindetindex : Eine optionale Liste von Schlüsselwörtern, die das Diagramm beschreiben (nützlich für die Suchfunktion)text : Eine optionale Beschreibung des Diagramms (Markdown -Syntax)pretext : Eine optionale Nachricht, die vor dem Diagramm angezeigt wird (Markdown -Syntax)file : Optionaler Pfad zu den Rohdatenexport : Optionaler Pfad zum exportierbaren Diagramm (z. B. eine PNG -Datei)rank : Ganzzahl, optionaler Wert, der zur Änderung der Grafiken verwendet wird (Standard verwendet Titel)showtitle : Ein Boolean -to -Title -Display für das Diagramm (Standard ist falsch)labels : Eine Liste von Etiketten (wie 'new' ), die in der Benutzeroberfläche als farbige Kreise gerendert wirdother : Andere Metadaten, die nicht von GraphDash verwendet werden, kann aber von anderen Dingen benötigt werden, die die Metadaten lesen Beachten Sie, dass, wenn das name fehlt, der Diagramm nicht angezeigt wird und der Text sowieso wie ein Blogeintrag angezeigt wird.
Sie können eine .FAMILIES.yaml -Datei in das Stammverzeichnis des Graph -Verzeichnisses stellen. Diese Datei kann Metadaten für Familien enthalten. Es sollte eine YAML -Liste sein:
- family : chairs
rank : 0
- family : tables
rank : 1
text : This is a description
alias : This text will appear instead of "tables"
labels : newJedes Element der Liste sollte ein Diktat sein, das enthält:
family : Die Familie in Betracht gezogenrank : Ganzzahl, optionaler Wert, der zur Änderung der Familienreihenfolge verwendet wird (Standard verwendet Familienname)text : Eine optionale Beschreibung der Familie (Markdown -Syntax)alias : Ein optionaler Name, der möglicherweise länger ist als der in der URL (nützlich, um schöne URLs zu erstellen)labels : Eine Liste von Etiketten (wie new ), die in der Benutzeroberfläche als farbige Kreise gerendert werden Verfügbare Etiketten sind new , update , bugfix , warning , error , ongoing , obsolete . Sie können andere Etiketten geben, die mit Standardfarben gerendert werden. Für die Anpassung können Sie Ihre eigenen Etiketten mit einer Diktatsyntax angeben:
labels :
- name : newlabel
color : white
text_color : black
text : " NEW LABEL "
tooltip : null Wenn Sie einen Beitrag leisten möchten, müssen Sie Grunt benötigen, um neue CSS/JS -Dateien aus Sass/Kaffee -Quelldateien zu generieren.
npm install --no-bin-links # may need to repeat
grunt Debugging kann mit Quell -Map -Dateien für Browser erfolgen, die sie in ihren Debugging -Tools unterstützen. Wenn nicht, ermöglicht die Gruntfile.js eine Option, um nicht überminifizierte Vermögenswerte zu generieren.
grunt --dev Mit dem aktivierten debug -Modus wird GrunT den Leberoad -Mechanismus verwendet, um den Browser neu zu laden, wenn sich eine Datei geändert hat (und der Flask -Debug -Modus wird auch den Server neu laden).
GraphDash --debug & # or python -m graphdash
grunt watch Wenn Sie Gunicorn mit einer PID -Datei verwendet haben, laden Sie es automatisch neu, wenn sich Python -Dateien ändern.
gunicorn -b 0.0.0.0:8888 --pid server.pid graphdash:app &
grunt watch Sie können tox -Build -Pakete verwenden und Tests ausführen.
tox