Skip to content

Commit 23a3c8e

Browse files
authored
Merge pull request #21 from Materials-Data-Science-and-Informatics/dev
Merge dev into main for release
2 parents e1a0aeb + f630c3a commit 23a3c8e

9 files changed

Lines changed: 246 additions & 91 deletions

File tree

.github/workflows/release.yml

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
# This workflow will create a github release and upload a Python Package to pypi
2+
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python#publishing-to-package-registries
3+
name: Release
4+
# Release a new version to different targets in suitable ways
5+
6+
on:
7+
workflow_call: # called from ci.yml
8+
inputs:
9+
to_github:
10+
description: "Create a Github Release (repository snapshot)"
11+
type: boolean
12+
default: true
13+
14+
to_test_pypi:
15+
description: "Publish to Test PyPI."
16+
type: boolean
17+
default: false
18+
19+
to_pypi:
20+
description: "Publish to PyPI."
21+
type: boolean
22+
default: false
23+
24+
25+
jobs:
26+
27+
github:
28+
if: inputs.to_github
29+
name: Create a Github Release (repository snapshot)
30+
runs-on: ubuntu-latest
31+
permissions:
32+
contents: write # needed for creating a GH Release
33+
steps:
34+
- uses: actions/checkout@v3
35+
- uses: softprops/action-gh-release@v1
36+
37+
pypi:
38+
if: inputs.to_pypi || inputs.to_test_pypi
39+
name: Publish to PyPI (and/or compatible repositories)
40+
runs-on: ubuntu-latest
41+
permissions:
42+
id-token: write # needed for "trusted publishing" protocol
43+
steps:
44+
- uses: actions/checkout@v3
45+
46+
- name: Install poetry
47+
run: pipx install poetry
48+
49+
- uses: actions/setup-python@v4
50+
with:
51+
python-version: "3.10"
52+
cache: "poetry"
53+
54+
- name: Build the distribution package
55+
run: poetry build
56+
57+
- name: Publish package to TestPyPI
58+
if: inputs.to_test_pypi
59+
uses: pypa/gh-action-pypi-publish@release/v1
60+
with:
61+
repository-url: https://test.pypi.org/legacy/
62+
63+
- name: Publish package to PyPI
64+
if: inputs.to_pypi
65+
uses: pypa/gh-action-pypi-publish@release/v1

README.md

Lines changed: 33 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,24 +4,52 @@ A dashboard to display survey data in an interactive way.
44

55
## Overview
66

