GraphDash 는 그래프 및 메타 데이터에 구축 된 웹 기반 대시 보드입니다. 예를 들어 디렉토리에 두 개의 그래프가있는 경우 다음과 같습니다.
$ cd default_graph_dir
$ ls
graph.svg graph2.svg그런 다음 Yaml 형식을 사용하여 두 개의 메타 데이터 파일을 만들 수 있습니다. 여기서 그래프가 표시되는 방법을 구성 할 수 있습니다.
$ 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 '그런 다음 그래프 대시 보드를 시작할 수 있습니다. 그래프를 표시하는 멋진 웹 인터페이스와 자동 완성이있는 검색 상자가 표시됩니다. 그래프를 쉽게 탐색하고 공유 할 수 있습니다.
$ 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 .또는 파이썬 패키지를 사용하십시오.
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 통해 웹 app을 가져올 수 있으므로 Gunicorn 과 함께 제공 할 수 있습니다.
gunicorn -b 0.0.0.0:8888 --pid server.pid graphdash:app CONF Environment 변수로 WebApp의 구성 파일을 설정할 수 있습니다. Gunicorn 사용하면 --env 사용하여 환경 변수를 근로자에게 전달할 수 있습니다.
gunicorn -b 0.0.0.0:8888 --pid server.pid --env CONF=docs/graphdash.yaml graphdash:app 그러나이 명령을 직접 사용해서는 안됩니다 . 그것이 GraphDashManage 의 것입니다!
GraphDashManage 는 Gunicorn Serving 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 구문)footer : 하단의 선택적 메시지 (Markdown 구문)showfamilynumbers : 가족 번호를 전환하는 부울 (기본값은 사실입니다)showgraphnumbers : 그래프 번호를 전환하는 부울 (기본값은 사실입니다)theme : CSS 테마 변경 (기본값은 어둡습니다)keep : 자동 완성을 위해 보관 된 일반적인 단어의 비율logfile : WebApp의 기본 로그 파일을 변경합니다raw :로드 할 때 모든 그래프를 찾고 메타 데이터를 무시하십시오.verbose : 적용을로드 할 때의 구두를 나타내는 부울debug : 디버그 모드 (grunt livereload 활성화, 플라스크 디버그 모드 활성화)headless : 헤드리스 모드 (검색 만 사용할 수 있고 페이지가 렌더링되지 않음)port : Flask Development Server만으로 시작했을 때 포트 여러 속성이 지원됩니다.
name : 그래프 경로title : 그래프 제목, 디스플레이 목적으로 권장됩니다 (Markdown 구문)family : 그래프가있는 하위 섹션index : 그래프를 설명하는 키워드 선택적 목록 (검색 기능에 유용)text : 그래프의 선택적 설명 (Markdown 구문)pretext : 그래프 앞에 나타나는 선택적 메시지 (Markdown 구문)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목록의 각 요소는 다음을 포함하는 덕트 여야합니다.
family : 가족은 고려했습니다rank : 정수, 가족 주문을 변경하는 데 사용되는 선택적 가치 (기본값 사용 가족 이름)text : 가족의 선택적 설명 (Markdown 구문)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/Coffee Source 파일에서 새 CSS/JS 파일을 생성하려면 Grunt 필요합니다.
npm install --no-bin-links # may need to repeat
grunt 디버깅 도구에서 브라우저를 지원하는 소스 맵 파일로 디버깅을 만들 수 있습니다. 그렇지 않은 경우 Gruntfile.js 사용하면 모음이 아닌 자산을 생성 할 수 있습니다.
grunt --dev debug 모드가 활성화되면 Grunt는 LiverEload 메커니즘을 사용하여 파일이 변경된 경우 브라우저를 다시로드합니다 (플라스크 디버그 모드도 서버를 다시로드합니다).
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