RO-Crate Generate tools
- Python : >= 3.8
-
install dg-packager
# Install from PyPI [TODO: not available yet] $ pip install dg-packager OR # install from source [TODO: not available yet] $ mkdir {dir to clone dg-packager repository} $ cd {dir to clone dg-packager repository} $ git clone <this repo> $ cd dg-packager $ python3 -m pip install .
-
install nii-dg(SDK library)
$ mkdir {dir to clone nii-dg repository} $ cd {dir to clone nii-dg repository} $ git clone https://github.com/NII-DG/nii-dg.git $ cd nii-dg $ python3 -m pip install .
-
For Gin-Fork
Step 1. Getting Raw Metadata from Gin-fork API
-
Access
[GET] https://ginfork.sample.domain/api/v1/repos/{repo_id}/{branch_name}/metadata
Step 2. Getting Ro-Crate from Raw Metadata derived from Gin-Fork
from from dg_packager.ro_generator.gin_ro_generator import GinRoGenerator from dg_packager.error.error import JsonValidationError, RoPkgError try: # Raw Metadata(Json; dict) acquired from Gin-fork API(by 1 step) give Generate Function. ro_crete = GinRoGenerator.Generate(raw_metadata) # you are able to obtain Ro-Crate(JSOn; dict). except JsonValidationError as e: # If given Raw Metadata to Function is invalid format, exception occurs.(derived dg-packager) print(e) # e.g.: {'required_key': ['invalid_key_name', /....................], 'invalid_value_type': ['error_msg', ......], 'invalid_value' :['error_msg', ......]} # (Do something.....) except RoPkgError as e: # If each value of metadata is invalid on checking property, exception occurs.(derived SDK Library) print(e) # {'results': [{'<ginfork.File Dockerfile>': {'name': 'This property is required, but not found.', 'sdDatePublished': 'The value is invalid format.'}}, {'<ginfork.File LICENSE>': {'name': 'This property is required, but not found.'}}]} # (Do something.....)
-
-
For AAAAA