GraphDash 、グラフとそのメタデータに基づいて構築されたWebベースのダッシュボードです。たとえば、ディレクトリに2つのグラフがある場合:
$ cd default_graph_dir
$ ls
graph.svg graph2.svg次に、YAML形式を使用して2つのメタデータファイルを作成できます。ここでは、グラフの表示方法を構成できます。
$ 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 'その後、グラフダッシュボードを起動できます。グラフを表示する素敵なWebインターフェイスと、AutoCompletionのある検索ボックスが表示されます。グラフを簡単にナビゲートして共有できます。
$ GraphDash --root .
* Running on http://0.0.0.0:5555/ (Press CTRL+C to quit)クローンとインストール(ユーザースペース):
git clone https://github.com/AmadeusITGroup/graphdash.git
cd graphdash
pip install --user .または、Pythonパッケージを使用します。
pip install --user graphdashユーザースペースのインストールについては、 $PATHに~/.local/binが含まれていることを確認してください。
$ GraphDash -r default_graph_dir
* Running on http://0.0.0.0:5555/ (Press CTRL+C to quit)ダッシュボードは、YAML構成ファイルと-c/--confオプションで構成できます。
$ 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)構成ファイルのテンプレートを生成できます。
$ GraphDash -C template.yamlマシンにまだインストールされていない場合は、 Gunicornをインストールしてください。
pip install --user gunicorn setproctitle # on Fedora you may need to install libffi-devel before graphdash:appを介してWebAppをインポートできるため、 Gunicornで提供できます。
gunicorn -b 0.0.0.0:8888 --pid server.pid graphdash:app WebAppの構成ファイルは、 CONF環境変数で設定できます。 Gunicornを使用すると、環境変数を--envで労働者に渡すことができます。
gunicorn -b 0.0.0.0:8888 --pid server.pid --env CONF=docs/graphdash.yaml graphdash:appしかし、これらのコマンドを自分で使用すべきではありません。それがGraphDashManageの目的です!
GraphDashManageは、 Gunicornサービスを提供するgraphdash:appのインスタンスstart 、 stop 、 restartために使用されます。現在のディレクトリに構成ファイルが必要です。
$ cat settings.sh
ALL_MODES=(
[ ' prod ' ]= " docs/graphdash.yaml "
[ ' test ' ]= " docs/graphdash.yaml "
)
ALL_PORTS=(
[ ' prod ' ]=1234
[ ' test ' ]=5678
)
WORKERS=3次に、 Gunicornを使用してGraphDashの複数のインスタンスを管理できます。
$ 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
...設定のテンプレートを生成できます。
$ GraphDashManage template > template.sh # to be moved to settings.sh 可能なエントリ(すべてがオプションです):
root :グラフのルートディレクトリfamilies :家族へのパスメタデータファイル(オプション)title :WebAppのタイトルsubtitle :WebAppの字幕placeholder :検索フィールドのデフォルトテキストheader :上部のオプションのメッセージ(Markdown Syntax)footer :下部のオプションのメッセージ(マークダウン構文)showfamilynumbers :ファミリ番号を切り替えるためのブール(デフォルトは真)showgraphnumbers :グラフ番号を切り替えるためのブール値(デフォルトは真)theme :CSSテーマを変更する(デフォルトは暗い)keep :オートコンプリートのために保持されている一般的な単語の割合logfile :WebAppのデフォルトログファイルを変更しますraw :ロードするときは、すべてのグラフを探してメタデータを無視しますverbose :アプリケーションをロードするときに冗長性を示すブール値debug :デバッグモード(グラントリベロードを有効にし、フラスコデバッグモードを有効にする)headless :ヘッドレスモード(検索のみが利用可能で、ページはレンダリングされていません)port :Flask Development Serverのみで起動すると、ポートいくつかの属性がサポートされています:
name :グラフへのパスtitle :ディスプレイ目的で推奨されるグラフのタイトル(Markdown Syntax)family :グラフがあるサブセクションindex :グラフを説明するキーワードのオプションリスト(検索機能に役立つ)text :グラフのオプションの説明(マークダウン構文)pretext :グラフの前に表示されるオプションのメッセージ(Markdown Syntax)file :生データへのオプションのパスexport :エクスポート可能なグラフへのオプションのパス(たとえば、PNGファイル)rank :整数、グラフの順序を変更するために使用されるオプションの値(デフォルトはタイトルを使用します)showtitle :グラフのタイトル表示を切り替えるブール値(デフォルトはfalse)labels :UIで色付きの円としてレンダリングされるラベルのリスト( 'new'など)other :他のメタデータはGraphDashで使用されていませんが、メタデータを読んでいる他のことに必要な場合がありますname属性が欠落している場合、グラフは表示されず、ブログエントリのようにテキストが表示されないことに注意してください。
.FAMILIES.yamlファイルをグラフディレクトリのルートに配置できます。このファイルには、家族向けのメタデータが含まれている場合があります。それはYAMLリストである必要があります:
- family : chairs
rank : 0
- family : tables
rank : 1
text : This is a description
alias : This text will appear instead of "tables"
labels : newリストの各要素は、次のことを含むDICTでなければなりません。
family :家族が考慮したrank :整数、家族の注文を変更するために使用されるオプションの値(デフォルトは姓を使用します)text :ファミリのオプションの説明(Markdown Syntax)alias :URLのものよりも長くなる可能性のあるオプションの名前(素敵なURLを構築するのに役立ちます)labels :UIで色付きの円としてレンダリングされるラベルのリスト( newなど)利用可能なラベルは、 new update 、 bugfix 、 warning 、 error 、 ongoing 、 obsolete 。デフォルトの色でレンダリングされる他のラベルを与えることができます。カスタマイズのために、Dict構文で独自のラベルを指定できます。
labels :
- name : newlabel
color : white
text_color : black
text : " NEW LABEL "
tooltip : null 貢献したい場合は、SASS/コーヒーソースファイルから新しいCSS/JSファイルを生成するためにGruntが必要です。
npm install --no-bin-links # may need to repeat
gruntデバッグは、デバッグツールでそれらをサポートするブラウザ用のソースマップファイルで作成できます。そうでない場合、 Gruntfile.jsは、非微細な資産を生成するオプションを有効にします。
grunt --dev debugモードを有効にすることで、GruntはLivereloadメカニズムを使用して、ファイルが変更された場合にブラウザをリロードします(Flask Debug Modeもサーバーをリロードします)。
GraphDash --debug & # or python -m graphdash
grunt watch PIDファイルでGunicornを使用した場合、Pythonファイルが変更された場合、Gruntは自動的にリロードします。
gunicorn -b 0.0.0.0:8888 --pid server.pid graphdash:app &
grunt watch toxビルドパッケージを使用してテストを実行できます。
tox