7-
A dashboard using bokeh sever, developed to display data from HMC surveys in an interactive explorer way.
7+
This repository contains a dashboard using Panel and Bokeh, developed to display data from
8+
HMC surveys in an interactive exploratory way. It is designed such that the code for the interactive
9+
visualizations might be reused for other projects.
10+
Example of a deployed version can be found [here](https://dashboard.survey.helmholtz-metadaten.de/survey_dashboard)
11+
12+
Some impressions:
13+
![dashboard_overview](https://user-images.githubusercontent.com/24694833/230306080-9ca68ff8-5b8b-4ac4-b2fa-51e2c5361c7d.png)
14+
![dashboard_methods](https://user-images.githubusercontent.com/24694833/230306091-637188a9-359e-4ea0-8432-4d05a1ccc68f.png)
15+
![Dashboard_survey_data_explorer](https://user-images.githubusercontent.com/24694833/230306099-4cf71bda-0990-4f9d-be14-9a65812e7ac4.png)
816

917
## Installation
1018

19+
After downloading the git repository you can install the software either with pip or poetry.
20+
We recommend setting it up in a separate python virtual environment.
21+
22+
```shell
23+
pip install survey_dashboard
24+
```
25+
or
26+
27+
```shell
28+
poetry install .
29+
```
1130

1231
## Usage
13-
* In the top folder execute:
32+
33+
34+
After installation you can start the app, i.e the panel server/bokeh server.
35+
```shell
36+
panel serve --port 50006 survey_dashboard/
1437
```
15-
bokeh serve --show dashboard
38+
If you have given the dashboard a specific layout like the layout specific to HMC, which is on the hmc_specific branch, you might have to link to to a specific template.
39+
```shell
40+
panel serve --port 50006 survey_dashboard/ --static-dirs en_files=./survey_dashboard/hmc_layout/static/en_files
41+
1642
```
1743

18-
* Navigate to `http://localhost:8000/` in your browser.
44+
* Navigate to `http://localhost:50006/` in your browser.
1945

2046
## Deployment
2147

2248
To embed the dashboard into any website, first you have to host a bokeh server with this application somewhere and then you can embed it with bokehs `sever_document` function [see](https://docs.bokeh.org/en/latest/docs/user_guide/embed.html#app-documents)
2349

24-
Do steps under `usage` above, but for a public exposed URL.
50+
Do steps under `usage` above, but for a public exposed URL, or what ever is used for deployment.
51+
The Language verison of the dashboard can be set with the environment variable: 'L
52+
2553

2654
Add the code from 'script' to you website:
2755

codemeta.json

Lines changed: 58 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,41 @@
55
"https://raw.githubusercontent.com/schemaorg/schemaorg/main/data/releases/13.0/schemaorgcontext.jsonld",
66
"https://w3id.org/software-types"
77
],
8-
"@id": "/survey-dashboard",
8+
"@id": "https://github.com/Materials-Data-Science-and-Informatics/survey_dashboard/tree/main",
99
"@type": "SoftwareSourceCode",
10-
"author": {
11-
"@id": "/person/j.broeder",
10+
"author": [{
11+
"@id": "https://orcid.org/0000-0001-7939-226X",
1212
"@type": "Person",
1313
"email": "j.broeder@fz-juelich.de",
14-
"familyName": "",
15-
"givenName": "j.broeder"
14+
"familyName": "Bröder",
15+
"givenName": "Jens",
16+
"affiliation": {
17+
"@id": "https://ror.org/02nv7yv05",
18+
"name": "Forschungszentrum Jülich GmbH"
19+
}
1620
},
17-
"description": "A Dashboard displaying survey data interactively.",
21+
{"@id":"https://orcid.org/0000-0003-3043-5657",
22+
"@type": "Person",
23+
"email": "s.gerlich@fz-juelich.de",
24+
"familyName": "Gerlich",
25+
"givenName": "Silke Christine",
26+
"affiliation": {
27+
"@id": "https://ror.org/02nv7yv05",
28+
"name": "Forschungszentrum Jülich GmbH"
29+
}
30+
},
31+
{"@id":"https://orcid.org/0000-0002-5149-603X",
32+
"@type": "Person",
33+
"email": "v.hofmann@fz-juelich.de",
34+
"familyName": "Hofmann",
35+
"givenName": "Volker",
36+
"affiliation": {
37+
"@id": "https://ror.org/02nv7yv05",
38+
"name": "Forschungszentrum Jülich GmbH"
39+
}
40+
}
41+
],
42+
"description": "A Dashboard displaying survey data in an interactive way and allow for interactive exploration. Written for the data publication of the Helmholtz Metadata collaboration survey 2021: https://doi.org/10.7802/2433. The code could be adapted to visualize other categorical data provided in a table.\n \nAcknowledgements: This project was developed at the Institute for Materials Data Science and Informatics (IAS-9) of the Jülich Research Center and funded by the Helmholtz Metadata Collaboration (HMC), an incubator-platform of the Helmholtz Association within the framework of the Information and Data Science strategic initiative.",
1843
"identifier": "survey-dashboard",
1944
"license": "http://spdx.org/licenses/MIT",
2045
"name": "survey-dashboard",
@@ -58,5 +83,30 @@
5883
"version": ">=1.8.2.2,<2.0.0.0"
5984
}
6085
],
61-
"version": "1.0.0"
62-
}
86+
"version": "1.0.0",
87+
"codeRepository": "https://github.com/Materials-Data-Science-and-Informatics/survey_dashboard.git",
88+
"dateCreated": "2021-07-09",
89+
"dateModified": "2022-12-19",
90+
"datePublished": "2023-03-01",
91+
"developmentStatus": "https://www.repostatus.org/#active",
92+
"programmingLanguage": [
93+
"Python"
94+
],
95+
"keywords": ["dashboard", "panel", "survey data", "bokeh", "categorical data", "hmc", "interactive visualization", "data visualization", "data exploration"],
96+
"copyrightYear" : "2022",
97+
"softwareVersion": "1.0.0",
98+
"isAccessibleForFree": "True",
99+
"readme": "https://github.com/Materials-Data-Science-and-Informatics/survey_dashboard/blob/main/README.md",
100+
"buildInstructions": "https://github.com/Materials-Data-Science-and-Informatics/survey_dashboard/blob/main/pyproject.toml",
101+
"issueTracker": "https://github.com/Materials-Data-Science-and-Informatics/survey_dashboard/issues",
102+
"url":"https://github.com/Materials-Data-Science-and-Informatics/survey_dashboard",
103+
"operatingSystem": ["OSX", "Linux"],
104+
"targetProduct": {
105+
"@id": "https://dashboard.survey.helmholtz-metadaten.de",
106+
"@type": "WebApplication",
107+
"url": "https://dashboard.survey.helmholtz-metadaten.de",
108+
"name": "HMC survey data explorer",
109+
"suportingData" : "https://doi.org/10.7802/2433",
110+
"screenshot" : "https://user-images.githubusercontent.com/24694833/230306080-9ca68ff8-5b8b-4ac4-b2fa-51e2c5361c7d.png"
111+
}
112+
}

survey_dashboard/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
__name__ = "survey_dashboard"
2-
__version__ = "1.0.0"
2+
__version__ = "0.1.0"

survey_dashboard/data/display_specifications/hcs_clean_dictionaries.py

Lines changed: 44 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -823,6 +823,7 @@
823823
'Life Science',
824824
'Earth Science',
825825
'Chemistry',
826+
'Computer Science',
826827
'Psychology',
827828
'Mathematics'],
828829
'researchArea_other': ['Informatik',
@@ -905,7 +906,6 @@
905906
'Planetenforschung',
906907
'Urban'],
907908
'researchAreaING': ['Aerospace Engineering',
908-
'Computer Science',
909909
'Energy Engineering',
910910
'Electrical Engineering',
911911
'Materials Engineering',
@@ -2308,7 +2308,7 @@
23082308
"RDMPR7":"Information (metadata) typically used to describe research data.",
23092309
"RDMPR8":"Information (metadata) typically documented in digital way.",
23102310
"RDMPR9":"Information (metadata) typically gathered in automated way.",
2311-
"RDMPR4/_":"Reseach data documented in a structued.",
2311+
"RDMPR4/_":"Reseach data documented in a structured way.",
23122312
"RDMPR5/_":"Usage of internationally templates, schemas or standards.",
23132313
"DTPUB7":"Metadata published along with research data.",
23142314
"RDMPR6":"International standards in use.",
@@ -2320,44 +2320,44 @@
23202320
"SERVC3":"Free feedback text field:"
23212321
},
23222322
"DE" : {
2323-
"PERBG1/_":"In welchem Helmholtz-Zentrum sind Sie in erster Linie tätig?",
2324-
"PERBG2/_":"Welchem Helmholtz-Forschungsbereich ordnen Sie sich am ehesten zu?",
2325-
"PERBG3/_":"Welcher Forschungsdisziplin ordnen Sie sich am ehesten zu?",
2326-
"PERBG4/_":"Wie viele Jahre sind Sie bereits in der Forschung tätig?",
2327-
"PERBG6/_":"Was ist Ihre aktuelle Position?",
2323+
"PERBG1/_":"Helmholtz-Zentrum der Teilnehmenden.",
2324+
"PERBG2/_":"Helmholtz-Forschungsbereich der Teilnehmenden.",
2325+
"PERBG3/_":"Forschungsdisziplin der Teilnehmenden.",
2326+
"PERBG4/_":"Dauer der Beschäftigung in der Forschung in Jahren.",
2327+
"PERBG6/_":"Aktuelle Position der Teilnehmenden.",
23282328
"PERBG7/_":"Haben Sie eine ORCID iD?",
2329-
"PERBG8/_":"Wie vertraut sind Sie mit den FAIR-Data Leitlinien?",
2330-
"RSDP1":"Bitte charakterisieren Sie den Ursprung Ihrer Forschungsdaten.",
2331-
"RSDP1b/1":"Welcher Anteil Ihrer Datensätze wurde an Großforschungsanlagen (z.B. LHC, PETRA III, KATRIN ELBE, BESSY II) erfasst? (Angabe in Prozent)",
2332-
"RSDP1c":"Bitte nennen Sie die genutzte Großforschungseinrichtung:",
2333-
"RSDP2":"Mit welchen Methoden erheben Sie Ihre Forschungsdaten?",
2334-
"RSDP2b":"Bitte spezifizieren Sie die Methoden, mit denen Sie Ihre Forschungsdaten erheben.",
2335-
"RSDP3":"In welchen Datenformaten liegen die Daten vor, die Sie in Ihrem aktuellen Forschungsprojekt generieren bzw. nutzen?",
2329+
"PERBG8/_":"Vertrautheit mit den FAIR-Data Leitlinien.",
2330+
"RSDP1":"Ursprung der Forschungsdaten.",
2331+
"RSDP1b/1":"Relativer Anteil der an Großforschungsanlagen erfassten Datensätze.",
2332+
"RSDP1c":"Genutzte Großforschungseinrichtungen.",
2333+
"RSDP2":"Ausgewählte Methoden der Forschungsdatenerhebung.",
2334+
"RSDP2b":"Spezifische Methoden der Forschungsdatenerhebung.",
2335+
"RSDP3":"Datenformate, generiert / verwendet in aktuellen Forschungsprojekten.",
23362336
"RSDP7/_":"Bitte schätzen Sie, auf welcher Datenmenge eine typische Veröffentlichung von Ihnen beruht.",
2337-
"RSDP4/_":"Wie viel Zeit vergeht durchschnittlich von der Planung bis zum Abschluss der Datenaufnahme für Ihre Forschungsprojekte? (in Monaten)",
2338-
"RSDP8/_":"Meine Experimente nehmen ___ Zeit in Anspruch als eine durchnittliche Untersuchung in meinem Forschungsbereich.",
2339-
"RSDP11/_":"Meine Datenanalysen nehmen ___ Zeit in Anspruch als eine durchschnittliche Untersuchung in meinem Forschungsbereich.",
2340-
"RSDP10/_":"Speichern Sie Rohdaten, die nicht publiziert werden, langfristig (10 Jahre und länger)?",
2341-
"DTPUB6/1":"Bitte schätzen Sie, welchen relativen Anteil Ihrer Datensätze Sie publizieren. (Angabe in Prozent)",
2342-
"DTPUB1b":"Wie haben Sie Ihre Daten publiziert?",
2343-
"DTPUB5":"In welchen Repositorien haben Sie Ihre Daten veröffentlicht?",
2344-
"DTPUB3":"Was motivierte Sie dazu, Ihre Forschungsdaten zu veröffentlichen? (Bitte wählen Sie bis zu 3 Antworten)",
2345-
"DTPUB4a":"Auf welche Hindernisse sind Sie bei der Veröffentlichung Ihrer Forschungsdaten gestoßen?",
2346-
"DTPUB4b":"Welche Bedenken oder Hindernisse haben Sie bisher davon abgehalten, Ihre Forschungsdaten zu veröffentlichen?",
2347-
"RDMPR1":"Wo werden Ihre Forschungsdaten nach Abschluss eine Projekts hauptsächlich gespeichert?",
2348-
"RDMPR3":"Wo dokumentieren Sie in Ihrem aktuellen Projekt die Arbeitsschritte, mit denen Ihre Daten erzeugt und verarbeitet werden?",
2349-
"RDMPR7":"Mit welchen Informationen (Metadaten) beschreiben Sie normalerweise Ihre Forschungsdaten?",
2350-
"RDMPR8/_":"Welche Informationen (Metadaten) davon erfassen Sie in der Regel digital?",
2351-
"RDMPR9":"Welche dieser Informationen (Metadaten) erfassen Sie in der Regel automatisiert?",
2352-
"RDMPR4/_":"Dokumentieren Sie Ihre Forschungsdaten auf strukturierte Weise? (z.B. mittels Formularen, Vorlagen oder Schemata)",
2353-
"RDMPR5/_":"Verwenden Sie hierzu international genutzte Formulare, Schemata oder Standards?",
2354-
"DTPUB7":"Welche dieser Metadaten publizieren Sie zusammen mit Ihren Forschungsdaten?",
2355-
"RDMPR6":"Welche internationalen Standards nutzen Sie?",
2356-
"RDMPR10":"Bitte nennen Sie die drei wichtigsten Softwareanwendungen, die Sie für Ihre Forschung verwenden.",
2357-
"RDMPR12":"Was motiviert Sie dazu, Ihre Arbeitsschritte auf strukturierte Weise zu dokumentieren?",
2358-
"RDMPR11":"Auf welche Hindernisse oder Schwierigkeiten sind Sie bei der Erfassung von Metadaten im Rahmen Ihrer Arbeit gestoßen?",
2359-
"SERVC1":"In welchen Bereichen des Forschungsdatenmanagements haben Sie Bedarf an unterstützenden Angeboten?",
2360-
"SERVC2":"Bitte bewerten Sie Ihr Interesse an den folgenden Service-Formaten.",
2337+
"RSDP4/_":"Durchschnittliche Dauer von Planung bis Abschluss der Datenaufnahme in Monaten.",
2338+
"RSDP8/_":"Meine Experimente nehmen ___ Zeit in Anspruch als der Durchschnitt in meinem Forschungsbereich.",
2339+
"RSDP11/_":"Meine Datenanalysen nehmen ___ Zeit in Anspruch als der Durchschnitt in meinem Forschungsbereich.",
2340+
"RSDP10/_":"Langfristige Speicherung unpublizierter Rohdaten (> 10 Jahre).",
2341+
"DTPUB6/1":"Gescgätzter relativer Anteil der publizierten Datensätze.",
2342+
"DTPUB1b":"Art der Datenpublikation.",
2343+
"DTPUB5":"Repositorien in denen Daten veröffentlicht wurden.",
2344+
"DTPUB3":"Motivation für die Forschungsdatenveröffentlichung.",
2345+
"DTPUB4a":"Hindernisse während der Forschungsdatenveröffentlichung.",
2346+
"DTPUB4b":"Bisherige Gründe, die gegen eine Forschungsdatenveröffentlichung sprechen.",
2347+
"RDMPR1":"Speicherort der Forschungsdaten nach Abschluss eine Projekts.",
2348+
"RDMPR3":"Dokumentationsmethode der Arbeitsschritte, mit denen Daten erzeugt und verarbeitet wurden.",
2349+
"RDMPR7":"Informationen (Metadaten) zur Beschreibung der Forschungsdaten.",
2350+
"RDMPR8/_":"Informationen (Metadaten), die digital erfasst werden.",
2351+
"RDMPR9":"Informationen (Metadaten), die automatisiert erfasst werden.",
2352+
"RDMPR4/_":"Strukturierte Dokumentation der Forschungsdaten.",
2353+
"RDMPR5/_":"Verwendung international genutzter Formulare, Schemata oder Standards?",
2354+
"DTPUB7":"Metadaten, die mit Forschungsdaten publiziert werden.",
2355+
"RDMPR6":"Genutzte internationale Standards.",
2356+
"RDMPR10":"Meistgenutzte Softwareanwendungen.",
2357+
"RDMPR12":"Motivation für strukturierte Dokumentation der Arbeitsschritte.",
2358+
"RDMPR11":"Hindernisse währund der Erfassung von Metadaten.",
2359+
"SERVC1":"Unterstütztungsbedarf in Bereichen des Forschungsdatenmanagements.",
2360+
"SERVC2":"Interesse an ausgewählten Service-Formaten.",
23612361
"SERVC3":"Sie haben es fast geschafft! Gerne können Sie Fragen, Wünsche oder Anregungen im folgenden Freitextfeld formulieren:"
23622362
}
23632363
}
@@ -2444,13 +2444,14 @@
24442444
"recordings"],
24452445
"researchArea" : [
24462446
"All",
2447-
"Biology",
2447+
#"Biology",
24482448
"Cum. Sum",
24492449
"Chemistry",
2450-
"Computer science"
2450+
#"Computer Science",
24512451
"Earth Science",
24522452
"Engineering Science",
2453-
"Health",
2453+
#"Health",
2454+
"Life Science",
24542455
"Mathematics",
24552456
"Other",
24562457
"Physics",
@@ -2459,6 +2460,7 @@
24592460
"All",
24602461
"Cum. Sum",
24612462
"Chemistry",
2463+
#"Computer Science",
24622464
"Earth Science",
24632465
"Engineering Science",
24642466
"Life Science",
@@ -2470,6 +2472,7 @@
24702472
"All",
24712473
"Cum. Sum",
24722474
"Chemistry",
2475+
#"Computer Science",
24732476
"Earth Science",
24742477
"Engineering Science",
24752478
"Life Science",

survey_dashboard/data/download_data.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
#url="https://access.gesis.org/sharing/2433/3778"
1616

1717
def download_data(url="https://access.gesis.org/sharing/2433/3778",
18-
destination="dashboard/data/hmc_survey_2021_data_cleaned.csv"):
18+
destination="survey_dashboard/data/hmc_survey_2021_data_cleaned.csv"):
1919
"""
2020
This function downloads the dataset for a given DOI
2121
"""

0 commit comments

Comments
 (0)