https://github.com/dasch-swiss/dsp-metadata-gui
Python tool to enter project metadata
Science Score: 23.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
○.zenodo.json file
-
○DOI references
-
○Academic publication links
-
✓Committers with academic emails
1 of 5 committers (20.0%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (16.9%) to scientific vocabulary
Repository
Python tool to enter project metadata
Basic Info
- Host: GitHub
- Owner: dasch-swiss
- License: gpl-3.0
- Language: Python
- Default Branch: main
- Homepage: https://dasch-swiss.github.io/dsp-metadata-gui/
- Size: 5.82 MB
Statistics
- Stars: 0
- Watchers: 9
- Forks: 0
- Open Issues: 1
- Releases: 12
Metadata Files
README.md
DSP-METADATA-GUI Metadata Module
The dsp-metadata-gui is a GUI application written in Python for collecting project specific metadata.
Its aim is to enable researchers and project managers who deposit research data on the DaSCH Service Platform (DSP), to add metadata about the project and datasets to the DSP repository. By providing metadata, the project will be searchable on the platform, which is an integral part of the FAIR principles.
The metadata follows the schema defined by the dsp-ontologies.
Install and run
The application has only been tested on Python 3.10.
Note: There is a number of known potential issues. See the troubleshoot section here.
To be able to use Python 3.10, you may want to use a tool such as pyenv to manage your Python versions.
Installation via pip
To install the application, run:
bash
pip install dsp-metadata-gui
Afterwards, the program can be started by running the command dsp-metadata in your terminal of choice.
Installation from source
Clone this repo, install all requirements as described below and run make run.
Usage
Collecting Metadata
The application is divided into two windows:
The main window lets you organize a list of projects, for which you can collect metadata. Several actions can be performed with projects, e.g. editing or exporting the project.
When editing a project, in the project window, the actual metadata can be added, modified and saved.
To add a project, you will need the project short code, which is assigned to you by the DaSCH Client Services.
A project is always associated with a folder on your local machine. If any files should be included with the metadata import, these files must be within that folder.
Once all metadata are added and valid, and the overall RDF graph of the metadata set validates against the ontology, the project can be exported for upload to the DSP.
All data is locally stored in the file ~/DaSCH/config/repos.data. for more detail, see here.
Conversion to V2
The metadata generated by the application conforms to the first version of the data model for metadata.
This corresponds to the data that can currently be viewed in the DaSCH Metadata Browser.
The initial data model will eventually be replaced by the model V2 which introduces major improvements.
Metadata V2 will eventually be collected directly in the web interface rather than in this python application.
In the mean time until the web interface for editing metadata is implemented, this application provides a script to automatically convert V1 .ttl files into V2 .json files.
NB: The conversion can not be fully automated, as the model V2 is more rich in information than V1.
For convenience, the conversion adds the stringXXwherever the output can not be determined with sufficient confidence. Please check those instances manually.
The conversion also does some "guessing" work, as e.g. the language of literal values or the display text for URLs. If the output can be determined with a sufficient level of confidence, the conversion will not addXX. However it is still advisable to check the entirety of the output for potential errors.
V2 JSON metadata can again be converted to V2 RDF metadata, using another script. This should not require any additional data cleaning.
The most important changes from V1 to V2 include the following additions:
Support for multi-language literals
howToCiteon project levelcountryproperty for addressesCreation and modification timestamps
JSON schema validation
NB: A new button has been added to run the JSON conversions in the GUI without having to export first.
Development
Development Environment
Poetry
Ensure you have poetry installed.
to install all requirements, run
poetry install
To install packages, use
poetry add <package-name>
Documentation
The documentation is created using mkdocs and mkdocstrings with markdown_include.include. To create the documentation, make sure to install all of these, using pip.
To serve the documentation locally, run make doc. To deploy the documentation to github pages, run make deploy-doc.
Release
Automated releases can be created using release-please.
Automatically publish a new release to PyPI does not work. Run the release GitHub Action manually.
Owner
- Name: DaSCH - Swiss National Data and Service Center for the Humanities
- Login: dasch-swiss
- Kind: organization
- Email: info@dasch.swiss
- Location: Switzerland
- Website: https://dasch.swiss
- Twitter: DaSCHSwiss
- Repositories: 35
- Profile: https://github.com/dasch-swiss
Development repositories of the DaSCH.
GitHub Events
Total
Last Year
Committers
Last synced: over 3 years ago
All Time
- Total Commits: 313
- Total Committers: 5
- Avg Commits per committer: 62.6
- Development Distribution Score (DDS): 0.179
Top Committers
| Name | Commits | |
|---|---|---|
| BalduinLandolt | b****t@h****m | 257 |
| Erwin Zbinden | e****n@u****h | 31 |
| Balduin Landolt | 3****t@u****m | 15 |
| DaSCH Bot | 5****t@u****m | 7 |
| André Kilchenmann | g****b@m****h | 3 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 12 months ago
All Time
- Total issues: 0
- Total pull requests: 51
- Average time to close issues: N/A
- Average time to close pull requests: 3 days
- Total issue authors: 0
- Total pull request authors: 4
- Average comments per issue: 0
- Average comments per pull request: 0.49
- Merged pull requests: 50
- Bot issues: 0
- Bot pull requests: 6
Past Year
- Issues: 0
- Pull requests: 22
- Average time to close issues: N/A
- Average time to close pull requests: about 1 hour
- Issue authors: 0
- Pull request authors: 3
- Average comments per issue: 0
- Average comments per pull request: 0.36
- Merged pull requests: 21
- Bot issues: 0
- Bot pull requests: 6
Top Authors
Issue Authors
Pull Request Authors
- BalduinLandolt (43)
- daschbot (13)
- github-actions[bot] (11)
- kilchenmann (3)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- pypi 35 last-month
- Total dependent packages: 0
- Total dependent repositories: 1
- Total versions: 21
- Total maintainers: 2
pypi.org: dsp-metadata-gui
- Documentation: https://dsp-metadata-gui.readthedocs.io/
- License: GPL-3.0-only
-
Latest release: 8.5.0
published almost 2 years ago
Rankings
Maintainers (2)
Dependencies
- autopep8 * develop
- chardet * develop
- markdown-include * develop
- mkdocs * develop
- mkdocs-material * develop
- mkdocs-material-extensions * develop
- mkdocstrings * develop
- mypy * develop
- pipenv-setup * develop
- pymdown-extensions * develop
- pytest * develop
- setuptools * develop
- tqdm * develop
- twine * develop
- types-requests * develop
- wheel * develop
- beautifulsoup4 *
- guess-language-spirit *
- jsonschema *
- langdetect *
- langid *
- pyenchant *
- pyshacl *
- requests *
- textblob *
- validators *
- wxPython *
- 103 dependencies
- markdown-include *
- mkdocs *
- mkdocs-material *
- mkdocs-material-extensions *
- mkdocstrings *
- pymdown-extensions *
- attrs ==21.2.0
- beautifulsoup4 ==4.10.0
- certifi ==2021.5.30
- charset-normalizer ==2.0.6
- click ==8.0.1
- decorator ==5.1.0
- guess-language-spirit ==0.5.3
- idna ==3.2
- isodate ==0.6.0
- joblib ==1.0.1
- jsonschema ==4.0.0
- langdetect ==1.0.9
- langid ==1.1.6
- nltk ==3.6.3
- numpy ==1.21.2
- owlrl ==5.2.3
- pillow ==8.3.2
- pyenchant ==3.2.1
- pyparsing ==2.4.7
- pyrsistent ==0.18.0
- pyshacl ==0.17.0.post2
- rdflib ==6.0.1
- regex ==2021.9.24
- requests ==2.26.0
- six ==1.16.0
- soupsieve ==2.2.1
- textblob ==0.15.3
- tqdm ==4.62.3
- urllib3 ==1.26.7
- validators ==0.18.2
- wxpython ==4.1.1
- attrs ==21.2.0
- beautifulsoup4 ==4.10.0
- certifi ==2021.5.30
- charset-normalizer ==2.0.6
- click ==8.0.1
- decorator ==5.1.0
- guess-language-spirit ==0.5.3
- idna ==3.2
- isodate ==0.6.0
- joblib ==1.0.1
- jsonschema ==4.0.0
- langdetect ==1.0.9
- langid ==1.1.6
- nltk ==3.6.3
- numpy ==1.21.2
- owlrl ==5.2.3
- pillow ==8.3.2
- pyenchant ==3.2.1
- pyparsing ==2.4.7
- pyrsistent ==0.18.0
- pyshacl ==0.17.0.post2
- rdflib ==6.0.1
- regex ==2021.9.24
- requests ==2.26.0
- six ==1.16.0
- soupsieve ==2.2.1
- textblob ==0.15.3
- tqdm ==4.62.3
- urllib3 ==1.26.7
- validators ==0.18.2
- wxpython ==4.1.1
- deepakputhraya/action-pr-title master composite
- GoogleCloudPlatform/release-please-action v2 composite
- actions/checkout v2 composite
- actions/setup-python v2 composite
- lakto/google-chat-action main composite
- mhausenblas/mkdocs-deploy-gh-pages master composite