diff --git a/.gitignore b/.gitignore index 7d6097d2..e994ae38 100644 --- a/.gitignore +++ b/.gitignore @@ -29,7 +29,8 @@ fuji_server/helper/catalogue_helper_google_datasearch_copy.py fuji_server/helper/create_google_cache_db_copy.py # private config -fuji_server/config/github.cfg +fuji_server/config/github.ini +fuji_server/data/github_api_tokens.txt # Created by https://www.gitignore.io/api/python,linux,macos diff --git a/README.md b/README.md index e2f8f711..6cccb572 100644 --- a/README.md +++ b/README.md @@ -102,6 +102,28 @@ If you receive the exception `urllib2.URLError: , either by clicking on the link or through Settings -> Developer Settings -> Personal access tokens -> Tokens (classic). Next, click "Generate new token" and select "Generate new token (classic)" from the drop-down menu. + +Write the purpose of the token into the "Note" field (for example, *F-UJI deployment*) and set a suitable expiration date. Leave all the checkboxes underneath *unchecked*. + +> Note: When the token expires, you will receive an e-mail asking you to renew it if you still need it. The e-mail will provide a link to do so, and you will only need to change the token in the f-uji configuration as described below to continue using it. Setting no expiration date for a token is thus not recommended. + +When you click "Generate new token" at the bottom of the page, the new token will be displayed. Make a note of it now. + +To use F-UJI with a single access token, open [`fuji_server/config/github.ini`](./fuji_server/config/github.ini) locally and set `token` to the token you just created. When F-UJI receives an evaluation request that uses the GitHub API, it will run this request authenticated as your account. + +If you still run into rate limiting issues, you can use multiple GitHub API tokens. +These need to be generated by different GitHub accounts, as the rate limit applies to the user, not the token. +F-UJI will automatically switch to another token if the rate limit is near. +To do so, create a local file in [`fuji_server/data/`](./fuji_server/data/), called e.g. `github_api_tokens.txt`. Put all API tokens in that file, one token on each line. Then, open [`fuji_server/config/github.ini`](./fuji_server/config/github.ini) locally and set `token_file` to the absolute path to your local API token file. + +> Note: If you push a change containing a GitHub API token, GitHub will usually recognise this and invalidate the token immediately. You will need to regenerate the token. Please take care not to publish your API tokens anywhere. Even though they have very limited scope if you leave all the checkboxes unchecked during creation, they can allow someone else to run a request in your name. + ## Development First, make sure to read the [contribution guidelines](./CONTRIBUTING.md). @@ -140,6 +162,7 @@ server { location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php8.1-fpm.sock; + fastcgi_read_timeout 3600s; } location ~ /\.ht { diff --git a/fuji_server/__init__.py b/fuji_server/__init__.py index a69f396f..ba956aa7 100644 --- a/fuji_server/__init__.py +++ b/fuji_server/__init__.py @@ -8,11 +8,17 @@ from __future__ import absolute_import # import models into model package +from fuji_server.models.api import API +from fuji_server.models.api_output import APIOutput from fuji_server.models.any_of_fair_results_results_items import AnyOfFAIRResultsResultsItems from fuji_server.models.body import Body +from fuji_server.models.code_provenance import CodeProvenance +from fuji_server.models.code_provenance_output import CodeProvenanceOutput from fuji_server.models.community_endorsed_standard import CommunityEndorsedStandard from fuji_server.models.community_endorsed_standard_output import CommunityEndorsedStandardOutput from fuji_server.models.community_endorsed_standard_output_inner import CommunityEndorsedStandardOutputInner +from fuji_server.models.component_identifier import ComponentIdentifier +from fuji_server.models.component_identifier_output import ComponentIdentifierOutput from fuji_server.models.core_metadata import CoreMetadata from fuji_server.models.core_metadata_output import CoreMetadataOutput from fuji_server.models.data_access_level import DataAccessLevel @@ -27,6 +33,8 @@ from fuji_server.models.data_provenance_output import DataProvenanceOutput from fuji_server.models.data_provenance_output_inner import DataProvenanceOutputInner from fuji_server.models.debug import Debug +from fuji_server.models.development_metadata import DevelopmentMetadata +from fuji_server.models.development_metadata_output import DevelopmentMetadataOutput from fuji_server.models.fair_result_common import FAIRResultCommon from fuji_server.models.fair_result_common_score import FAIRResultCommonScore from fuji_server.models.fair_result_evaluation_criterium import FAIRResultEvaluationCriterium @@ -55,6 +63,8 @@ from fuji_server.models.related_resource import RelatedResource from fuji_server.models.related_resource_output import RelatedResourceOutput from fuji_server.models.related_resource_output_inner import RelatedResourceOutputInner +from fuji_server.models.requirements import Requirements +from fuji_server.models.requirements_output import RequirementsOutput from fuji_server.models.searchable import Searchable from fuji_server.models.searchable_output import SearchableOutput from fuji_server.models.semantic_vocabulary import SemanticVocabulary @@ -64,8 +74,14 @@ from fuji_server.models.standardised_protocol_data_output import StandardisedProtocolDataOutput from fuji_server.models.standardised_protocol_metadata import StandardisedProtocolMetadata from fuji_server.models.standardised_protocol_metadata_output import StandardisedProtocolMetadataOutput +from fuji_server.models.test_case import TestCase +from fuji_server.models.test_case_output import TestCaseOutput +from fuji_server.models.unique_persistent_identifier_software import UniquePersistentIdentifierSoftware +from fuji_server.models.unique_persistent_identifier_software_output import UniquePersistentIdentifierSoftwareOutput from fuji_server.models.uniqueness import Uniqueness from fuji_server.models.uniqueness_output import UniquenessOutput +from fuji_server.models.version_identifier import VersionIdentifier +from fuji_server.models.version_identifier_output import VersionIdentifierOutput from importlib.metadata import version diff --git a/fuji_server/config/github.ini b/fuji_server/config/github.ini index fb32936a..a60ef837 100644 --- a/fuji_server/config/github.ini +++ b/fuji_server/config/github.ini @@ -1,3 +1,5 @@ [ACCESS] # set equal to access token if available to increase rate limit (usually starts with 'ghp_') token = +# absolute path to file with tokens, optional for rotating through multiple tokens +token_file = diff --git a/fuji_server/controllers/fair_check.py b/fuji_server/controllers/fair_check.py index 11c10ff3..14ca9ebc 100644 --- a/fuji_server/controllers/fair_check.py +++ b/fuji_server/controllers/fair_check.py @@ -12,14 +12,18 @@ import pandas as pd from fuji_server import __version__ +from fuji_server.evaluators.fair_evaluator_api import FAIREvaluatorAPI +from fuji_server.evaluators.fair_evaluator_code_provenance import FAIREvaluatorCodeProvenance from fuji_server.evaluators.fair_evaluator_community_metadata import FAIREvaluatorCommunityMetadata from fuji_server.evaluators.fair_evaluator_data_access_level import FAIREvaluatorDataAccessLevel from fuji_server.evaluators.fair_evaluator_data_content_metadata import FAIREvaluatorDataContentMetadata from fuji_server.evaluators.fair_evaluator_data_identifier_included import FAIREvaluatorDataIdentifierIncluded from fuji_server.evaluators.fair_evaluator_data_provenance import FAIREvaluatorDataProvenance +from fuji_server.evaluators.fair_evaluator_development_metadata import FAIREvaluatorDevelopmentMetadata from fuji_server.evaluators.fair_evaluator_file_format import FAIREvaluatorFileFormat from fuji_server.evaluators.fair_evaluator_formal_metadata import FAIREvaluatorFormalMetadata from fuji_server.evaluators.fair_evaluator_license import FAIREvaluatorLicense +from fuji_server.evaluators.fair_evaluator_license_file import FAIREvaluatorLicenseFile from fuji_server.evaluators.fair_evaluator_metadata_identifier_included import FAIREvaluatorMetadataIdentifierIncluded from fuji_server.evaluators.fair_evaluator_metadata_preservation import FAIREvaluatorMetadataPreserved from fuji_server.evaluators.fair_evaluator_minimal_metadata import FAIREvaluatorCoreMetadata @@ -28,14 +32,21 @@ FAIREvaluatorPersistentIdentifierMetadata, ) from fuji_server.evaluators.fair_evaluator_related_resources import FAIREvaluatorRelatedResources +from fuji_server.evaluators.fair_evaluator_requirements import FAIREvaluatorRequirements from fuji_server.evaluators.fair_evaluator_searchable import FAIREvaluatorSearchable from fuji_server.evaluators.fair_evaluator_semantic_vocabulary import FAIREvaluatorSemanticVocabulary +from fuji_server.evaluators.fair_evaluator_software_component_identifier import FAIREvaluatorSoftwareComponentIdentifier from fuji_server.evaluators.fair_evaluator_standardised_protocol_data import FAIREvaluatorStandardisedProtocolData from fuji_server.evaluators.fair_evaluator_standardised_protocol_metadata import ( FAIREvaluatorStandardisedProtocolMetadata, ) +from fuji_server.evaluators.fair_evaluator_test_cases import FAIREvaluatorTestCases from fuji_server.evaluators.fair_evaluator_unique_identifier_data import FAIREvaluatorUniqueIdentifierData from fuji_server.evaluators.fair_evaluator_unique_identifier_metadata import FAIREvaluatorUniqueIdentifierMetadata +from fuji_server.evaluators.fair_evaluator_unique_persistent_identifier_software import ( + FAIREvaluatorUniquePersistentIdentifierSoftware, +) +from fuji_server.evaluators.fair_evaluator_version_identifier import FAIREvaluatorVersionIdentifier from fuji_server.harvester.data_harvester import DataHarvester from fuji_server.harvester.github_harvester import GithubHarvester from fuji_server.harvester.metadata_harvester import MetadataHarvester @@ -352,7 +363,7 @@ def harvest_all_data(self): def harvest_github(self): if self.use_github: - github_harvester = GithubHarvester(self.id) + github_harvester = GithubHarvester(self.id, self.logger) github_harvester.harvest() self.github_data = github_harvester.data else: @@ -442,6 +453,34 @@ def check_unique_persistent_metadata_identifier(self): # self.metadata_harvester.get_signposting_object_identifier() return self.check_unique_metadata_identifier(), self.check_persistent_metadata_identifier() + def check_unique_persistent_software_identifier(self): + unique_persistent_identifier_check = FAIREvaluatorUniquePersistentIdentifierSoftware(self) + return unique_persistent_identifier_check.getResult() + + def check_software_component_identifier(self): + component_identifier_check = FAIREvaluatorSoftwareComponentIdentifier(self) + return component_identifier_check.getResult() + + def check_version_identifier(self): + version_identifier_check = FAIREvaluatorVersionIdentifier(self) + return version_identifier_check.getResult() + + def check_development_metadata(self): + development_metadata_check = FAIREvaluatorDevelopmentMetadata(self) + return development_metadata_check.getResult() + + def check_open_api(self): + open_api_check = FAIREvaluatorAPI(self) + return open_api_check.getResult() + + def check_requirements(self): + requirements_check = FAIREvaluatorRequirements(self) + return requirements_check.getResult() + + def check_test_cases(self): + test_cases_check = FAIREvaluatorTestCases(self) + return test_cases_check.getResult() + def check_minimal_metatadata(self, include_embedded=True): core_metadata_check = FAIREvaluatorCoreMetadata(self) return core_metadata_check.getResult() @@ -462,6 +501,10 @@ def check_license(self): license_check = FAIREvaluatorLicense(self) return license_check.getResult() + def check_license_file(self): + license_check = FAIREvaluatorLicenseFile(self) + return license_check.getResult() + def check_relatedresources(self): related_check = FAIREvaluatorRelatedResources(self) return related_check.getResult() @@ -482,6 +525,10 @@ def check_data_provenance(self): data_prov_check = FAIREvaluatorDataProvenance(self) return data_prov_check.getResult() + def check_code_provenance(self): + code_prov_check = FAIREvaluatorCodeProvenance(self) + return code_prov_check.getResult() + def check_data_content_metadata(self): data_content_metadata_check = FAIREvaluatorDataContentMetadata(self) return data_content_metadata_check.getResult() @@ -496,7 +543,6 @@ def check_semantic_vocabulary(self): def check_metadata_preservation(self): metadata_preserved_check = FAIREvaluatorMetadataPreserved(self) - metadata_preserved_check.set_metric("FsF-A2-01M") return metadata_preserved_check.getResult() def check_standardised_protocol_data(self): diff --git a/fuji_server/controllers/fair_object_controller.py b/fuji_server/controllers/fair_object_controller.py index 68e4a78b..2c8c1de1 100644 --- a/fuji_server/controllers/fair_object_controller.py +++ b/fuji_server/controllers/fair_object_controller.py @@ -90,6 +90,7 @@ async def assess_by_id(body): access_level_result = ft.check_data_access_level() # print('F-UJI checks: license') license_result = ft.check_license() + license_file_result = ft.check_license_file() # print('F-UJI checks: related') related_resources_result = ft.check_relatedresources() # print('F-UJI checks: searchable') @@ -98,16 +99,24 @@ async def assess_by_id(body): ft.harvest_all_data() uid_data_result = ft.check_unique_content_identifier() pid_data_result = ft.check_persistent_data_identifier() + upid_software_result = ft.check_unique_persistent_software_identifier() + software_component_result = ft.check_software_component_identifier() + version_identifier_result = ft.check_version_identifier() + development_metadata_result = ft.check_development_metadata() + open_api_result = ft.check_open_api() + requirements_result = ft.check_requirements() + test_cases_result = ft.check_test_cases() data_identifier_included_result = ft.check_data_content_metadata() metadata_identifier_included_result = ft.check_metadata_identifier_included_in_metadata() data_file_format_result = ft.check_data_file_format() # print('F-UJI checks: data file format') community_standards_result = ft.check_community_metadatastandards() data_provenance_result = ft.check_data_provenance() + code_provenance_result = ft.check_code_provenance() formal_metadata_result = ft.check_formal_metadata() # print('F-UJI checks: semantic vocab') semantic_vocab_result = ft.check_semantic_vocabulary() - ft.check_metadata_preservation() + metadata_preserved_result = ft.check_metadata_preservation() standard_protocol_data_result = ft.check_standardised_protocol_data() standard_protocol_metadata_result = ft.check_standardised_protocol_metadata() if uid_result: @@ -118,6 +127,20 @@ async def assess_by_id(body): results.append(uid_data_result) if pid_data_result: results.append(pid_data_result) + if upid_software_result: + results.append(upid_software_result) + if software_component_result: + results.append(software_component_result) + if version_identifier_result: + results.append(version_identifier_result) + if development_metadata_result: + results.append(development_metadata_result) + if open_api_result: + results.append(open_api_result) + if requirements_result: + results.append(requirements_result) + if test_cases_result: + results.append(test_cases_result) if core_metadata_result: results.append(core_metadata_result) if content_identifier_included_result: @@ -136,10 +159,14 @@ async def assess_by_id(body): results.append(metadata_identifier_included_result) if license_result: results.append(license_result) + if license_file_result: + results.append(license_file_result) if access_level_result: results.append(access_level_result) if data_provenance_result: results.append(data_provenance_result) + if code_provenance_result: + results.append(code_provenance_result) if community_standards_result: results.append(community_standards_result) if data_file_format_result: @@ -148,6 +175,8 @@ async def assess_by_id(body): results.append(standard_protocol_data_result) if standard_protocol_metadata_result: results.append(standard_protocol_metadata_result) + if metadata_preserved_result: + results.append(metadata_preserved_result) debug_messages = ft.get_log_messages_dict() # ft.logger_message_stream.flush() summary = ft.get_assessment_summary(results) @@ -178,6 +207,7 @@ async def assess_by_id(body): if ft.pid_url: idhelper = IdentifierHelper(ft.pid_url) request["normalized_object_identifier"] = idhelper.get_normalized_id() + results.sort(key=lambda d: d["id"]) # sort results by metric ID final_response = FAIRResults( request=request, start_timestamp=starttimestmp, diff --git a/fuji_server/data/software_file.json b/fuji_server/data/software_file.json new file mode 100644 index 00000000..9d7f3b57 --- /dev/null +++ b/fuji_server/data/software_file.json @@ -0,0 +1,58 @@ +{ + "Jenkinsfile": { + "category": [ + "automation" + ], + "parse": "full", + "pattern": [ + "(\\w*/)*Jenkinsfile" + ] + }, + "README": { + "category": [ + "documentation" + ], + "parse": "full", + "pattern": [ + "(\\w*/)*README(\\.(txt|md))?" + ] + }, + "docs_directory": { + "category": [ + "documentation" + ], + "parse": "file_name", + "pattern": [ + "(\\w*/)*docs(/\\w*\\.\\w*)*" + ] + }, + "github_actions": { + "category": [ + "automation" + ], + "parse": "full", + "pattern": [ + "\\.github/workflows/" + ] + }, + "license_file": { + "category": [ + "provenance" + ], + "parse": "full", + "pattern": [ + "(\\w*/)*LICEN(S|C)E(\\.\\w*)?", + "(\\w*/)*licen(s|c)e(\\.\\w*)?" + ] + }, + "maven_pom": { + "category": [ + "documentation", + "automation" + ], + "parse": "full", + "pattern": [ + "pom\\.xml" + ] + } +} diff --git a/fuji_server/evaluators/fair_evaluator.py b/fuji_server/evaluators/fair_evaluator.py index 6f1c4594..c6466541 100644 --- a/fuji_server/evaluators/fair_evaluator.py +++ b/fuji_server/evaluators/fair_evaluator.py @@ -112,7 +112,7 @@ def isTestDefined(self, testid): else: self.logger.debug( self.metric_identifier - + " : This test is not defined in the metric YAML and therefore not performed -: " + + " : This test is not defined in the metric YAML and therefore not performed: " + str(testid) ) return False diff --git a/fuji_server/evaluators/fair_evaluator_api.py b/fuji_server/evaluators/fair_evaluator_api.py new file mode 100644 index 00000000..cdb71e01 --- /dev/null +++ b/fuji_server/evaluators/fair_evaluator_api.py @@ -0,0 +1,170 @@ +# SPDX-FileCopyrightText: 2020 PANGAEA (https://www.pangaea.de/) +# +# SPDX-License-Identifier: MIT + +from fuji_server.evaluators.fair_evaluator import FAIREvaluator +from fuji_server.models.api import API +from fuji_server.models.api_output import APIOutput + + +class FAIREvaluatorAPI(FAIREvaluator): + """ + A class to evaluate whether the software uses open APIs that support machine-readable interface definition (FRSM-11). A child class of FAIREvaluator. + ... + + Methods + ------ + evaluate() + This method will evaluate whether the API is documented, open and machine-readable. + """ + + def __init__(self, fuji_instance): + FAIREvaluator.__init__(self, fuji_instance) + metric = "FRSM-11-I1" + self.set_metric(metric) + + # Create map from metric test names to class functions. This is necessary as functions may be reused for different metrics relating to licenses. + self.metric_test_map = { # overall map + "testDocumented": ["FRSM-11-I1-1"], + "testOpen": ["FRSM-11-I1-2"], + "testMachineReadable": ["FRSM-11-I1-3"], + "testCESSDAGuidelines": ["FRSM-11-I1-CESSDA-1"], + "testOpenAPIStandard": ["FRSM-11-I1-CESSDA-2"], + "testPublishedCESSDA": ["FRSM-11-I1-CESSDA-3"], + } + + def testDocumented(self): + """The software provides documented APIs. + + Returns: + bool: True if the test was defined and passed. False otherwise. + """ + agnostic_test_name = "testDocumented" + test_status = False + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + self.logger.warning(f"{self.metric_identifier} : Test for documented API is not implemented.") + return test_status + + def testOpen(self): + """The APIs are open (freely accessible). + + Returns: + bool: True if the test was defined and passed. False otherwise. + """ + agnostic_test_name = "testOpen" + test_status = False + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + self.logger.warning(f"{self.metric_identifier} : Test for openness of API is not implemented.") + return test_status + + def testMachineReadable(self): + """The APIs include a machine-readable interface definition. + + Returns: + bool: True if the test was defined and passed. False otherwise. + """ + agnostic_test_name = "testMachineReadable" + test_status = False + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + self.logger.warning( + f"{self.metric_identifier} : Test for machine-readable interface definition is not implemented." + ) + return test_status + + def testCESSDAGuidelines(self): + """The API meets SML3 of the CESSDA Development Documentation guidelines, + i.e. there is external documentation that describes all API functionality, + which is sufficient to be used by any developer. + + Returns: + bool: True if the test was defined and passed. False otherwise. + """ + agnostic_test_name = "testCESSDAGuidelines" + test_status = False + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + self.logger.warning(f"{self.metric_identifier} : Test for CESSDA guidelines is not implemented.") + return test_status + + def testOpenAPIStandard(self): + """The software's REST APIs comply with the OpenAPI standard. + + Returns: + bool: True if the test was defined and passed. False otherwise. + """ + agnostic_test_name = "testOpenAPIStandard" + test_status = False + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + self.logger.warning(f"{self.metric_identifier} : Test for Open API standard compliance is not implemented.") + return test_status + + def testPublishedCESSDA(self): + """The software's REST APIs are described in the published CESSDA API definitions. + + Returns: + bool: True if the test was defined and passed. False otherwise. + """ + agnostic_test_name = "testPublishedCESSDA" + test_status = False + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + self.logger.warning( + f"{self.metric_identifier} : Test for description in CESSDA API definition is not implemented." + ) + return test_status + + def evaluate(self): + if self.metric_identifier in self.metrics: + self.result = API( + id=self.metric_number, metric_identifier=self.metric_identifier, metric_name=self.metric_name + ) + self.output = APIOutput() + self.result.test_status = "fail" + if self.testDocumented(): + self.result.test_status = "pass" + if self.testOpen(): + self.result.test_status = "pass" + if self.testMachineReadable(): + self.result.test_status = "pass" + if self.testCESSDAGuidelines(): + self.result.test_status = "pass" + if self.testOpenAPIStandard(): + self.result.test_status = "pass" + if self.testPublishedCESSDA(): + self.result.test_status = "pass" + else: + self.result.test_status = "fail" + self.score.earned = 0 + self.logger.warning(self.metric_identifier + " : Failed to check the software API.") + self.result.score = self.score + self.result.metric_tests = self.metric_tests + self.result.output = self.output + self.result.maturity = self.maturity diff --git a/fuji_server/evaluators/fair_evaluator_code_provenance.py b/fuji_server/evaluators/fair_evaluator_code_provenance.py new file mode 100644 index 00000000..f1667276 --- /dev/null +++ b/fuji_server/evaluators/fair_evaluator_code_provenance.py @@ -0,0 +1,143 @@ +# SPDX-FileCopyrightText: 2020 PANGAEA (https://www.pangaea.de/) +# +# SPDX-License-Identifier: MIT + +from fuji_server.evaluators.fair_evaluator import FAIREvaluator +from fuji_server.models.code_provenance import CodeProvenance +from fuji_server.models.code_provenance_output import CodeProvenanceOutput + + +class FAIREvaluatorCodeProvenance(FAIREvaluator): + """ + A class to evaluate metadata that includes provenance information about code creation (FRSM-17-R1.2). + A child class of FAIREvaluator. + ... + + Methods + ------- + evaluate() + This method will evaluate the provenance information such as commits + """ + + def __init__(self, fuji_instance): + FAIREvaluator.__init__(self, fuji_instance) + self.set_metric(["FRSM-17-R1.2"]) + + self.metric_test_map = { # overall map + "testCommitHistory": ["FRSM-17-R1.2-1", "FRSM-17-R1.2-CESSDA-1"], + "testCommitLinkedToIssue": ["FRSM-17-R1.2-2"], + "testOtherProvenanceTools": ["FRSM-17-R1.2-3"], + "testIssueLinkedToBranch": ["FRSM-17-R1.2-CESSDA-2"], + "testPRLinkedToIssue": ["FRSM-17-R1.2-CESSDA-3"], + } + + def testCommitHistory(self): + """The software source code repository / forge includes a commit history. + + Returns: + bool: True if the test was defined and passed. False otherwise. + """ + agnostic_test_name = "testCommitHistory" + test_status = False + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + self.logger.warning(f"{self.metric_identifier} : Test for commit history is not implemented.") + return test_status + + def testCommitLinkedToIssue(self): + """The software source code repository links commits to issues / tickets. + + Returns: + bool: True if the test was defined and passed. False otherwise. + """ + agnostic_test_name = "testCommitLinkedToIssue" + test_status = False + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + self.logger.warning(f"{self.metric_identifier} : Test for commit linkage to issues is not implemented.") + return test_status + + def testOtherProvenanceTools(self): + """The software project uses other tools to capture detailed machine readable provenance information. + + Returns: + bool: True if the test was defined and passed. False otherwise. + """ + agnostic_test_name = "testOtherProvenanceTools" + test_status = False + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + self.logger.warning( + f"{self.metric_identifier} : Test for other tools capturing provenance information is not implemented." + ) + return test_status + + def testIssueLinkedToBranch(self): + """Code that addresses an issue is developed in a branch prefixed with the issue number. + + Returns: + bool: True if the test was defined and passed. False otherwise. + """ + agnostic_test_name = "testIssueLinkedToBranch" + test_status = False + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + self.logger.warning(f"{self.metric_identifier} : Test for issue code on branches is not implemented.") + return test_status + + def testPRLinkedToIssue(self): + """Links to Pull Requests are included in issue tracker tickets. + + Returns: + bool: True if the test was defined and passed. False otherwise. + """ + agnostic_test_name = "testPRLinkedToIssue" + test_status = False + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + self.logger.warning(f"{self.metric_identifier} : Test for issues linked to PRs is not implemented.") + return test_status + + def evaluate(self): + self.result = CodeProvenance( + id=self.metric_number, metric_identifier=self.metric_identifier, metric_name=self.metric_name + ) + self.output = CodeProvenanceOutput() + + provenance_status = "fail" + if self.testCommitHistory(): + provenance_status = "pass" + if self.testCommitLinkedToIssue(): + provenance_status = "pass" + if self.testOtherProvenanceTools(): + provenance_status = "pass" + if self.testIssueLinkedToBranch(): + provenance_status = "pass" + if self.testPRLinkedToIssue(): + provenance_status = "pass" + + self.result.test_status = provenance_status + self.result.metric_tests = self.metric_tests + self.result.maturity = self.maturity + self.result.output = self.output + self.result.score = self.score diff --git a/fuji_server/evaluators/fair_evaluator_data_identifier_included.py b/fuji_server/evaluators/fair_evaluator_data_identifier_included.py index 81f3e1f3..d9c92a7d 100644 --- a/fuji_server/evaluators/fair_evaluator_data_identifier_included.py +++ b/fuji_server/evaluators/fair_evaluator_data_identifier_included.py @@ -26,13 +26,27 @@ class FAIREvaluatorDataIdentifierIncluded(FAIREvaluator): def __init__(self, fuji_instance): FAIREvaluator.__init__(self, fuji_instance) - self.set_metric("FsF-F3-01M") + self.set_metric(["FsF-F3-01M", "FRSM-07-F3"]) self.content_list = [] + self.metric_test_map = { # overall map + "testDataSizeTypeNameAvailable": ["FsF-F3-01M-1"], + "testDataUrlOrPIDAvailable": ["FsF-F3-01M-2", "FRSM-07-F3-1"], + "testResolvesSameContent": ["FRSM-07-F3-2"], + "testZenodoDoiInReadme": ["FRSM-07-F3-CESSDA-1"], + "testZenodoDoiInCitationFile": ["FRSM-07-F3-CESSDA-2"], + } + def testDataSizeTypeNameAvailable(self, datainfolist): + agnostic_test_name = "testDataSizeTypeNameAvailable" + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break test_result = False - if self.isTestDefined(self.metric_identifier + "-1"): - test_score = self.getTestConfigScore(self.metric_identifier + "-1") + if test_defined: + test_score = self.getTestConfigScore(test_id) if datainfolist: for datainfo in datainfolist: if isinstance(datainfo, dict): @@ -46,10 +60,8 @@ def testDataSizeTypeNameAvailable(self, datainfolist): test_result = True if isinstance(datainfo.get("source"), enum.Enum): datainfo["source"] = datainfo.get("source").name - self.setEvaluationCriteriumScore(self.metric_identifier + "-1", test_score, "pass") - self.maturity = self.metric_tests.get( - self.metric_identifier + "-1" - ).metric_test_maturity_config + self.setEvaluationCriteriumScore(test_id, test_score, "pass") + self.maturity = self.metric_tests.get(test_id).metric_test_maturity_config did_output_content = IdentifierIncludedOutputInner() did_output_content.content_identifier_included = datainfo self.content_list.append(did_output_content) @@ -59,18 +71,22 @@ def testDataSizeTypeNameAvailable(self, datainfolist): return test_result def testDataUrlOrPIDAvailable(self, datainfolist): + agnostic_test_name = "testDataUrlOrPIDAvailable" + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break test_result = False - if self.isTestDefined(self.metric_identifier + "-2"): - test_score = self.getTestConfigScore(self.metric_identifier + "-2") + if test_defined: + test_score = self.getTestConfigScore(test_id) if datainfolist: for datainfo in datainfolist: if isinstance(datainfo, dict): if datainfo.get("url"): test_result = True - self.setEvaluationCriteriumScore(self.metric_identifier + "-2", test_score, "pass") - self.maturity = self.metric_tests.get( - self.metric_identifier + "-2" - ).metric_test_maturity_config + self.setEvaluationCriteriumScore(test_id, test_score, "pass") + self.maturity = self.metric_tests.get(test_id).metric_test_maturity_config else: self.logger.warning( self.metric_identifier + f" : Object (content) url is empty -: {datainfo}" @@ -79,6 +95,57 @@ def testDataUrlOrPIDAvailable(self, datainfolist): self.score.earned += test_score return test_result + def testResolvesSameContent(self): + """Does the identifier resolve to the same instance of the software? + + Returns: + bool: True if the test was defined and passed. False otherwise. + """ + agnostic_test_name = "testResolvesSameContent" + test_status = False + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + self.logger.warning(f"{self.metric_identifier} : Test for identifier resolve target is not implemented.") + return test_status + + def testZenodoDoiInReadme(self): + """The README file includes the DOI that represents all versions in Zenodo. + + Returns: + bool: True if the test was defined and passed. False otherwise. + """ + agnostic_test_name = "testZenodoDoiInReadme" + test_status = False + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + self.logger.warning(f"{self.metric_identifier} : Test for Zenodo DOI in README is not implemented.") + return test_status + + def testZenodoDoiInCitationFile(self): + """The CITATION.cff file included in the root of the repository includes the appropriate DOI for the corresponding software release in Zenodo. + + Returns: + bool: True if the test was defined and passed. False otherwise. + """ + agnostic_test_name = "testZenodoDoiInCitationFile" + test_status = False + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + self.logger.warning(f"{self.metric_identifier} : Test for Zenodo DOI in CITATION file is not implemented.") + return test_status + def evaluate(self): socket.setdefaulttimeout(1) @@ -116,13 +183,20 @@ def evaluate(self): if self.testDataUrlOrPIDAvailable(contents): self.result.test_status = "pass" - if self.result.test_status == "pass": - self.logger.log( - self.fuji.LOG_SUCCESS, - self.metric_identifier + f" : Number of object content identifier found -: {number_of_contents}", - ) - else: - self.logger.warning(self.metric_identifier + " : Valid data (content) identifier missing.") + if self.testResolvesSameContent(): + self.result.test_status = "pass" + if self.testZenodoDoiInReadme(): + self.result.test_status = "pass" + if self.testZenodoDoiInCitationFile(): + self.result.test_status = "pass" + + if self.result.test_status == "pass": + self.logger.log( + self.fuji.LOG_SUCCESS, + self.metric_identifier + f" : Number of object content identifier found -: {number_of_contents}", + ) + else: + self.logger.warning(self.metric_identifier + " : Valid data (content) identifier missing.") self.result.metric_tests = self.metric_tests self.output.object_content_identifier_included = self.content_list diff --git a/fuji_server/evaluators/fair_evaluator_data_provenance.py b/fuji_server/evaluators/fair_evaluator_data_provenance.py index 1f2c3d72..8d1e55a4 100644 --- a/fuji_server/evaluators/fair_evaluator_data_provenance.py +++ b/fuji_server/evaluators/fair_evaluator_data_provenance.py @@ -26,12 +26,32 @@ class FAIREvaluatorDataProvenance(FAIREvaluator): def __init__(self, fuji_instance): FAIREvaluator.__init__(self, fuji_instance) - self.set_metric("FsF-R1.2-01M") + self.set_metric(["FsF-R1.2-01M", "FRSM-06-F2"]) + + self.metric_test_map = { # overall map + "testProvenanceMetadataAvailable": ["FsF-R1.2-01M-1", "FRSM-06-F2-1"], + "testProvenanceStandardsUsed": ["FsF-R1.2-01M-2"], + "testCitationMetadata": ["FRSM-06-F2-2"], + "testProportionalCredit": ["FRSM-06-F2-3"], + "testFilesPresent": ["FRSM-06-F2-CESSDA-1"], + "testORCIDInZenodoAndCitationFile": ["FRSM-06-F2-CESSDA-2"], + } def testProvenanceMetadataAvailable(self): + agnostic_test_name = "testProvenanceMetadataAvailable" test_status = False - if self.isTestDefined(self.metric_identifier + "-1"): - test_score = self.getTestConfigScore(self.metric_identifier + "-1") + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + # TODO implement + if test_id.startswith("FRSM"): + self.logger.warning( + f"{self.metric_identifier} : Test for descriptive metadata is not implemented for FRSM." + ) + if test_defined: + test_score = self.getTestConfigScore(test_id) provenance_metadata_output = DataProvenanceOutputInner() provenance_metadata_output.provenance_metadata = [] provenance_metadata_output.is_available = False @@ -75,16 +95,22 @@ def testProvenanceMetadataAvailable(self): self.fuji.LOG_SUCCESS, self.metric_identifier + " : Found data creation-related provenance information", ) - self.maturity = self.getTestConfigMaturity(self.metric_identifier + "-1") + self.maturity = self.getTestConfigMaturity(test_id) self.score.earned = test_score - self.setEvaluationCriteriumScore(self.metric_identifier + "-1", test_score, "pass") + self.setEvaluationCriteriumScore(test_id, test_score, "pass") self.output.provenance_metadata_included = provenance_metadata_output return test_status def testProvenanceStandardsUsed(self): + agnostic_test_name = "testProvenanceStandardsUsed" + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break test_status = False - if self.isTestDefined(self.metric_identifier + "-2"): - test_score = self.getTestConfigScore(self.metric_identifier + "-2") + if test_defined: + test_score = self.getTestConfigScore(test_id) provenance_namespaces = [ "http://www.w3.org/ns/prov", "http://www.w3.org/ns/prov#", @@ -106,8 +132,8 @@ def testProvenanceStandardsUsed(self): structured_metadata_output.is_available = True for used_prov_ns in used_provenance_namespace: structured_metadata_output.provenance_metadata.append({"namespace": used_prov_ns}) - self.setEvaluationCriteriumScore(self.metric_identifier + "-2", test_score, "pass") - self.maturity = self.getTestConfigMaturity(self.metric_identifier + "-2") + self.setEvaluationCriteriumScore(test_id, test_score, "pass") + self.maturity = self.getTestConfigMaturity(test_id) self.logger.log( self.fuji.LOG_SUCCESS, self.metric_identifier + " : Found use of dedicated provenance ontologies" ) @@ -116,6 +142,80 @@ def testProvenanceStandardsUsed(self): self.output.structured_provenance_available = structured_metadata_output return test_status + def testCitationMetadata(self): + """The software includes citation metadata that includes all contributors and their roles. This includes ORCIDs when contributors have them. + + Returns: + bool: True if the test was defined and passed. False otherwise. + """ + agnostic_test_name = "testCitationMetadata" + test_status = False + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + self.logger.warning(f"{self.metric_identifier} : Test for citation metadata is not implemented.") + return test_status + + def testProportionalCredit(self): + """Does the citation metadata include the proportional credit attributed to each contributor? + + Returns: + bool: True if the test was defined and passed. False otherwise. + """ + agnostic_test_name = "testProportionalCredit" + test_status = False + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + self.logger.warning( + f"{self.metric_identifier} : Test for proportional credit in citation metadata is not implemented." + ) + return test_status + + def testFilesPresent(self): + """A CITATION and/or CONTRIBUTORS files is present in the root of the repository. + + Returns: + bool: True if the test was defined and passed. False otherwise. + """ + agnostic_test_name = "testFilesPresent" + test_status = False + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + self.logger.warning( + f"{self.metric_identifier} : Test for presence of CITATION or CONTRIBUTORS file is not implemented." + ) + return test_status + + def testORCIDInZenodoAndCitationFile(self): + """Author details (including ORCIDs) are present in the corresponding Zenodo record. ORCIDs are present for authors in the CITATION.cff file. + + Returns: + bool: True if the test was defined and passed. False otherwise. + """ + agnostic_test_name = "testORCIDInZenodoAndCitationFile" + test_status = False + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + self.logger.warning( + f"{self.metric_identifier} : Test for author ORCIDs in CITATION file and Zenodo record is not implemented." + ) + return test_status + def evaluate(self): self.result = DataProvenance( id=self.metric_number, metric_identifier=self.metric_identifier, metric_name=self.metric_name @@ -127,6 +227,14 @@ def evaluate(self): provenance_status = "pass" if self.testProvenanceStandardsUsed(): provenance_status = "pass" + if self.testCitationMetadata(): + provenance_status = "pass" + if self.testProportionalCredit(): + provenance_status = "pass" + if self.testFilesPresent(): + provenance_status = "pass" + if self.testORCIDInZenodoAndCitationFile(): + provenance_status = "pass" self.result.test_status = provenance_status self.result.metric_tests = self.metric_tests diff --git a/fuji_server/evaluators/fair_evaluator_development_metadata.py b/fuji_server/evaluators/fair_evaluator_development_metadata.py new file mode 100644 index 00000000..6896ab0c --- /dev/null +++ b/fuji_server/evaluators/fair_evaluator_development_metadata.py @@ -0,0 +1,147 @@ +# SPDX-FileCopyrightText: 2020 PANGAEA (https://www.pangaea.de/) +# +# SPDX-License-Identifier: MIT + +from fuji_server.evaluators.fair_evaluator import FAIREvaluator +from fuji_server.models.development_metadata import DevelopmentMetadata +from fuji_server.models.development_metadata_output import DevelopmentMetadataOutput + + +class FAIREvaluatorDevelopmentMetadata(FAIREvaluator): + """ + A class to evaluate whether the software includes development metadata which helps define its status (FRSM-05). A child class of FAIREvaluator. + ... + + Methods + ------ + evaluate() + This method will evaluate whether the software has machine-readable descriptive metadata associated with it that describes its development and status. + """ + + def __init__(self, fuji_instance): + FAIREvaluator.__init__(self, fuji_instance) + metric = "FRSM-05-R1" + self.set_metric(metric) + + # Create map from metric test names to class functions. This is necessary as functions may be reused for different metrics relating to licenses. + self.metric_test_map = { # overall map + "testContactInformation": ["FRSM-05-R1-1"], + "testDevelopmentStatus": ["FRSM-05-R1-2"], + "testMetadataFormat": ["FRSM-05-R1-3"], + "testReadme": ["FRSM-05-R1-CESSDA-1"], + "testVersionNumbering": ["FRSM-05-R1-CESSDA-2"], + } + + def testContactInformation(self): + """The software includes metadata for contact or support in the README or other intrinsic metadata file according to community standards. + + Returns: + bool: True if the test was defined and passed. False otherwise. + """ + agnostic_test_name = "testContactInformation" + test_status = False + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + self.logger.warning(f"{self.metric_identifier} : Test for contact information is not implemented.") + return test_status + + def testDevelopmentStatus(self): + """The software includes metadata for development status, links to documentation. + + Returns: + bool: True if the test was defined and passed. False otherwise. + """ + agnostic_test_name = "testDevelopmentStatus" + test_status = False + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + self.logger.warning( + f"{self.metric_identifier} : Test for development status in metadata is not implemented." + ) + return test_status + + def testMetadataFormat(self): + """The metadata is contained in a format such as CodeMeta or ProjectObjectModel that enables full machine-actionability. + + Returns: + bool: True if the test was defined and passed. False otherwise. + """ + agnostic_test_name = "testMetadataFormat" + test_status = False + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + self.logger.warning(f"{self.metric_identifier} : Test for metadata format is not implemented.") + return test_status + + def testReadme(self): + """The README and CHANGELOG must be up to date. + he README contains release details, version details, links to documentation as described in the EURISE Network Technical Reference. + + Returns: + bool: True if the test was defined and passed. False otherwise. + """ + agnostic_test_name = "testReadme" + test_status = False + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + self.logger.warning(f"{self.metric_identifier} : Test for README information is not implemented.") + return test_status + + def testVersionNumbering(self): + """Version numbering follows Semantic Versioning 2.0.0 and pre-release versions may be denoted by appending a hyphen and a series of dot separated identifiers immediately following the patch version. + + Returns: + bool: True if the test was defined and passed. False otherwise. + """ + agnostic_test_name = "testVersionNumbering" + test_status = False + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + self.logger.warning(f"{self.metric_identifier} : Test for version numbering format is not implemented.") + return test_status + + def evaluate(self): + if self.metric_identifier in self.metrics: + self.result = DevelopmentMetadata( + id=self.metric_number, metric_identifier=self.metric_identifier, metric_name=self.metric_name + ) + self.output = DevelopmentMetadataOutput() + self.result.test_status = "fail" + if self.testContactInformation(): + self.result.test_status = "pass" + if self.testDevelopmentStatus(): + self.result.test_status = "pass" + if self.testMetadataFormat(): + self.result.test_status = "pass" + if self.testReadme(): + self.result.test_status = "pass" + if self.testVersionNumbering(): + self.result.test_status = "pass" + else: + self.result.test_status = "fail" + self.score.earned = 0 + self.logger.warning(self.metric_identifier + " : Failed to check the software development metadata.") + self.result.score = self.score + self.result.metric_tests = self.metric_tests + self.result.output = self.output + self.result.maturity = self.maturity diff --git a/fuji_server/evaluators/fair_evaluator_file_format.py b/fuji_server/evaluators/fair_evaluator_file_format.py index e0fdc8a5..5b225389 100644 --- a/fuji_server/evaluators/fair_evaluator_file_format.py +++ b/fuji_server/evaluators/fair_evaluator_file_format.py @@ -13,7 +13,7 @@ class FAIREvaluatorFileFormat(FAIREvaluator): """ - A class to evaluate whether the data is available in a file format recommended by the targe research community (R1.3-02D). + A class to evaluate whether the data is available in a file format recommended by the target research community (R1.3-02D). A child class of FAIREvaluator. ... @@ -26,7 +26,16 @@ class FAIREvaluatorFileFormat(FAIREvaluator): def __init__(self, fuji_instance): FAIREvaluator.__init__(self, fuji_instance) - self.set_metric("FsF-R1.3-02D") + self.set_metric(["FsF-R1.3-02D", "FRSM-10-I1"]) + + self.metric_test_map = { # overall map + "testCommunityFileFormatUsed": ["FsF-R1.3-02D-1"], + "testFormatDocumented": ["FRSM-10-I1-1", "FRSM-10-I1-CESSDA-1"], + "testFormatOpen": ["FRSM-10-I1-2"], + "testSchemaReference": ["FRSM-10-I1-3"], + "testCompliesWithCommunityStandard": ["FRSM-10-I1-CESSDA-2"], + "testApiCompliance": ["FRSM-10-I1-CESSDA-3"], + } self.data_file_list = [] def setFileFormatDict(self): @@ -42,11 +51,11 @@ def setFileFormatDict(self): mime_url_pair[c.get("type")] = c.get("url") if unverified_content_urls: self.logger.info( - f"FsF-R1.3-02D : Data content (inaccessible) identifier provided -: -: {list(set(unverified_content_urls))}" + f"{self.metric_identifier} : Data content (inaccessible) identifier provided -: -: {list(set(unverified_content_urls))}" ) elif len(self.fuji.content_identifier) > 0: verified_content_urls = [item.get("url") for item in self.fuji.content_identifier.values()] - self.logger.info(f"FsF-R1.3-02D : Data content identifier provided -: {verified_content_urls}") + self.logger.info(f"{self.metric_identifier} : Data content identifier provided -: {verified_content_urls}") # self.maturity = 1 for file_index, data_file in enumerate(self.fuji.content_identifier.values()): mime_type = data_file.get("claimed_type") @@ -54,8 +63,8 @@ def setFileFormatDict(self): if data_file.get("url") is not None: if (mime_type is None or "/" not in mime_type) and data_file.get("header_content_type"): self.logger.info( - "FsF-R1.3-02D : No mime type given in metadata, therefore the mime type given in HTTP header is used -: {}".format( - data_file.get("header_content_type") + "{} : No mime type given in metadata, therefore the mime type given in HTTP header is used -: {}".format( + self.metric_identifier, data_file.get("header_content_type") ) ) mime_type = data_file.get("header_content_type") @@ -65,8 +74,8 @@ def setFileFormatDict(self): or mime_type in ["application/octet-stream", "binary/octet-stream"] ): self.logger.info( - "FsF-R1.3-02D : No mime type given in metadata or generic octet-stream type given, therefore guessing the type of a file based on its filename or URL -: {}".format( - data_file.get("url") + "{} : No mime type given in metadata or generic octet-stream type given, therefore guessing the type of a file based on its filename or URL -: {}".format( + self.metric_identifier, data_file.get("url") ) ) # if mime type not given try to guess it based on the file name @@ -75,18 +84,20 @@ def setFileFormatDict(self): 0 ] # the return value is a tuple (type, encoding) where type is None if the type can`t be guessed if mime_type: - self.logger.info(f"FsF-R1.3-02D : Mime type guess return value -: {mime_type}") + self.logger.info(f"{self.metric_identifier} : Mime type guess return value -: {mime_type}") else: - self.logger.info("FsF-R1.3-02D : Failed to guess mime type based on file name") + self.logger.info("{self.metric_identifier} : Failed to guess mime type based on file name") if mime_type: - self.logger.info("FsF-R1.3-02D : Found mime type in metadata -: " + str(mime_type)) + self.logger.info("{self.metric_identifier} : Found mime type in metadata -: " + str(mime_type)) valid_type = True if data_file.get("tika_content_type"): if mime_type not in data_file.get("tika_content_type"): valid_type = False if mime_type in self.fuji.ARCHIVE_MIMETYPES: # check archive&compress media type - self.logger.info(f"FsF-R1.3-02D : Archiving/compression format specified -: {mime_type}") + self.logger.info( + f"{self.metric_identifier} : Archiving/compression format specified -: {mime_type}" + ) if valid_type and data_file.get("tika_content_type"): # exclude archive format # if file_index == len(self.fuji.content_identifier) - 1: @@ -96,16 +107,16 @@ def setFileFormatDict(self): if n not in self.fuji.ARCHIVE_MIMETYPES ] self.logger.info( - "FsF-R1.3-02D : Extracted file formats for selected data object (see FsF-R1-01MD) -: {}".format( - data_file.get("tika_content_type") + "{} : Extracted file formats for selected data object (see FsF-R1-01MD) -: {}".format( + self.metric_identifier, data_file.get("tika_content_type") ) ) for t in data_file.get("tika_content_type"): mime_url_pair[t] = data_file.get("url") else: self.logger.warning( - "FsF-R1.3-02D : Content type not verified during FsF-R1-01MD, assuming login page or similar instead of -: {}".format( - mime_type + "{} : Content type not verified during FsF-R1-01MD, assuming login page or similar instead of -: {}".format( + self.metric_identifier, mime_type ) ) else: @@ -119,11 +130,18 @@ def setFileFormatDict(self): def testCommunityFileFormatUsed(self, mime_url_pair): # FILE FORMAT CHECKS.... + agnostic_test_name = "testCommunityFileFormatUsed" + test_status = False + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break # check if format is a scientific one: preferred_mimetype = None text_format_regex = r"(^text)[\/]|[\/\+](xml|text|json)" test_status = False - if self.isTestDefined(self.metric_identifier + "-1"): + if test_defined: # the below code expects metric FsF-R1.3-02D-1 to be defined test_score = self.getTestConfigScore(self.metric_identifier + "-1") if mime_url_pair: for mimetype, url in mime_url_pair.items(): @@ -175,7 +193,7 @@ def testCommunityFileFormatUsed(self, mime_url_pair): preferred_mimetype = mimetype self.logger.log( self.fuji.LOG_SUCCESS, - "FsF-R1.3-02D : Could identify a file format commonly used by the scientific community -:" + f"{self.metric_identifier} : Could identify a file format commonly used by the scientific community -:" + str(preferred_mimetype), ) data_file_output.mime_type = mimetype @@ -185,7 +203,105 @@ def testCommunityFileFormatUsed(self, mime_url_pair): self.data_file_list.append(data_file_output) if test_status: self.score.earned = test_score - self.setEvaluationCriteriumScore("FsF-R1.3-02D-1", test_score, "pass") + self.setEvaluationCriteriumScore(test_id, test_score, "pass") + return test_status + + def testFormatDocumented(self): + """The documentation describes the data formats used. + + Returns: + bool: True if the test was defined and passed. False otherwise. + """ + agnostic_test_name = "testFormatDocumented" + test_status = False + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + self.logger.warning( + f"{self.metric_identifier} : Test for documentation abouut data formats is not implemented." + ) + return test_status + + def testFormatOpen(self, mime_url_pair): + """The data formats used are open. + + Args: + mime_url_pair (dict): pairs of URL and detected MIME type for each file + + Returns: + bool: True if the test was defined and passed. False otherwise. + """ + agnostic_test_name = "testFormatOpen" + test_status = False + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + self.logger.warning(f"{self.metric_identifier} : Test for openness of data formats is not implemented.") + return test_status + + def testSchemaReference(self, mime_url_pair): + """A reference to the schema is provided. + + Args: + mime_url_pair (dict): pairs of URL and detected MIME type for each file + + Returns: + bool: True if the test was defined and passed. False otherwise. + """ + agnostic_test_name = "testSchemaReference" + test_status = False + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + self.logger.warning(f"{self.metric_identifier} : Test for presence of schema reference is not implemented.") + return test_status + + def testCompliesWithCommunityStandard(self, mime_url_pair): + """The data complies with a recognised standard used by the CESSDA community (typically DDI/XML, RDF/XML, TURTLE, JSON-LD or SKOS). + + Args: + mime_url_pair (dict): pairs of URL and detected MIME type for each file + + Returns: + bool: True if the test was defined and passed. False otherwise. + """ + agnostic_test_name = "testCompliesWithCommunityStandard" + test_status = False + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + self.logger.warning( + f"{self.metric_identifier} : Test for compliance with community standard is not implemented." + ) + return test_status + + def testApiCompliance(self): + """Where a public API is used to access the data content, it complies with the OpenAPI standard. + + Returns: + bool: True if the test was defined and passed. False otherwise. + """ + agnostic_test_name = "testApiCompliance" + test_status = False + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + self.logger.warning(f"{self.metric_identifier} : Test for API compliance with OpenAPI is not implemented.") return test_status def evaluate(self): @@ -196,9 +312,19 @@ def evaluate(self): mime_url_dict = self.setFileFormatDict() if self.testCommunityFileFormatUsed(mime_url_dict): self.result.test_status = "pass" + if self.testFormatDocumented(): + self.result.test_status = "pass" + if self.testFormatOpen(mime_url_dict): + self.result.test_status = "pass" + if self.testSchemaReference(mime_url_dict): + self.result.test_status = "pass" + if self.testCompliesWithCommunityStandard(mime_url_dict): + self.result.test_status = "pass" + if self.testApiCompliance(): + self.result.test_status = "pass" else: self.logger.warning( - "FsF-R1.3-02D : Could not perform file format checks as data content identifier(s) unavailable/inaccesible" + f"{self.metric_identifier} : Could not perform file format checks as data content identifier(s) unavailable/inaccesible" ) self.result.test_status = "fail" diff --git a/fuji_server/evaluators/fair_evaluator_license.py b/fuji_server/evaluators/fair_evaluator_license.py index c735c0a4..a2db9ece 100644 --- a/fuji_server/evaluators/fair_evaluator_license.py +++ b/fuji_server/evaluators/fair_evaluator_license.py @@ -4,11 +4,9 @@ import fnmatch import re -from pathlib import Path import idutils import Levenshtein -import lxml.etree as ET from fuji_server.evaluators.fair_evaluator import FAIREvaluator from fuji_server.models.license import License @@ -31,19 +29,16 @@ class FAIREvaluatorLicense(FAIREvaluator): def __init__(self, fuji_instance): FAIREvaluator.__init__(self, fuji_instance) - self.set_metric(["FsF-R1.1-01M", "FRSM-15-R1.1"]) + self.set_metric(["FsF-R1.1-01M", "FRSM-16-R1.1"]) self.output = [] self.license_info = [] # Create map from metric test names to class functions. This is necessary as functions may be reused for different metrics relating to licenses. self.metric_test_map = { # overall map - "testLicenseIsValidAndSPDXRegistered": ["FsF-R1.1-01M-2", "FRSM-15-R1.1-3"], - "testLicenseMetadataElementAvailable": ["FsF-R1.1-01M-1", "FRSM-15-R1.1-1"], - "testLicenseFileAtRoot": ["FRSM-15-R1.1-CESSDA-1"], - "testLicenseInHeaders": ["FRSM-15-R1.1-CESSDA-2"], - "testLicenseForBundled": ["FRSM-15-R1.1-2"], - "testBuildScriptChecksLicenseHeader": ["FRSM-15-R1.1-CESSDA-3"], + "testLicenseIsValidAndSPDXRegistered": ["FsF-R1.1-01M-2", "FRSM-16-R1.1-2"], + "testLicenseMetadataElementAvailable": ["FsF-R1.1-01M-1", "FRSM-16-R1.1-1"], + "testLicenseMetadataZenodo": ["FRSM-16-R1.1-CESSDA-1"], } def setLicenseDataAndOutput(self): @@ -259,106 +254,15 @@ def testLicenseIsValidAndSPDXRegistered(self): return test_status - def testLicenseTXTAtRoot(self): - """Looks for license_path in self.fuji.github_data. Test passes if the license file is called LICENSE.txt and located at project root. + def testLicenseMetadataZenodo(self): + """Licensing information is included in the Zenodo record and in a LICENSE.txt file included in the root directory of the source code deposited in Zenodo. Returns: bool: True if the test was defined and passed. False otherwise. """ - agnostic_test_name = "testLicenseFileAtRoot" - test_status = False - test_defined = False - for test_id in self.metric_test_map[agnostic_test_name]: - if self.isTestDefined(test_id): - test_defined = True - break - if test_defined: - test_score = self.getTestConfigScore(test_id) - license_path = self.fuji.github_data.get("license_path") - if license_path is not None: - if license_path == "LICENSE.txt": - test_status = True - self.logger.log( - self.fuji.LOG_SUCCESS, f"{self.metric_identifier} : Found LICENSE.txt at repository root." - ) - self.maturity = self.getTestConfigMaturity(test_id) - self.setEvaluationCriteriumScore(test_id, test_score, "pass") - self.score.earned += test_score - else: # identify what's wrong - p = Path(license_path) - if str(p.parent) != ".": - self.logger.warning( - f"{self.metric_identifier} : Found a license file, but it is not located at the root of the repository." - ) - if p.suffix != ".txt": - self.logger.warning( - f"{self.metric_identifier} : Found a license file, but the file suffix is not TXT." - ) - if p.stem != "LICENSE": - self.logger.warning( - f"{self.metric_identifier} : Found a license file, but the file name is not LICENSE." - ) - else: - self.logger.warning(f"{self.metric_identifier} : Did not find a license file.") - return test_status - - def testLicenseInHeaders(self): - """Checks whether a sample of source code files include a license header. Fast-pass if the build script checks for license headers. - - Returns: - bool: True if the test was defined and passed. False otherwise. - """ - agnostic_test_name = "testLicenseInHeaders" - test_status = False - test_defined = False - for test_id in self.metric_test_map[agnostic_test_name]: - if self.isTestDefined(test_id): - test_defined = True - break - if test_defined: - test_score = self.getTestConfigScore(test_id) - # check whether CESSDA-3 was run and passed - for tid in self.metric_test_map["testBuildScriptChecksLicenseHeader"]: - if tid in self.metric_tests.keys() and self.metric_tests[tid].metric_test_status == "pass": - test_status = True - self.logger.log( - self.fuji.LOG_SUCCESS, - f"{self.metric_identifier} : Build script checks for license headers, so we can assume that all source files do contain license headers.", - ) - if not test_status: # CESSDA-3 did not pass - source_code_samples = self.fuji.github_data.get("source_code_samples") - if source_code_samples is not None: - license_headers_count = 0 - for sample in source_code_samples: - header_region = "\n".join(sample["content"].decode("utf-8").splitlines()[:30]).lower() - if "license" in header_region: - license_headers_count += 1 - if license_headers_count == len(source_code_samples): - test_status = True - self.logger.log( - self.fuji.LOG_SUCCESS, - f"{self.metric_identifier} : Sample of {len(source_code_samples)} source code files all contained a license header.", - ) - else: - self.logger.warning( - f"{self.metric_identifier} : {license_headers_count} out of a sample of {len(source_code_samples)} source code files were found to contain a license header." - ) - else: - self.logger.warning(f"{self.metric_identifier} : No source code files found.") - if test_status: # test passed, update score and maturity - self.maturity = self.getTestConfigMaturity(test_id) - self.setEvaluationCriteriumScore(test_id, test_score, "pass") - self.score.earned += test_score - return test_status - - def testLicenseForBundled(self): - """Look for license information of bundled components. Not implemented. - - Returns: - bool: True if the test was defined and passed. False otherwise. - """ - agnostic_test_name = "testLicenseForBundled" + agnostic_test_name = "testLicenseMetadataZenodo" test_status = False + test_id = self.metric_test_map[agnostic_test_name] test_defined = False for test_id in self.metric_test_map[agnostic_test_name]: if self.isTestDefined(test_id): @@ -366,62 +270,10 @@ def testLicenseForBundled(self): break if test_defined: self.logger.warning( - f"{self.metric_identifier} : Test for license information of bundled components is not implemented." + f"{self.metric_identifier} : Test for license information in Zenodo record and TXT in Zenodo is not implemented." ) return test_status - def testBuildScriptChecksLicenseHeader(self): - """Parses build script looking for command that ensures the presence of license headers. - Currently only for Maven POM files and expects build to fail if license headers are missing. - - Returns: - bool: True if the test was defined and passed. False otherwise. - """ - agnostic_test_name = "testBuildScriptChecksLicenseHeader" - test_status = False - test_defined = False - for test_id in self.metric_test_map[agnostic_test_name]: - if self.isTestDefined(test_id): - test_defined = True - break - if test_defined: - test_score = self.getTestConfigScore(test_id) - # Maven - mvn_pom = self.fuji.github_data.get("mvn_pom") - if mvn_pom is not None: - # Check whether pom.xml uses license:check-file-header to validate license headers. - # See https://www.mojohaus.org/license-maven-plugin/check-file-header-mojo.html for more info. - root = ET.fromstring(mvn_pom) - namespaces = root.nsmap - # look for plugin with artifactID license-maven-plugin - found_license_plugin = False - for plugin in root.iterfind(".//plugin", namespaces): - artifact_id = plugin.find("artifactId", namespaces) - if artifact_id is not None and artifact_id.text == "license-maven-plugin": - found_license_plugin = True - fail_on_missing_header = plugin.find("configuration/failOnMissingHeader", namespaces) - if fail_on_missing_header is not None and fail_on_missing_header.text == "true": - test_status = True - self.logger.log( - self.fuji.LOG_SUCCESS, - f"{self.metric_identifier} : Maven POM checks for license headers in source files.", - ) - self.maturity = self.getTestConfigMaturity(test_id) - self.setEvaluationCriteriumScore(test_id, test_score, "pass") - self.score.earned += test_score - else: - self.logger.warning( - f"{self.metric_identifier} : Maven POM uses license-maven-plugin (license:check-file-header) but does not fail on missing header." - ) - break - if not found_license_plugin: - self.logger.warning( - f"{self.metric_identifier} : Maven POM does not use license-maven-plugin (license:check-file-header) to check for license headers in source code files." - ) - else: - self.logger.warning(f"{self.metric_identifier} : Did not find a Maven POM file.") - return test_status - def evaluate(self): self.setLicenseDataAndOutput() @@ -434,13 +286,7 @@ def evaluate(self): license_status = "pass" if self.testLicenseIsValidAndSPDXRegistered(): license_status = "pass" - if self.testLicenseTXTAtRoot(): - license_status = "pass" - if self.testLicenseForBundled(): - license_status = "pass" - if self.testBuildScriptChecksLicenseHeader(): - license_status = "pass" - if self.testLicenseInHeaders(): + if self.testLicenseMetadataZenodo(): license_status = "pass" self.result.test_status = license_status diff --git a/fuji_server/evaluators/fair_evaluator_license_file.py b/fuji_server/evaluators/fair_evaluator_license_file.py new file mode 100644 index 00000000..6cd5dce7 --- /dev/null +++ b/fuji_server/evaluators/fair_evaluator_license_file.py @@ -0,0 +1,461 @@ +# SPDX-FileCopyrightText: 2020 PANGAEA (https://www.pangaea.de/) +# +# SPDX-License-Identifier: MIT + +import fnmatch +import re +from pathlib import Path + +import idutils +import Levenshtein +import lxml.etree as ET + +from fuji_server.evaluators.fair_evaluator import FAIREvaluator +from fuji_server.models.license import License +from fuji_server.models.license_output_inner import LicenseOutputInner + + +class FAIREvaluatorLicenseFile(FAIREvaluator): + """ + A class to evaluate whether the software source code includes licensing information. + A child class of FAIREvaluator. + ... + + Methods + ------ + evaluate() + This method will check the software and its documentation for the presence of a licence. + + """ + + def __init__(self, fuji_instance): + FAIREvaluator.__init__(self, fuji_instance) + self.set_metric(["FRSM-15-R1.1"]) + + self.output = [] + self.license_info = [] + + # Create map from metric test names to class functions. This is necessary as functions may be reused for different metrics relating to licenses. + self.metric_test_map = { # overall map + "testLicenseIsValidAndSPDXRegistered": ["FRSM-15-R1.1-3"], + "testLicenseFileAvailable": ["FRSM-15-R1.1-1"], + "testLicenseFileAtRoot": ["FRSM-15-R1.1-CESSDA-1"], + "testLicenseInHeaders": ["FRSM-15-R1.1-CESSDA-2"], + "testLicenseForBundled": ["FRSM-15-R1.1-2"], + "testBuildScriptChecksLicenseHeader": ["FRSM-15-R1.1-CESSDA-3"], + } + + def setLicenseDataAndOutput(self): + self.license_info = [] + # check for any recognised license files + parsed_license_file_data = self.fuji.github_data.get("license_file") + if parsed_license_file_data is not None and len(parsed_license_file_data) > 0: + license_file_paths = [lf["path"] for lf in parsed_license_file_data] + metadata_license = self.fuji.github_data.get("license") + metadata_license_path = self.fuji.github_data.get("license_path") + recognised_licenses = [] + if metadata_license is not None: + for lfp in license_file_paths: # only use metadata information if it matches a license file + if lfp == metadata_license_path: + recognised_licenses.append(metadata_license) + if recognised_licenses is not None and recognised_licenses != []: + for license in recognised_licenses: + isurl = False + licence_valid = False + license_output = LicenseOutputInner() + if isinstance(license, str): + isurl = idutils.is_url(license) + if isurl: + iscc, generic_cc = self.isCreativeCommonsLicense(license, self.metric_identifier) + if iscc: + license = generic_cc + spdx_uri, spdx_osi, spdx_id = self.lookup_license_by_url(license, self.metric_identifier) + else: # maybe licence name + spdx_uri, spdx_osi, spdx_id = self.lookup_license_by_name(license, self.metric_identifier) + license_output.license = license + if spdx_uri: + licence_valid = True + license_output.details_url = spdx_uri + license_output.osi_approved = spdx_osi + self.output.append(license_output) + self.license_info.append( + { + "license": license, + "id": spdx_id, + "is_url": isurl, + "spdx_uri": spdx_uri, + "osi_approved": spdx_osi, + "valid": licence_valid, + } + ) + if not spdx_uri: + self.logger.warning( + f"{self.metric_identifier} : NO SPDX license representation (spdx url, osi_approved) found" + ) + else: + self.logger.log( + self.fuji.LOG_SUCCESS, + f"{self.metric_identifier} : Found SPDX license representation (spdx url, osi_approved)", + ) + + def isCreativeCommonsLicense(self, license_url, metric_id): + iscc = False + genericcc = None + try: + if "creativecommons.org/publicdomain/" in license_url: + iscc = True + self.logger.info(f"{metric_id} : Found CreativeCommons Public Domain Mark or License -: {license_url}") + genericcc = "CC0-1.0" + else: + # https://wiki.creativecommons.org/wiki/License_Properties + ccregex = r"https?://creativecommons\.org/licenses/(by(-nc)?(-nd)?(-sa)?)/(1\.0|2\.0|2\.5|3\.0|4\.0)" + ccmatch = re.match(ccregex, license_url) + if ccmatch: + self.logger.info(f"{metric_id} : Found CreativeCommons license -: {license_url}") + genericcc = ccmatch[0] + iscc = True + else: + iscc = False + except Exception: + iscc = False + return iscc, genericcc + + def lookup_license_by_url(self, u, metric_id): + self.logger.info(f"{metric_id} : Verify URL through SPDX registry -: {u}") + html_url = None + isOsiApproved = False + id = None + ul = None + if "spdx.org/licenses" in u: + ul = u.split("/")[-1] + for item in self.fuji.SPDX_LICENSES: + # u = u.lower() + # if any(u in v.lower() for v in item.values()): + licenseId = item.get("licenseId") + seeAlso = item.get("seeAlso") + if any(u in v for v in seeAlso) or licenseId == ul: + self.logger.info("{} : Found SPDX license representation -: {}".format(metric_id, item["detailsUrl"])) + # html_url = '.html'.join(item['detailsUrl'].rsplit('.json', 1)) + html_url = item["detailsUrl"].replace(".json", ".html") + isOsiApproved = item["isOsiApproved"] + id = item["licenseId"] + break + return html_url, isOsiApproved, id + + def lookup_license_by_name(self, lvalue, metric_id): + # TODO - find simpler way to run fuzzy-based search over dict/json (e.g., regex) + html_url = None + isOsiApproved = False + id = None + self.logger.info(f"{metric_id} : License verification name through SPDX registry -: {lvalue}") + # Levenshtein distance similarity ratio between two license name + if lvalue: + sim = [Levenshtein.ratio(lvalue.lower(), i) for i in self.fuji.SPDX_LICENSE_NAMES] + if max(sim) > 0.85: + index_max = max(range(len(sim)), key=sim.__getitem__) + sim_license = self.fuji.SPDX_LICENSE_NAMES[index_max] + found = next((item for item in self.fuji.SPDX_LICENSES if item["name"] == sim_license), None) + self.logger.info("{}: Found SPDX license representation -: {}".format(metric_id, found["detailsUrl"])) + # html_url = '.html'.join(found['detailsUrl'].rsplit('.json', 1)) + html_url = found["detailsUrl"].replace(".json", ".html") + isOsiApproved = found["isOsiApproved"] + id = found["licenseId"] + return html_url, isOsiApproved, id + + def testLicenseFileAvailable(self): + """License file is included. + + Returns: + bool: True if the test was defined and passed. False otherwise. + """ + agnostic_test_name = "testLicenseFileAvailable" + test_status = False + test_id = self.metric_test_map[agnostic_test_name] + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + test_score = self.getTestConfigScore(test_id) + parsed_license_file_data = self.fuji.github_data.get("license_file") + if parsed_license_file_data is not None and len(parsed_license_file_data) > 0: + license_file_paths = [lf["path"] for lf in parsed_license_file_data] + test_status = True + self.logger.log( + self.fuji.LOG_SUCCESS, f"{self.metric_identifier} : Found licence file: {license_file_paths}." + ) + self.maturity = max(self.maturity, self.getTestConfigMaturity(test_id)) + self.setEvaluationCriteriumScore(test_id, test_score, "pass") + self.score.earned += test_score + else: + self.logger.warning(f"{self.metric_identifier} : Did not find licence file.") + return test_status + + def testLicenseIsValidAndSPDXRegistered(self): + """The software licensing information is in SPDX format, or other machine-readable form. + + Returns: + bool: True if the test was defined and passed. False otherwise. + """ + agnostic_test_name = "testLicenseIsValidAndSPDXRegistered" + test_status = False + test_requirements = {} + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + if self.metric_tests[test_id].metric_test_requirements: + test_requirements = self.metric_tests[test_id].metric_test_requirements[0] + test_score = self.getTestConfigScore(test_id) + test_required = [] + if test_requirements.get("required"): + if isinstance(test_requirements.get("required"), list): + test_required = test_requirements.get("required") + elif test_requirements.get("required").get("name"): + test_required = test_requirements.get("required").get("name") + if not isinstance(test_required, list): + test_required = [test_required] + + self.logger.info( + "{0} : Will exclusively consider community specific licenses for {0} which are specified in metrics -: {1}".format( + test_id, test_requirements.get("required") + ) + ) + else: + self.logger.info( + "{0} : Will consider all SPDX licenses as community specific licenses for {0} ".format( + self.metric_identifier, + ) + ) + if self.license_info: # license info is populated from recognised GitHub license (metadata) + for license in self.license_info: + if test_required: + for rq_license_id in test_required: + if license.get("id"): + if fnmatch.fnmatch(license.get("id"), rq_license_id): + test_status = True + else: + if license.get("valid"): + test_status = True + else: + self.logger.warning( + "{} : Skipping SPDX and community license verification since no license information was recognised from metadata and no other mechanism of recognising licenses is currently available.".format( + self.metric_identifier + ) + ) + + if test_status: + self.maturity = max(self.maturity, self.getTestConfigMaturity(test_id)) + self.score.earned += test_score + self.setEvaluationCriteriumScore(test_id, test_score, "pass") + + return test_status + + def testLicenseTXTAtRoot(self): + """Looks for license_path in self.fuji.github_data. Test passes if the license file is called LICENSE.txt and located at project root. + + Returns: + bool: True if the test was defined and passed. False otherwise. + """ + agnostic_test_name = "testLicenseFileAtRoot" + test_status = False + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + test_score = self.getTestConfigScore(test_id) + license_file_paths = [] + parsed_license_file_data = self.fuji.github_data.get("license_file") + if parsed_license_file_data is not None: + license_file_paths += [lf["path"] for lf in parsed_license_file_data] + for license_path in license_file_paths: + if license_path is not None: + p = Path(license_path) + if p.stem == "LICENSE": + if str(p.parent) == ".": # pass: LICENSE file at root + test_status = True + self.maturity = max(self.getTestConfigMaturity(test_id), self.maturity) + self.setEvaluationCriteriumScore(test_id, test_score, "pass") + self.score.earned += test_score + if p.suffix == ".txt": + self.logger.log( + self.fuji.LOG_SUCCESS, + f"{self.metric_identifier} : Found LICENSE.txt at repository root ({test_id}).", + ) + else: + self.logger.warning( + f"{self.metric_identifier} : Found a license file at repository root, but the file suffix is not .txt ({test_id}). Test will still pass." + ) + break + else: + self.logger.warning( + f"{self.metric_identifier} : Found a license file {license_path}, but it is not located at the root of the repository ({test_id})." + ) + else: + self.logger.warning( + f"{self.metric_identifier} : Found a license file {license_path}, but the file name is not LICENSE ({test_id})." + ) + if not test_status: + self.logger.warning(f"{self.metric_identifier} : Did not find a license file ({test_id}).") + return test_status + + def testLicenseInHeaders(self): + """Checks whether a sample of source code files include a license header. Fast-pass if the build script checks for license headers. + + Returns: + bool: True if the test was defined and passed. False otherwise. + """ + agnostic_test_name = "testLicenseInHeaders" + test_status = False + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + test_score = self.getTestConfigScore(test_id) + test_requirements = self.metric_tests[test_id].metric_test_requirements[0] + required_keywords = test_requirements["required"]["keywords"] + # check whether CESSDA-3 was run and passed + for tid in self.metric_test_map["testBuildScriptChecksLicenseHeader"]: + if tid in self.metric_tests.keys() and self.metric_tests[tid].metric_test_status == "pass": + test_status = True + self.logger.log( + self.fuji.LOG_SUCCESS, + f"{self.metric_identifier} : Build script checks for license headers, so we can assume that all source files do contain license headers ({test_id}).", + ) + if not test_status: # CESSDA-3 did not pass + source_code_samples = self.fuji.github_data.get("source_code_samples") + self.logger.info( + f"{self.metric_identifier} : Looking for any of {required_keywords} in source code samples ({test_id})." + ) + if source_code_samples is not None: + license_headers_count = 0 + for sample in source_code_samples: + header_region = "\n".join(sample["content"].decode("utf-8").splitlines()[:30]).lower() + for kw in required_keywords: + if kw in header_region: + license_headers_count += 1 + break + if license_headers_count == len(source_code_samples): + test_status = True + self.logger.log( + self.fuji.LOG_SUCCESS, + f"{self.metric_identifier} : Sample of {len(source_code_samples)} source code files all contained a license header ({test_id}).", + ) + else: + self.logger.warning( + f"{self.metric_identifier} : {license_headers_count} out of a sample of {len(source_code_samples)} source code files were found to contain a license header ({test_id})." + ) + else: + self.logger.warning(f"{self.metric_identifier} : No source code files found ({test_id}).") + if test_status: # test passed, update score and maturity + self.maturity = max(self.getTestConfigMaturity(test_id), self.maturity) + self.setEvaluationCriteriumScore(test_id, test_score, "pass") + self.score.earned += test_score + return test_status + + def testLicenseForBundled(self): + """Look for license information of bundled components. Not implemented. + + Returns: + bool: True if the test was defined and passed. False otherwise. + """ + agnostic_test_name = "testLicenseForBundled" + test_status = False + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + self.logger.warning( + f"{self.metric_identifier} : Test for license information of bundled components is not implemented ({test_id})." + ) + return test_status + + def testBuildScriptChecksLicenseHeader(self): + """Parses build script looking for command that ensures the presence of license headers. + Currently only for Maven POM files and expects build to fail if license headers are missing. + + Returns: + bool: True if the test was defined and passed. False otherwise. + """ + agnostic_test_name = "testBuildScriptChecksLicenseHeader" + test_status = False + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + test_score = self.getTestConfigScore(test_id) + test_requirements = self.metric_tests[test_id].metric_test_requirements[0] + required_build_scripts = test_requirements["required"]["build_script"] + if "maven_pom" in required_build_scripts: # check Maven POM for plugin + mvn_pom = self.fuji.github_data.get("maven_pom") + if mvn_pom is not None: + content = mvn_pom[0]["content"] + # Check whether pom.xml uses license:check-file-header to validate license headers. + # See https://www.mojohaus.org/license-maven-plugin/check-file-header-mojo.html for more info. + root = ET.fromstring(content) + namespaces = root.nsmap + # look for plugin with artifactID license-maven-plugin + found_license_plugin = False + for plugin in root.iterfind(".//plugin", namespaces): + artifact_id = plugin.find("artifactId", namespaces) + if artifact_id is not None and artifact_id.text == "license-maven-plugin": + found_license_plugin = True + # too strict + # fail_on_missing_header = plugin.find("configuration/failOnMissingHeader", namespaces) + # if fail_on_missing_header is not None and fail_on_missing_header.text == "true": + test_status = True + self.logger.log( + self.fuji.LOG_SUCCESS, + f"{self.metric_identifier} : Maven POM checks for license headers in source files ({test_id}).", + ) + self.maturity = max(self.getTestConfigMaturity(test_id), self.maturity) + self.setEvaluationCriteriumScore(test_id, test_score, "pass") + self.score.earned += test_score + break + if not found_license_plugin: + self.logger.warning( + f"{self.metric_identifier} : Maven POM does not use license-maven-plugin (license:check-file-header) to check for license headers in source code files ({test_id})." + ) + else: + self.logger.warning(f"{self.metric_identifier} : Did not find a Maven POM file ({test_id}).") + if any(e != "maven_pom" for e in required_build_scripts): + self.logger.warning(f"{self.metric_identifier} : Unknown build script configured ({test_id}).") + return test_status + + def evaluate(self): + self.setLicenseDataAndOutput() + + self.result = License( + id=self.metric_number, metric_identifier=self.metric_identifier, metric_name=self.metric_name + ) + + license_status = "fail" + if self.testLicenseFileAvailable(): + license_status = "pass" + if self.testLicenseIsValidAndSPDXRegistered(): + license_status = "pass" + if self.testLicenseTXTAtRoot(): + license_status = "pass" + if self.testLicenseForBundled(): + license_status = "pass" + if self.testBuildScriptChecksLicenseHeader(): + license_status = "pass" + if self.testLicenseInHeaders(): + license_status = "pass" + + self.result.test_status = license_status + self.result.output = self.output + self.result.metric_tests = self.metric_tests + self.result.score = self.score + self.result.maturity = self.maturity diff --git a/fuji_server/evaluators/fair_evaluator_metadata_preservation.py b/fuji_server/evaluators/fair_evaluator_metadata_preservation.py index bb6e5940..2cd88356 100644 --- a/fuji_server/evaluators/fair_evaluator_metadata_preservation.py +++ b/fuji_server/evaluators/fair_evaluator_metadata_preservation.py @@ -19,31 +19,124 @@ class FAIREvaluatorMetadataPreserved(FAIREvaluator): """ + def __init__(self, fuji_instance): + FAIREvaluator.__init__(self, fuji_instance) + self.set_metric(["FsF-A2-01M", "FRSM-08-F4"]) + + self.metric_test_map = { # overall map + "testPreservationGuaranteed": ["FsF-A2-01M-1", "FRSM-08-F4-1"], + "testPublicSearchEngine": ["FRSM-08-F4-2", "FRSM-08-F4-CESSDA-2"], + "testMultipleCrossReferenced": ["FRSM-08-F4-3", "FRSM-08-F4-CESSDA-3"], + "testZenodoLandingPage": ["FRSM-08-F4-CESSDA-1"], + } + + def testPreservationGuaranteed(self): + agnostic_test_name = "testPreservationGuaranteed" + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + test_status = False + if test_defined: + # TODO implement + if test_id.startswith("FRSM"): + self.logger.warning( + f"{self.metric_identifier} : Test for descriptive metadata is not implemented for FRSM." + ) + registry_bound_pid = ["doi"] + test_score = self.getTestConfigScore(test_id) + if self.fuji.pid_scheme: + if self.fuji.pid_scheme in registry_bound_pid: + test_status = True + self.score.earned += test_score + self.outputs.append(MetadataPreservedOutput(metadata_preservation_method="datacite")) + self.setEvaluationCriteriumScore(test_id, test_score, "pass") + self.maturity = self.getTestConfigMaturity(test_id) + self.logger.log( + self.fuji.LOG_SUCCESS, + "{0} : Metadata registry bound PID system used: " + + self.fuji.pid_scheme.format(self.metric_identifier), + ) + else: + self.logger.warning(f"{self.metric_identifier} : NO metadata registry bound PID system used") + return test_status + + def testPublicSearchEngine(self): + """The persistent metadata record is available through public search engines. The metadata has a globally unique and persistent identifier. + + Returns: + bool: True if the test was defined and passed. False otherwise. + """ + agnostic_test_name = "testPublicSearchEngine" + test_status = False + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + self.logger.warning( + f"{self.metric_identifier} : Test for availability through public search engine is not implemented." + ) + return test_status + + def testMultipleCrossReferenced(self): + """The persistent metadata record is available through multiple, cross-referenced infrastructures. + + Returns: + bool: True if the test was defined and passed. False otherwise. + """ + agnostic_test_name = "testMultipleCrossReferenced" + test_status = False + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + self.logger.warning( + f"{self.metric_identifier} : Test for availability through multiple, cross-referenced infrastructures is not implemented." + ) + return test_status + + def testZenodoLandingPage(self): + """The DOI resolves to a Zenodo landing page for the latest release, and metadata can be accessed via the Zenodo API. + + Returns: + bool: True if the test was defined and passed. False otherwise. + """ + agnostic_test_name = "testZenodoLandingPage" + test_status = False + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + self.logger.warning( + f"{self.metric_identifier} : Test for availability through Zenodo (landing page + API) is not implemented." + ) + return test_status + def evaluate(self): - registry_bound_pid = ["doi"] self.result = MetadataPreserved( id=self.metric_number, metric_identifier=self.metric_identifier, metric_name=self.metric_name ) - outputs = [] + self.outputs = [] # list of MetadataPreservedOutput + test_status = "fail" - score = 0 - if self.fuji.pid_scheme: - if self.fuji.pid_scheme in registry_bound_pid: - test_status = "pass" - outputs.append(MetadataPreservedOutput(metadata_preservation_method="datacite")) - score = 1 - self.setEvaluationCriteriumScore("FsF-A2-01M-1", 1, "pass") - self.maturity = 3 - self.logger.log( - self.fuji.LOG_SUCCESS, - "{0} : Metadata registry bound PID system used: " - + self.fuji.pid_scheme.format(self.metric_identifier), - ) - else: - self.logger.warning(f"{self.metric_identifier} : NO metadata registry bound PID system used") - self.score.earned = score + if self.testPreservationGuaranteed(): + test_status = "pass" + if self.testPublicSearchEngine(): + test_status = "pass" + if self.testMultipleCrossReferenced(): + test_status = "pass" + if self.testZenodoLandingPage(): + test_status = "pass" + self.result.score = self.score - self.result.output = outputs + self.result.output = self.outputs self.result.metric_tests = self.metric_tests self.result.test_status = test_status self.result.maturity = self.maturity diff --git a/fuji_server/evaluators/fair_evaluator_minimal_metadata.py b/fuji_server/evaluators/fair_evaluator_minimal_metadata.py index c81d1b76..d37fd111 100644 --- a/fuji_server/evaluators/fair_evaluator_minimal_metadata.py +++ b/fuji_server/evaluators/fair_evaluator_minimal_metadata.py @@ -24,7 +24,7 @@ class FAIREvaluatorCoreMetadata(FAIREvaluator): def __init__(self, fuji_instance): FAIREvaluator.__init__(self, fuji_instance) - self.set_metric("FsF-F2-01M") + self.set_metric(["FsF-F2-01M", "FRSM-04-F2"]) self.metadata_found = {} # this list is following the recommendation of DataCite see: Fenner et al 2019 and Starr & Gastl, 2011 self.partial_elements = [ @@ -37,15 +37,29 @@ def __init__(self, fuji_instance): ] self.required_metadata_properties = Mapper.REQUIRED_CORE_METADATA.value + self.metric_test_map = { # overall map + "testMetadataCommonMethodsAvailable": ["FsF-F2-01M-1"], + "testCoreDescriptiveMetadataAvailable": ["FsF-F2-01M-3", "FRSM-04-F2-2", "FRSM-04-F2-CESSDA-2"], + "testCoreCitationMetadataAvailable": ["FsF-F2-01M-2"], + "testMinimumMetadataAvailable": ["FRSM-04-F2-1", "FRSM-04-F2-CESSDA-1"], + "testMetadataFormatMachineReadable": ["FRSM-04-F2-3"], + } + def testMetadataCommonMethodsAvailable(self): # implements FsF-F2-01M-1 - if self.isTestDefined("FsF-F2-01M-1"): - test_score = self.metric_tests.get("FsF-F2-01M-1").metric_test_score_config + agnostic_test_name = "testMetadataCommonMethodsAvailable" + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + test_score = self.metric_tests.get(test_id).metric_test_score_config if len(self.metadata_found) >= 1: self.logger.info( "FsF-F2-01M : Found some descriptive metadata elements -: " + str(self.metadata_found.keys()) ) - self.setEvaluationCriteriumScore("FsF-F2-01M-1", test_score, "pass") + self.setEvaluationCriteriumScore(test_id, test_score, "pass") source_mechanisms = dict((y, x) for x, y in list(set(self.fuji.metadata_sources))) for source_mechanism in source_mechanisms: @@ -53,14 +67,14 @@ def testMetadataCommonMethodsAvailable(self): MetadataOfferingMethods.MICRODATA_RDFA, MetadataOfferingMethods.HTML_EMBEDDING, ]: - self.setEvaluationCriteriumScore("FsF-F2-01M-1a", 0, "pass") + self.setEvaluationCriteriumScore(f"{test_id}a", 0, "pass") if source_mechanism == MetadataOfferingMethods.CONTENT_NEGOTIATION: - self.setEvaluationCriteriumScore("FsF-F2-01M-1b", 0, "pass") + self.setEvaluationCriteriumScore(f"{test_id}b", 0, "pass") if source_mechanism == MetadataOfferingMethods.TYPED_LINKS: - self.setEvaluationCriteriumScore("FsF-F2-01M-1c", 0, "pass") + self.setEvaluationCriteriumScore(f"{test_id}c", 0, "pass") if source_mechanism == MetadataOfferingMethods.SIGNPOSTING: - self.setEvaluationCriteriumScore("FsF-F2-01M-1d", 0, "pass") - self.maturity = self.metric_tests.get("FsF-F2-01M-1").metric_test_maturity_config + self.setEvaluationCriteriumScore(f"{test_id}d", 0, "pass") + self.maturity = self.metric_tests.get(test_id).metric_test_maturity_config self.score.earned = test_score partial_missing = list(set(self.partial_elements) - set(self.metadata_found)) if partial_missing: @@ -75,11 +89,22 @@ def testMetadataCommonMethodsAvailable(self): return False def testCoreDescriptiveMetadataAvailable(self): + agnostic_test_name = "testCoreDescriptiveMetadataAvailable" test_status = False + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break test_requirements = None - if self.isTestDefined(self.metric_identifier + "-3"): - if self.metric_tests[self.metric_identifier + "-3"].metric_test_requirements: - test_requirements = self.metric_tests[self.metric_identifier + "-3"].metric_test_requirements[0] + # TODO implement + if test_id.startswith("FRSM"): + self.logger.warning( + f"{self.metric_identifier} : Test for descriptive metadata is not implemented for FRSM." + ) + if test_defined: + if self.metric_tests[test_id].metric_test_requirements: + test_requirements = self.metric_tests[test_id].metric_test_requirements[0] if test_requirements: test_required = [] if test_requirements.get("required"): @@ -98,7 +123,7 @@ def testCoreDescriptiveMetadataAvailable(self): for rq_prop in test_required: if rq_prop in Mapper.REFERENCE_METADATA_LIST.value: self.required_metadata_properties.append(rq_prop) - test_score = self.getTestConfigScore(self.metric_identifier + "-3") + test_score = self.getTestConfigScore(test_id) if set(self.metadata_found) & set(self.required_metadata_properties) == set( self.required_metadata_properties ): @@ -120,21 +145,62 @@ def testCoreDescriptiveMetadataAvailable(self): return test_status def testCoreCitationMetadataAvailable(self): + agnostic_test_name = "testCoreCitationMetadataAvailable" test_status = False - if self.isTestDefined(self.metric_identifier + "-2"): - test_score = self.getTestConfigScore(self.metric_identifier + "-2") + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + test_status = False + if test_defined: + test_score = self.getTestConfigScore(test_id) if set(self.partial_elements).issubset(self.metadata_found): self.logger.log( self.fuji.LOG_SUCCESS, self.metric_identifier + f" : Found required core citation metadata elements -: {self.partial_elements}", ) - self.maturity = self.metric_tests.get(self.metric_identifier + "-2").metric_test_maturity_config - self.setEvaluationCriteriumScore(self.metric_identifier + "-2", test_score, "pass") + self.maturity = self.metric_tests.get(test_id).metric_test_maturity_config + self.setEvaluationCriteriumScore(test_id, test_score, "pass") self.score.earned = self.score.earned + test_score test_status = True return test_status + def testMinimumMetadataAvailable(self): + """The software includes the software title and description. Considers different sources (e.g. README, Zenodo) depending on metric definition. + + Returns: + bool: True if the test was defined and passed. False otherwise. + """ + agnostic_test_name = "testMinimumMetadataAvailable" + test_status = False + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + self.logger.warning(f"{self.metric_identifier} : Test for minimum metadata is not implemented.") + return test_status + + def testMetadataFormatMachineReadable(self): + """The metadata is contained in a format such as CodeMeta or ProjectObjectModel that enables full machine actionability. + + Returns: + bool: True if the test was defined and passed. False otherwise. + """ + agnostic_test_name = "testMetadataFormatMachineReadable" + test_status = False + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + self.logger.warning(f"{self.metric_identifier} : Test for metadata format is not implemented.") + return test_status + def evaluate(self): if self.fuji.landing_url is None: self.logger.warning( @@ -162,6 +228,12 @@ def evaluate(self): if self.testCoreDescriptiveMetadataAvailable(): test_status = "pass" metadata_status = "all metadata" + if self.testMinimumMetadataAvailable(): + test_status = "pass" + metadata_status = "some metadata" + if self.testMetadataFormatMachineReadable(): + test_status = "pass" + metadata_status = "machine-readable metadata" output_sources = [] for oi, os in list(set(self.fuji.metadata_sources)): output_sources.append((oi, os.acronym())) diff --git a/fuji_server/evaluators/fair_evaluator_related_resources.py b/fuji_server/evaluators/fair_evaluator_related_resources.py index 12efdea3..1f8d4f2c 100644 --- a/fuji_server/evaluators/fair_evaluator_related_resources.py +++ b/fuji_server/evaluators/fair_evaluator_related_resources.py @@ -23,13 +23,23 @@ class FAIREvaluatorRelatedResources(FAIREvaluator): def __init__(self, fuji_instance): FAIREvaluator.__init__(self, fuji_instance) - self.set_metric("FsF-I3-01M") + self.set_metric(["FsF-I3-01M", "FRSM-12-I2"]) + self.metric_test_map = { # overall map + "testRelatedResourcesAvailable": ["FsF-I3-01M-1"], + "testRelatedResourcesMachineReadable": ["FsF-I3-01M-2", "FRSM-12-I2-1"], + } self.is_actionable = False def testRelatedResourcesAvailable(self): + agnostic_test_name = "testRelatedResourcesAvailable" test_status = False - if self.isTestDefined(self.metric_identifier + "-1"): - test_score = self.getTestConfigScore(self.metric_identifier + "-1") + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + test_score = self.getTestConfigScore(test_id) if self.fuji.related_resources: self.logger.log( self.fuji.LOG_SUCCESS, @@ -39,16 +49,27 @@ def testRelatedResourcesAvailable(self): ) test_status = True self.output = self.fuji.related_resources - self.setEvaluationCriteriumScore(self.metric_identifier + "-1", test_score, "pass") + self.setEvaluationCriteriumScore(test_id, test_score, "pass") self.score.earned = self.total_score - self.maturity = self.getTestConfigMaturity(self.metric_identifier + "-1") + self.maturity = self.getTestConfigMaturity(test_id) else: self.logger.warning(self.metric_identifier + " : Could not identify related resources in metadata") return test_status def testRelatedResourcesMachineReadable(self): + agnostic_test_name = "testRelatedResourcesMachineReadable" test_status = False - if self.isTestDefined(self.metric_identifier + "-2"): + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + # TODO implement + if test_id.startswith("FRSM"): + self.logger.warning( + f"{self.metric_identifier} : Test for machine-readable related resources is not implemented for FRSM." + ) + if test_defined: test_score = self.getTestConfigScore(self.metric_identifier + "-2") if self.fuji.related_resources: for relation in self.fuji.related_resources: diff --git a/fuji_server/evaluators/fair_evaluator_requirements.py b/fuji_server/evaluators/fair_evaluator_requirements.py new file mode 100644 index 00000000..afc46f21 --- /dev/null +++ b/fuji_server/evaluators/fair_evaluator_requirements.py @@ -0,0 +1,416 @@ +# SPDX-FileCopyrightText: 2020 PANGAEA (https://www.pangaea.de/) +# +# SPDX-License-Identifier: MIT + +import re + +from fuji_server.evaluators.fair_evaluator import FAIREvaluator +from fuji_server.models.requirements import Requirements +from fuji_server.models.requirements_output import RequirementsOutput + + +class FAIREvaluatorRequirements(FAIREvaluator): + """ + A class to evaluate whether the software describes what is required to use it (FRSM-13). A child class of FAIREvaluator. + ... + + Methods + ------ + evaluate() + This method will evaluate machine-readable information that helps support the understanding of how the software is to be used. + """ + + def __init__(self, fuji_instance): + FAIREvaluator.__init__(self, fuji_instance) + metric = "FRSM-13-R1" + self.set_metric(metric) + + # Create map from metric test names to class functions. This is necessary as functions may be reused for different metrics relating to licenses. + self.metric_test_map = { # overall map + "testInstructions": ["FRSM-13-R1-1"], + "testDependencies": ["FRSM-13-R1-2"], + "testDependenciesBuildAutomatedChecks": ["FRSM-13-R1-CESSDA-1"], + "testBadgeIncludedAutomatedDeploy": ["FRSM-13-R1-CESSDA-2"], + "testBuildBadgeStatus": ["FRSM-13-R1-CESSDA-3"], + } + + def nestedDataContainsKeyword(self, data, key): + """Recursively check whether text data in nested structures (such as list and dict) contains a keyword. + + Args: + data (list | dict): nested structure containing text data + key (str): keyword to look for + + Raises: + TypeError: argument data must be one of list or dict + + Returns: + bool: True if key found somewhere in nested structure. + """ + values = None + if isinstance(data, list): + values = data + elif isinstance(data, dict): + values = list(data.values()) + else: + raise TypeError( + f"Can only recursively scan lists and dictionaries, but received data of type {type(data)}." + ) + for d in values: + if isinstance(d, bytes): + d = d.decode("utf-8") + if isinstance(d, str): + if key in d.lower(): + return True + else: + try: + if self.nestedDataContainsKeyword(d, key): + return True + except TypeError: + self.logger.warning(f"{self.metric_identifier}: scan of nested data failed for type {type(d)}.") + return False + + def scanForKeywords(self, keywords, locations): + """Scan GitHub harvesting results for keywords. + + Args: + keywords (list): list of keywords to look for + locations (list): list of locations to scan, used as keys for GitHub harvesting results + + Returns: + dict: dictionary with keywords as keys and a boolean as value indicating whether the keyword was found in some location. + """ + hit_dict = {k: False for k in keywords} + keys_to_check = keywords + # check each location (if available) for keywords + for location in locations: + for k in keys_to_check: + content = self.fuji.github_data.get(location) + if content is not None: + if isinstance(content, bytes): + content = content.decode("utf-8") + if isinstance(content, str): + if k in content.lower(): + hit_dict[k] = True # found keyword in location + keys_to_check.remove(k) # stop looking, have found something for this key + else: + hit_dict[k] = self.nestedDataContainsKeyword(content, k) + return hit_dict + + def testInstructions(self): + """The software has build, installation and/or execution instructions. + + Returns: + bool: True if the test was defined and passed. False otherwise. + """ + agnostic_test_name = "testInstructions" + test_status = False + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + test_score = self.getTestConfigScore(test_id) + test_requirements = self.metric_tests[test_id].metric_test_requirements[0] + required_modality = test_requirements["modality"] + required_keywords = test_requirements["required"]["keywords"] + required_locations = test_requirements["required"]["location"] + self.logger.info( + f"{self.metric_identifier} : Looking for {required_modality} keywords {required_keywords} in {required_locations} ({test_id})." + ) + hit_dict = self.scanForKeywords(required_keywords, required_locations) + found_instructions = False + if required_modality == "all": + found_instructions = all(hit_dict.values()) + elif required_modality == "any": + found_instructions = any(hit_dict.values()) + else: + self.logger.warning( + f"{self.metric_identifier} : Unknown modality {required_modality} in test requirements ({test_id}). Choose 'all' or 'any'." + ) + if found_instructions: + test_status = True + self.logger.log( + self.fuji.LOG_SUCCESS, f"{self.metric_identifier} : Found required keywords ({test_id})." + ) + self.maturity = max(self.getTestConfigMaturity(test_id), self.maturity) + self.setEvaluationCriteriumScore(test_id, test_score, "pass") + self.score.earned += test_score + else: # does not pass + self.logger.warning( + f"{self.metric_identifier} : Did not find {required_modality} keywords {required_keywords} in {required_locations} ({test_id})." + ) + return test_status + + def testDependencies(self): + """Dependencies are provided in a machine-readable format and the building and installation of the software is automated. + + Returns: + bool: True if the test was defined and passed. False otherwise. + """ + agnostic_test_name = "testDependencies" + test_status = False + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + test_score = self.getTestConfigScore(test_id) + # Check for presence of machine-readable dependency files + dependency_requirements = self.metric_tests[test_id].metric_test_requirements[0] + assert ( + dependency_requirements["modality"] == "any" + ), f"Found requirement modality {dependency_requirements['modality']}, please choose 'any' instead. Any other modality is too strict for this test layout." + required_dependency_files = dependency_requirements["required"]["dependency_file"] + self.logger.info( + f"{self.metric_identifier} : Checking presence of any of {required_dependency_files} ({test_id})." + ) + dependency_present = not set(self.fuji.github_data.keys()).isdisjoint(required_dependency_files) + # Check for automated building and installation + automation_requirements = self.metric_tests[test_id].metric_test_requirements[1] + required_automation_locations = automation_requirements["required"]["automation_file"] + required_automation_keywords = automation_requirements["required"]["automation_keywords"] + self.logger.info( + f"{self.metric_identifier} : Looking for {automation_requirements['modality']} keywords {required_automation_keywords} in {required_automation_locations} ({test_id})." + ) + automation_hit_dict = self.scanForKeywords(required_automation_keywords, required_automation_locations) + found_automation = False + if automation_requirements["modality"] == "all": + found_automation = all(automation_hit_dict.values()) + elif automation_requirements["modality"] == "any": + found_automation = any(automation_hit_dict.values()) + else: + self.logger.warning( + f"{self.metric_identifier} : Unknown modality {automation_requirements['modality']} in test requirements ({test_id}). Choose 'all' or 'any'." + ) + if dependency_present and found_automation: # pass + test_status = True + self.logger.log( + self.fuji.LOG_SUCCESS, + f"{self.metric_identifier} : Found dependency and automation files ({test_id}).", + ) + self.maturity = max(self.getTestConfigMaturity(test_id), self.maturity) + self.setEvaluationCriteriumScore(test_id, test_score, "pass") + self.score.earned += test_score + else: # fail + if not dependency_present: + self.logger.warning( + f"{self.metric_identifier} : Did not find any of {required_dependency_files} ({test_id})." + ) + if not found_automation: + self.logger.warning( + f"{self.metric_identifier} : Did not find {automation_requirements['modality']} keywords {required_automation_keywords} in {required_automation_locations} ({test_id})." + ) + return test_status + + def testDependenciesBuildAutomatedChecks(self): + """Dependency information and build instructions are included in the README file. + Linting and other relevant checks are present in the automated build and test process (e.g. via the Jenkinsfile). + + Returns: + bool: True if the test was defined and passed. False otherwise. + """ + agnostic_test_name = "testDependenciesBuildAutomatedChecks" + test_status = False + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + test_score = self.getTestConfigScore(test_id) + instructions_requirements = self.metric_tests[test_id].metric_test_requirements[0] + required_instructions_locations = instructions_requirements["required"]["location"] + required_instructions_keywords = instructions_requirements["required"]["keywords"] + automation_requirements = self.metric_tests[test_id].metric_test_requirements[1] + required_automation_locations = automation_requirements["required"]["automation_file"] + required_automation_keywords = automation_requirements["required"]["automation_keywords"] + self.logger.info( + f"{self.metric_identifier} : Looking for {instructions_requirements['modality']} keywords {required_instructions_keywords} in {required_instructions_locations} ({test_id})." + ) + # dependency info and build instruction in README + instructions_hit_dict = self.scanForKeywords( + required_instructions_keywords, required_instructions_locations + ) + found_instructions = False + if instructions_requirements["modality"] == "all": + found_instructions = all(instructions_hit_dict.values()) + elif instructions_requirements["modality"] == "any": + found_instructions = any(instructions_hit_dict.values()) + else: + self.logger.warning( + f"{self.metric_identifier} : Unknown modality {instructions_requirements['modality']} in test requirements ({test_id}). Choose 'all' or 'any'." + ) + # linting and other relevant checks present in automated build and test process + self.logger.info( + f"{self.metric_identifier} : Looking for {automation_requirements['modality']} keywords {required_automation_keywords} in {required_automation_locations} ({test_id})." + ) + automation_hit_dict = self.scanForKeywords(required_automation_keywords, required_automation_locations) + found_automation = False + if automation_requirements["modality"] == "all": + found_automation = all(automation_hit_dict.values()) + elif automation_requirements["modality"] == "any": + found_automation = any(automation_hit_dict.values()) + else: + self.logger.warning( + f"{self.metric_identifier} : Unknown modality {automation_requirements['modality']} in test requirements ({test_id}). Choose 'all' or 'any'." + ) + if found_instructions and found_automation: # pass + test_status = True + self.logger.log( + self.fuji.LOG_SUCCESS, + f"{self.metric_identifier} : Found dependency, build and automation keywords ({test_id}).", + ) + self.maturity = max(self.getTestConfigMaturity(test_id), self.maturity) + self.setEvaluationCriteriumScore(test_id, test_score, "pass") + self.score.earned += test_score + else: # fail + if not found_instructions: + self.logger.warning( + f"{self.metric_identifier} : Did not find {instructions_requirements['modality']} keywords {required_instructions_keywords} in {required_instructions_locations} ({test_id})." + ) + if not found_automation: + self.logger.warning( + f"{self.metric_identifier} : Did not find {automation_requirements['modality']} keywords {required_automation_keywords} in {required_automation_locations} ({test_id})." + ) + return test_status + + def testBadgeIncludedAutomatedDeploy(self): + """The README file includes a badge that links to the automated build tool (Jenkins). + Deployment to development and staging environments is automated (conditional on test results). + + Returns: + bool: True if the test was defined and passed. False otherwise. + """ + agnostic_test_name = "testBadgeIncludedAutomatedDeploy" + test_status = False + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + test_score = self.getTestConfigScore(test_id) + badge_requirements = self.metric_tests[test_id].metric_test_requirements[0] + required_badge_link_keywords = badge_requirements["required"]["badge_link_keywords"] + automation_requirements = self.metric_tests[test_id].metric_test_requirements[1] + required_automation_locations = automation_requirements["required"]["automation_file"] + required_automation_keywords = automation_requirements["required"]["automation_keywords"] + # test for build badge linking to Jenkins + found_build_badge = False + badge_regex = r"\[!\[.*?\]\(.*?\)\]\((https?://[^)]+)\)" # finds badges with links + readme = self.fuji.github_data.get("README") + if readme is not None: + readme_raw = readme[0]["content"].decode("utf-8") + badge_matches = re.findall(badge_regex, readme_raw) + if len(badge_matches) > 0: + badge_hit_dict = {} + for badge_keyword in required_badge_link_keywords: + badge_hit_dict[badge_keyword] = self.nestedDataContainsKeyword(badge_matches, badge_keyword) + if badge_requirements["modality"] == "all": + found_build_badge = all(badge_hit_dict.values()) + elif badge_requirements["modality"] == "any": + found_build_badge = any(badge_hit_dict.values()) + else: + self.logger.warning( + f"{self.metric_identifier} : Unknown modality {badge_requirements['modality']} in test requirements ({test_id}). Choose 'all' or 'any'." + ) + # test for automated deployment + self.logger.info( + f"{self.metric_identifier} : Looking for {automation_requirements['modality']} keywords {required_automation_keywords} in {required_automation_locations} ({test_id})." + ) + automation_hit_dict = self.scanForKeywords(required_automation_keywords, required_automation_locations) + found_automation = False + if automation_requirements["modality"] == "all": + found_automation = all(automation_hit_dict.values()) + elif automation_requirements["modality"] == "any": + found_automation = any(automation_hit_dict.values()) + else: + self.logger.warning( + f"{self.metric_identifier} : Unknown modality {automation_requirements['modality']} in test requirements ({test_id}). Choose 'all' or 'any'." + ) + # combine + if found_build_badge and found_automation: + test_status = True + self.logger.log( + self.fuji.LOG_SUCCESS, + f"{self.metric_identifier} : Found build badge and automation keywords ({test_id}).", + ) + self.maturity = max(self.getTestConfigMaturity(test_id), self.maturity) + self.setEvaluationCriteriumScore(test_id, test_score, "pass") + self.score.earned += test_score + else: # fail + if not found_build_badge: + self.logger.warning(f"{self.metric_identifier} : Did not find build badge in README ({test_id}).") + if not found_automation: + self.logger.warning( + f"{self.metric_identifier} : Did not find {automation_requirements['modality']} keywords {required_automation_keywords} in {required_automation_locations} ({test_id})." + ) + return test_status + + def testBuildBadgeStatus(self): + """The build badge indicates the status of the latest build (passing or failing). + + Returns: + bool: True if the test was defined and passed. False otherwise. + """ + agnostic_test_name = "testBuildBadgeStatus" + test_status = False + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + test_score = self.getTestConfigScore(test_id) + # test for build badge linking to Jenkins result + # NOTE(km 28-2-24): stricter alternative requires the jenkins path to start with 'jenkins.' + # badge_regex = r"\[!\[.*?\]\((https?://jenkins\.[^)]+/buildStatus/icon\?.*?)\)\]\((https?://jenkins\.[^)]+/job/[^)]+)\)" + badge_regex = r"\[!\[.*?\]\((https?://[^)]+/buildStatus/icon\?.*?)\)\]\((https?://[^)]+/job/[^)]+)\)" + readme = self.fuji.github_data.get("README") + if readme is not None: + readme_raw = readme[0]["content"].decode("utf-8") + badge_matches = re.findall(badge_regex, readme_raw) + if len(badge_matches) > 0: + test_status = True + self.logger.log( + self.fuji.LOG_SUCCESS, + f"{self.metric_identifier} : Found build badge indicating build status ({test_id}).", + ) + self.maturity = max(self.getTestConfigMaturity(test_id), self.maturity) + self.setEvaluationCriteriumScore(test_id, test_score, "pass") + self.score.earned += test_score + else: + self.logger.warning( + f"{self.metric_identifier} : Did not find build badge indicating the build status in README ({test_id})." + ) + return test_status + + def evaluate(self): + if self.metric_identifier in self.metrics: + self.result = Requirements( + id=self.metric_number, metric_identifier=self.metric_identifier, metric_name=self.metric_name + ) + self.output = RequirementsOutput() + self.result.test_status = "fail" + if self.testInstructions(): + self.result.test_status = "pass" + if self.testDependencies(): + self.result.test_status = "pass" + if self.testDependenciesBuildAutomatedChecks(): + self.result.test_status = "pass" + if self.testBadgeIncludedAutomatedDeploy(): + self.result.test_status = "pass" + if self.testBuildBadgeStatus(): + self.result.test_status = "pass" + + if self.result.test_status == "fail": + self.score.earned = 0 + self.logger.warning(self.metric_identifier + " : Failed to check the software requirements.") + + self.result.score = self.score + self.result.metric_tests = self.metric_tests + self.result.output = self.output + self.result.maturity = self.maturity diff --git a/fuji_server/evaluators/fair_evaluator_software_component_identifier.py b/fuji_server/evaluators/fair_evaluator_software_component_identifier.py new file mode 100644 index 00000000..6a55dfa0 --- /dev/null +++ b/fuji_server/evaluators/fair_evaluator_software_component_identifier.py @@ -0,0 +1,167 @@ +# SPDX-FileCopyrightText: 2020 PANGAEA (https://www.pangaea.de/) +# +# SPDX-License-Identifier: MIT + +from fuji_server.evaluators.fair_evaluator import FAIREvaluator +from fuji_server.models.component_identifier import ComponentIdentifier +from fuji_server.models.component_identifier_output import ComponentIdentifierOutput + + +class FAIREvaluatorSoftwareComponentIdentifier(FAIREvaluator): + """ + A class to evaluate whether different components of the software have their own identifiers (FRSM-02). A child class of FAIREvaluator. + ... + + Methods + ------ + evaluate() + This method will evaluate whether the software is assigned to a unique and persistent identifier. + """ + + def __init__(self, fuji_instance): + FAIREvaluator.__init__(self, fuji_instance) + metric = "FRSM-02-F1.1" + self.set_metric(metric) + + # Create map from metric test names to class functions. This is necessary as functions may be reused for different metrics relating to licenses. + self.metric_test_map = { # overall map + "testDistinctIdentifiers": ["FRSM-02-F1.1-1"], + "testIdentifierMetadata": ["FRSM-02-F1.1-2"], + "testModule": ["FRSM-02-F1.1-3"], + "testSeparateRepositories": ["FRSM-02-F1.1-CESSDA-1"], + "testComponentZenodoDOI": ["FRSM-02-F1.1-CESSDA-2"], + "testZenodoTags": ["FRSM-02-F1.1-CESSDA-3"], + } + + def testDistinctIdentifiers(self): + """Where the 'software' consists of multiple distinct components, each component has a distinct identifier. + + Returns: + bool: True if the test was defined and passed. False otherwise. + """ + agnostic_test_name = "testDistinctIdentifiers" + test_status = False + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + self.logger.warning(f"{self.metric_identifier} : Test for distinct identifiers is not implemented.") + return test_status + + def testIdentifierMetadata(self): + """The relationship between components is embodied in the identifier metadata. + + Returns: + bool: True if the test was defined and passed. False otherwise. + """ + agnostic_test_name = "testIdentifierMetadata" + test_status = False + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + self.logger.warning(f"{self.metric_identifier} : Test for identifier metadata is not implemented.") + return test_status + + def testModule(self): + """Every component to granularity level GL3 (module) has its own unique identifier. + + Returns: + bool: True if the test was defined and passed. False otherwise. + """ + agnostic_test_name = "testModule" + test_status = False + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + self.logger.warning(f"{self.metric_identifier} : Test for GL3 (module) identifiers is not implemented.") + return test_status + + def testSeparateRepositories(self): + """A separate Git repository is used for the source code of each component (aka microservices). + The product deployment scripts assemble the constituent components. + + Returns: + bool: True if the test was defined and passed. False otherwise. + """ + agnostic_test_name = "testSeparateRepositories" + test_status = False + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + self.logger.warning(f"{self.metric_identifier} : Test for separate repositories is not implemented.") + return test_status + + def testComponentZenodoDOI(self): + """Each component is deposited in Zenodo with its own DOI. + + Returns: + bool: True if the test was defined and passed. False otherwise. + """ + agnostic_test_name = "testComponentZenodoDOI" + test_status = False + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + self.logger.warning(f"{self.metric_identifier} : Test for component DOI on Zenodo is not implemented.") + return test_status + + def testZenodoTags(self): + """The Zenodo record for each component is tagged with the product(s) that it contributes to. + + Returns: + bool: True if the test was defined and passed. False otherwise. + """ + agnostic_test_name = "testZenodoTags" + test_status = False + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + self.logger.warning( + f"{self.metric_identifier} : Test for Zenodo DOI tags of components is not implemented." + ) + return test_status + + def evaluate(self): + if self.metric_identifier in self.metrics: + self.result = ComponentIdentifier( + id=self.metric_number, metric_identifier=self.metric_identifier, metric_name=self.metric_name + ) + self.output = ComponentIdentifierOutput() + self.result.test_status = "fail" + if self.testDistinctIdentifiers(): + self.result.test_status = "pass" + if self.testIdentifierMetadata(): + self.result.test_status = "pass" + if self.testModule(): + self.result.test_status = "pass" + if self.testSeparateRepositories(): + self.result.test_status = "pass" + if self.testComponentZenodoDOI(): + self.result.test_status = "pass" + if self.testZenodoTags(): + self.result.test_status = "pass" + else: + self.result.test_status = "fail" + self.score.earned = 0 + self.logger.warning(self.metric_identifier + " : Failed to check the software component identifiers.") + self.result.score = self.score + self.result.metric_tests = self.metric_tests + self.result.output = self.output + self.result.maturity = self.maturity diff --git a/fuji_server/evaluators/fair_evaluator_standardised_protocol_data.py b/fuji_server/evaluators/fair_evaluator_standardised_protocol_data.py index 20806014..9384b465 100644 --- a/fuji_server/evaluators/fair_evaluator_standardised_protocol_data.py +++ b/fuji_server/evaluators/fair_evaluator_standardised_protocol_data.py @@ -24,13 +24,28 @@ class FAIREvaluatorStandardisedProtocolData(FAIREvaluator): def __init__(self, fuji_instance): FAIREvaluator.__init__(self, fuji_instance) - self.set_metric("FsF-A1-03D") + self.set_metric(["FsF-A1-03D", "FRSM-09-A1"]) self.data_output = {} + self.metric_test_map = { # overall map + "testStandardProtocolDataUsed": ["FsF-A1-03D-1", "FRSM-09-A1-1", "FRSM-09-A1-CESSDA-1"], + "testAuth": ["FRSM-09-A1-2", "FRSM-09-A1-CESSDA-2"], + "testPRs": ["FRSM-09-A1-CESSDA-3"], + } + def testStandardProtocolDataUsed(self): + agnostic_test_name = "testStandardProtocolDataUsed" test_status = False - if self.isTestDefined(self.metric_identifier + "-1"): - test_score = self.getTestConfigScore(self.metric_identifier + "-1") + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + # TODO implement + if test_id.startswith("FRSM"): + self.logger.warning(f"{self.metric_identifier} : Test for standard protocol is not implemented for FRSM.") + if test_defined: + test_score = self.getTestConfigScore(test_id) content_identifiers = self.fuji.content_identifier.values() if content_identifiers: if len(content_identifiers) > 0: @@ -48,8 +63,8 @@ def testStandardProtocolDataUsed(self): + data_url_scheme, ) self.data_output = {data_url_scheme: self.fuji.STANDARD_PROTOCOLS.get(data_url_scheme)} - self.setEvaluationCriteriumScore(self.metric_identifier + "-1", test_score, "pass") - self.maturity = self.getTestConfigMaturity(self.metric_identifier + "-1") + self.setEvaluationCriteriumScore(test_id, test_score, "pass") + self.maturity = self.getTestConfigMaturity(test_id) test_status = True self.score.earned = test_score break @@ -60,6 +75,43 @@ def testStandardProtocolDataUsed(self): ) return test_status + def testAuth(self): + """If authentication or authorisation are required, these are supported by the communication protocols and the repository / forge. + CESSDA: No authentication is required to view and/or clone CESSDA's public repositories, even so, their contents cannot be modified directly by 3rd parties. + + Returns: + bool: True if the test was defined and passed. False otherwise. + """ + agnostic_test_name = "testAuth" + test_status = False + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + self.logger.warning( + f"{self.metric_identifier} : Test for authentication and authorisation is not implemented." + ) + return test_status + + def testPRs(self): + """Pull requests are used to propose modifications to the contents. + + Returns: + bool: True if the test was defined and passed. False otherwise. + """ + agnostic_test_name = "testPRs" + test_status = False + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + self.logger.warning(f"{self.metric_identifier} : Test for usage of PRs is not implemented.") + return test_status + def evaluate(self): self.result = StandardisedProtocolData( id=self.metric_number, metric_identifier=self.metric_identifier, metric_name=self.metric_name diff --git a/fuji_server/evaluators/fair_evaluator_test_cases.py b/fuji_server/evaluators/fair_evaluator_test_cases.py new file mode 100644 index 00000000..5ad28614 --- /dev/null +++ b/fuji_server/evaluators/fair_evaluator_test_cases.py @@ -0,0 +1,175 @@ +# SPDX-FileCopyrightText: 2020 PANGAEA (https://www.pangaea.de/) +# +# SPDX-License-Identifier: MIT + +from fuji_server.evaluators.fair_evaluator import FAIREvaluator +from fuji_server.models.test_case import TestCase +from fuji_server.models.test_case_output import TestCaseOutput + + +class FAIREvaluatorTestCases(FAIREvaluator): + """ + A class to evaluate whether the software comes with test cases to demonstrate it is working (FRSM-14). A child class of FAIREvaluator. + ... + + Methods + ------ + evaluate() + This method will evaluate automated tests. + """ + + def __init__(self, fuji_instance): + FAIREvaluator.__init__(self, fuji_instance) + metric = "FRSM-14-R1" + self.set_metric(metric) + + # Create map from metric test names to class functions. This is necessary as functions may be reused for different metrics relating to licenses. + self.metric_test_map = { # overall map + "testPresence": ["FRSM-14-R1-1"], + "testUnitSystem": ["FRSM-14-R1-2"], + "testCoverage": ["FRSM-14-R1-3"], + "testBadges": ["FRSM-14-R1-CESSDA-1"], + "testProductionVerified": ["FRSM-14-R1-CESSDA-2"], + "testBadgeStatus": ["FRSM-14-R1-CESSDA-3"], + } + + def testPresence(self): + """Tests and data are provided to check that the software is operating as expected. + + Returns: + bool: True if the test was defined and passed. False otherwise. + """ + agnostic_test_name = "testPresence" + test_status = False + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + self.logger.warning( + f"{self.metric_identifier} : Test for presence of tests and test data is not implemented." + ) + return test_status + + def testUnitSystem(self): + """Automated unit and system tests are provided. + + Returns: + bool: True if the test was defined and passed. False otherwise. + """ + agnostic_test_name = "testUnitSystem" + test_status = False + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + self.logger.warning( + f"{self.metric_identifier} : Test for Automated unit and system tests is not implemented." + ) + return test_status + + def testCoverage(self): + """Code coverage / test coverage is reported. + + Returns: + bool: True if the test was defined and passed. False otherwise. + """ + agnostic_test_name = "testCoverage" + test_status = False + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + self.logger.warning(f"{self.metric_identifier} : Test for code coverage is not implemented.") + return test_status + + def testBadges(self): + """The README file includes badges that link to a comprehensive code quality assessment tool (SonarQube) + and automated build tool (Jenkins). + + Returns: + bool: True if the test was defined and passed. False otherwise. + """ + agnostic_test_name = "testBadges" + test_status = False + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + self.logger.warning(f"{self.metric_identifier} : Test for code quality badges is not implemented.") + return test_status + + def testProductionVerified(self): + """A production system has been tested and validated through successful use of the application. + Compliance with open or internationally recognised standards for the software and software development process + is evident and documented, and verified through testing of all components. + Ideally independent verification is documented through regular testing and certification from an independent group. + + Returns: + bool: True if the test was defined and passed. False otherwise. + """ + agnostic_test_name = "testProductionVerified" + test_status = False + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + self.logger.warning( + f"{self.metric_identifier} : Test for verified compliance of production system is not implemented." + ) + return test_status + + def testBadgeStatus(self): + """The README file badges indicate the status of the tests and other code quality metrics. + The repository contains a subdirectory containing code for the test cases that are run automatically. + + Returns: + bool: True if the test was defined and passed. False otherwise. + """ + agnostic_test_name = "testBadgeStatus" + test_status = False + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + self.logger.warning(f"{self.metric_identifier} : Test for badge status is not implemented.") + return test_status + + def evaluate(self): + if self.metric_identifier in self.metrics: + self.result = TestCase( + id=self.metric_number, metric_identifier=self.metric_identifier, metric_name=self.metric_name + ) + self.output = TestCaseOutput() + self.result.test_status = "fail" + if self.testPresence(): + self.result.test_status = "pass" + if self.testUnitSystem(): + self.result.test_status = "pass" + if self.testCoverage(): + self.result.test_status = "pass" + if self.testBadges(): + self.result.test_status = "pass" + if self.testProductionVerified(): + self.result.test_status = "pass" + if self.testBadgeStatus(): + self.result.test_status = "pass" + else: + self.result.test_status = "fail" + self.score.earned = 0 + self.logger.warning(self.metric_identifier + " : Failed to check the software version identifier.") + self.result.score = self.score + self.result.metric_tests = self.metric_tests + self.result.output = self.output + self.result.maturity = self.maturity diff --git a/fuji_server/evaluators/fair_evaluator_unique_persistent_identifier_software.py b/fuji_server/evaluators/fair_evaluator_unique_persistent_identifier_software.py new file mode 100644 index 00000000..1d74cfab --- /dev/null +++ b/fuji_server/evaluators/fair_evaluator_unique_persistent_identifier_software.py @@ -0,0 +1,167 @@ +# SPDX-FileCopyrightText: 2020 PANGAEA (https://www.pangaea.de/) +# +# SPDX-License-Identifier: MIT + +from fuji_server.evaluators.fair_evaluator import FAIREvaluator +from fuji_server.models.unique_persistent_identifier_software import UniquePersistentIdentifierSoftware +from fuji_server.models.unique_persistent_identifier_software_output import UniquePersistentIdentifierSoftwareOutput + + +# TODO: might be able to mix and match with unique and persistent Data/Metadata checks? +class FAIREvaluatorUniquePersistentIdentifierSoftware(FAIREvaluator): + """ + A class to evaluate the globally unique and persistent identifier of the software (FRSM-01). A child class of FAIREvaluator. + ... + + Methods + ------ + evaluate() + This method will evaluate whether the software is assigned to a unique and persistent identifier. + """ + + def __init__(self, fuji_instance): + FAIREvaluator.__init__(self, fuji_instance) + metric = "FRSM-01-F1" + self.set_metric(metric) + + # Create map from metric test names to class functions. This is necessary as functions may be reused for different metrics relating to licenses. + self.metric_test_map = { # overall map + "testUniqueIdentifier": ["FRSM-01-F1-1"], + "testIdentifierScheme": ["FRSM-01-F1-2"], + "testSchemeCommonlyUsed": ["FRSM-01-F1-3"], + "testDOIInReadme": ["FRSM-01-F1-CESSDA-1"], + "testReleasesSemanticVersioning": ["FRSM-01-F1-CESSDA-2"], + "testReleasesDOI": ["FRSM-01-F1-CESSDA-3"], + } + + def testUniqueIdentifier(self): + """The software has a human and machine-readable unique identifier that is resolvable to a machine-readable landing page and follows a defined unique identifier syntax. + + Returns: + bool: True if the test was defined and passed. False otherwise. + """ + agnostic_test_name = "testUniqueIdentifier" + test_status = False + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + self.logger.warning(f"{self.metric_identifier} : Test for unique identifier is not implemented.") + return test_status + + def testIdentifierScheme(self): + """The identifier uses an identifier scheme that guarantees globally uniqueness and persistence. + + Returns: + bool: True if the test was defined and passed. False otherwise. + """ + agnostic_test_name = "testIdentifierScheme" + test_status = False + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + self.logger.warning(f"{self.metric_identifier} : Test for identifier scheme is not implemented.") + return test_status + + def testSchemeCommonlyUsed(self): + """The identifier scheme is commonly used in the domain. + + Returns: + bool: True if the test was defined and passed. False otherwise. + """ + agnostic_test_name = "testSchemeCommonlyUsed" + test_status = False + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + self.logger.warning( + f"{self.metric_identifier} : Test for domain use of identifier scheme is not implemented." + ) + return test_status + + def testDOIInReadme(self): + """A version-dependent DOI must be added in the repository's README as the recommended citation. + + Returns: + bool: True if the test was defined and passed. False otherwise. + """ + agnostic_test_name = "testDOIInReadme" + test_status = False + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + self.logger.warning(f"{self.metric_identifier} : Test for presence of DOI in README is not implemented.") + return test_status + + def testReleasesSemanticVersioning(self): + """Releases use the Semantic Versioning 2.0.0 notation. + + Returns: + bool: True if the test was defined and passed. False otherwise. + """ + agnostic_test_name = "testReleasesSemanticVersioning" + test_status = False + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + self.logger.warning(f"{self.metric_identifier} : Test for release notation is not implemented.") + return test_status + + def testReleasesDOI(self): + """Only Major and Minor releases are assigned DOIs. + + Returns: + bool: True if the test was defined and passed. False otherwise. + """ + agnostic_test_name = "testReleasesDOI" + test_status = False + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + self.logger.warning(f"{self.metric_identifier} : Test for DOIs of releases is not implemented.") + return test_status + + def evaluate(self): + if self.metric_identifier in self.metrics: + self.result = UniquePersistentIdentifierSoftware( + id=self.metric_number, metric_identifier=self.metric_identifier, metric_name=self.metric_name + ) + self.output = UniquePersistentIdentifierSoftwareOutput() + self.result.test_status = "fail" + if self.testUniqueIdentifier(): + self.result.test_status = "pass" + if self.testIdentifierScheme(): + self.result.test_status = "pass" + if self.testSchemeCommonlyUsed(): + self.result.test_status = "pass" + if self.testDOIInReadme(): + self.result.test_status = "pass" + if self.testReleasesSemanticVersioning(): + self.result.test_status = "pass" + if self.testReleasesDOI(): + self.result.test_status = "pass" + else: + self.result.test_status = "fail" + self.score.earned = 0 + self.logger.warning(self.metric_identifier + " : Failed to check the software identifier.") + self.result.score = self.score + self.result.metric_tests = self.metric_tests + self.result.output = self.output + self.result.maturity = self.maturity diff --git a/fuji_server/evaluators/fair_evaluator_version_identifier.py b/fuji_server/evaluators/fair_evaluator_version_identifier.py new file mode 100644 index 00000000..7c217093 --- /dev/null +++ b/fuji_server/evaluators/fair_evaluator_version_identifier.py @@ -0,0 +1,171 @@ +# SPDX-FileCopyrightText: 2020 PANGAEA (https://www.pangaea.de/) +# +# SPDX-License-Identifier: MIT + +from fuji_server.evaluators.fair_evaluator import FAIREvaluator +from fuji_server.models.version_identifier import VersionIdentifier +from fuji_server.models.version_identifier_output import VersionIdentifierOutput + + +class FAIREvaluatorVersionIdentifier(FAIREvaluator): + """ + A class to evaluate whether each version of the software has a unique identifier (FRSM-03). A child class of FAIREvaluator. + ... + + Methods + ------ + evaluate() + This method will evaluate whether each software identifier resolves to a different version and examine identifier metadata. + """ + + def __init__(self, fuji_instance): + FAIREvaluator.__init__(self, fuji_instance) + metric = "FRSM-03-F1.2" + self.set_metric(metric) + + # Create map from metric test names to class functions. This is necessary as functions may be reused for different metrics relating to licenses. + self.metric_test_map = { # overall map + "testDistinctIdentifiers": ["FRSM-03-F1.2-1"], + "testIdentifierMetadata": ["FRSM-03-F1.2-2"], + "testVersionNumber": ["FRSM-03-F1.2-3"], + "testZenodoPublication": ["FRSM-03-F1.2-CESSDA-1"], + "testReleaseChecklistDocker": ["FRSM-03-F1.2-CESSDA-2"], + "testReservedDOI": ["FRSM-03-F1.2-CESSDA-3"], + } + + def testDistinctIdentifiers(self): + """Each version of the software has a different identifier. + + Returns: + bool: True if the test was defined and passed. False otherwise. + """ + agnostic_test_name = "testDistinctIdentifiers" + test_status = False + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + self.logger.warning(f"{self.metric_identifier} : Test for distinct identifiers is not implemented.") + return test_status + + def testIdentifierMetadata(self): + """Relations between the versions are included in the identifier metadata. + + Returns: + bool: True if the test was defined and passed. False otherwise. + """ + agnostic_test_name = "testIdentifierMetadata" + test_status = False + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + self.logger.warning(f"{self.metric_identifier} : Test for identifier metadata is not implemented.") + return test_status + + def testVersionNumber(self): + """The version number is included in the identifier metadata. + + Returns: + bool: True if the test was defined and passed. False otherwise. + """ + agnostic_test_name = "testVersionNumber" + test_status = False + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + self.logger.warning(f"{self.metric_identifier} : Test for version number in identifier is not implemented.") + return test_status + + def testZenodoPublication(self): + """Each release is published to Zenodo and a DOI obtained. + A publication consists of a release tarball matching the release tag in the repository. + Release tags exist and adhere to SemVer 2.0.0. + The README and CHANGELOG must be up to date prior to release and they must be added to the + Zenodo record in addition to the tarball. + + Returns: + bool: True if the test was defined and passed. False otherwise. + """ + agnostic_test_name = "testZenodoPublication" + test_status = False + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + self.logger.warning(f"{self.metric_identifier} : Test for Zenodo publication is not implemented.") + return test_status + + def testReleaseChecklistDocker(self): + """A release checklist is used to ensure that all necessary steps are taken for each release. + Releases must be available as Docker images with the release version as tag. + + Returns: + bool: True if the test was defined and passed. False otherwise. + """ + agnostic_test_name = "testReleaseChecklistDocker" + test_status = False + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + self.logger.warning( + f"{self.metric_identifier} : Test for release checklist and Docker image is not implemented." + ) + return test_status + + def testReservedDOI(self): + """Reserve the DOI in Zenodo, prior to release, to avoid a circularity problem with the CHANGELOG and the tarball. + + Returns: + bool: True if the test was defined and passed. False otherwise. + """ + agnostic_test_name = "testReservedDOI" + test_status = False + test_defined = False + for test_id in self.metric_test_map[agnostic_test_name]: + if self.isTestDefined(test_id): + test_defined = True + break + if test_defined: + self.logger.warning(f"{self.metric_identifier} : Test for reserved DOIs is not implemented.") + return test_status + + def evaluate(self): + if self.metric_identifier in self.metrics: + self.result = VersionIdentifier( + id=self.metric_number, metric_identifier=self.metric_identifier, metric_name=self.metric_name + ) + self.output = VersionIdentifierOutput() + self.result.test_status = "fail" + if self.testDistinctIdentifiers(): + self.result.test_status = "pass" + if self.testIdentifierMetadata(): + self.result.test_status = "pass" + if self.testVersionNumber(): + self.result.test_status = "pass" + if self.testZenodoPublication(): + self.result.test_status = "pass" + if self.testReleaseChecklistDocker(): + self.result.test_status = "pass" + if self.testReservedDOI(): + self.result.test_status = "pass" + else: + self.result.test_status = "fail" + self.score.earned = 0 + self.logger.warning(self.metric_identifier + " : Failed to check the software version identifier.") + self.result.score = self.score + self.result.metric_tests = self.metric_tests + self.result.output = self.output + self.result.maturity = self.maturity diff --git a/fuji_server/harvester/github_harvester.py b/fuji_server/harvester/github_harvester.py index 63153b33..80ed3e16 100644 --- a/fuji_server/harvester/github_harvester.py +++ b/fuji_server/harvester/github_harvester.py @@ -2,7 +2,10 @@ # # SPDX-License-Identifier: MIT +import json import os +import re +import time from configparser import ConfigParser from github import Auth, Github @@ -10,65 +13,106 @@ class GithubHarvester: - def __init__(self, id, host="https://github.com"): + def __init__(self, id, logger, host="https://github.com", verbose=True): # Read Github API access token from config file. config = ConfigParser() config.read(os.path.join(os.path.abspath(os.path.dirname(__file__)), "../config/github.ini")) - token = config["ACCESS"]["token"] - if token != "": + self.logger = logger + self.id = id + self.host = host + self.verbose = verbose + self.authenticate(config) + self.data = {} # dictionary with all info + fuji_server_dir = os.path.dirname(os.path.dirname(__file__)) # project_root + software_file_path = os.path.join(fuji_server_dir, "data", "software_file.json") + with open(software_file_path) as f: + self.files_map = json.load(f) + + def authenticate(self, config): + """Runs every time a new harvesting request comes in, as the harvester is re-initialised every time. Picks a token (if available) and initialises the pyGithub handle. + + Args: + config (dict): parsed configuration dictionary + """ + token_file = config["ACCESS"]["token_file"] + token_to_use = None + if token_file != "": + with open(token_file) as f: + token_list = f.read().splitlines() + # find a token with enough remaining requests, or the one with most remaining if none available + fallback_max_token = None + fallback_max_rate_limit = 0 + for token in token_list: + try: + rate_limit = Github(auth=Auth.Token(token)).get_rate_limit() + if rate_limit.core.remaining >= 1000 and rate_limit.search.remaining >= 2: + token_to_use = token + break + elif rate_limit.core.remaining > fallback_max_rate_limit: + fallback_max_rate_limit = rate_limit.core.remaining + fallback_max_token = token + except: # ignore expired or invalid tokens + pass + if token_to_use is None: + token_to_use = fallback_max_token + else: + token = config["ACCESS"]["token"] + if token != "": + token_to_use = token + if token_to_use is not None: # found a token, one way or another auth = Auth.Token(token) + if self.verbose: + rate_limit = Github(auth=Auth.Token(token)).get_rate_limit() + print( + f"Authenticate using GitHub token ending on '{token[-4:]}'.\n Remaining core requests: {rate_limit.core.remaining}\n Remaining search requests: {rate_limit.search.remaining}" + ) else: # empty token, so no authentication possible (rate limit will be much lower) auth = None - print("Running in unauthenticated mode. Capabilities are limited.") # TODO: this should be a log message - self.id = id - self.host = host - if host != "https://github.com": + self.logger.warning( + "FRSM-09-A1 : Running in unauthenticated mode. Capabilities are limited." + ) # TODO: would be better if it were a general warning! + if self.host != "https://github.com": base_url = f"{self.host}/api/v3" self.handle = Github(auth=auth, base_url=base_url) else: self.handle = Github(auth=auth) - self.data = {} # dictionary with all info def harvest(self): + tic = time.perf_counter() # check if it's a URL or repo ID # NOTE: this should probably be handled by IdentifierHelper, but I don't understand that module yet. if self.id.count("/") > 1: # URL - self.url = self.id _, self.username, self.repo_name = self.id.rsplit("/", 2) else: # repo ID self.username, self.repo_name = self.id.split("/") - self.url = "/".join([self.endpoint, self.username, self.repo_name]) self.repo_id = "/".join([self.username, self.repo_name]) # access repo via GitHub API try: repo = self.handle.get_repo(self.repo_id) except UnknownObjectException: - print("Could not find repo.") # TODO: this should be a log message + print("Could not find repo.") + self.logger.warning( + "FRSM-09-A1 : Could not find repository on GitHub." + ) # TODO: would be better if it were a general warning! return # harvesting - try: # LICENSE - license_file = repo.get_license() - self.data["license_path"] = license_file.path - self.data["license"] = license_file.license.name + try: # LICENSE in metadata + license_metadata = repo.get_license() + self.data["license_path"] = license_metadata.path + self.data["license"] = license_metadata.license.name except UnknownObjectException: pass - try: # Maven POM - mvn_pom_file = repo.get_contents("pom.xml") - self.data["mvn_pom"] = mvn_pom_file.decoded_content - except UnknownObjectException: - pass - - # identify source code + # identify source code (sample files in the main language used in the repo) repo_languages = repo.get_languages() if repo_languages != {}: self.data["languages"] = repo_languages main_source_code_language = repo.language if main_source_code_language is not None: self.data["main_language"] = main_source_code_language - query = f" repo:{self.repo_id} language:{main_source_code_language}" # needs the space in front as every query needs a string to match on + query = f' repo:{self.repo_id} language:"{main_source_code_language}"' # needs the space in front as every query needs a string to match on source_code_files = self.handle.search_code(query) # extract code of up to n=5 files n = min(5, source_code_files.totalCount) @@ -83,3 +127,38 @@ def harvest(self): ) if len(source_code_samples) > 0: self.data["source_code_samples"] = source_code_samples + + self.retrieve_all(repo) + toc = time.perf_counter() + if self.verbose: + print(f"Harvesting took {toc - tic:.4f} seconds.") + + def retrieve_all(self, repo): + file_pattern = r"|".join([rf"(?P<{k}>{'|'.join(v['pattern'])})" for k, v in self.files_map.items()]) + repo_contents = repo.get_contents("") + while repo_contents: + content_file = repo_contents.pop(0) + if content_file.type == "dir": + repo_contents.extend(repo.get_contents(content_file.path)) + else: + m = re.fullmatch(file_pattern, content_file.path) + if m is not None and any(m.groupdict().values()): + for k, v in m.groupdict().items(): + if v is not None: + if self.files_map[k]["parse"] == "full": + file_entry = { + "name": content_file.name, + "path": content_file.path, + "content": content_file.decoded_content, + } + elif self.files_map[k]["parse"] == "file_name": + file_entry = {"name": content_file.name, "path": content_file.path} + else: + self.logger.warning( + f"FRSM-09-A1 : Parsing strategy {self.files_map[k]['parse']} is currently not implemented. Choose one of 'full' or 'file_name' for files {k}. Defaulting to parsing strategy 'file_name'." + ) + file_entry = {"name": content_file.name, "path": content_file.path} + try: + self.data[k].append(file_entry) + except KeyError: + self.data[k] = [file_entry] diff --git a/fuji_server/models/api.py b/fuji_server/models/api.py new file mode 100755 index 00000000..e160421e --- /dev/null +++ b/fuji_server/models/api.py @@ -0,0 +1,299 @@ +# SPDX-FileCopyrightText: 2020 PANGAEA (https://www.pangaea.de/) +# +# SPDX-License-Identifier: MIT + +# coding: utf-8 + +from datetime import date, datetime # noqa: F401 + +from fuji_server import util +from fuji_server.models.api_output import APIOutput +from fuji_server.models.base_model_ import Model +from fuji_server.models.debug import Debug +from fuji_server.models.fair_result_common import FAIRResultCommon # noqa: F401 +from fuji_server.models.fair_result_common_score import FAIRResultCommonScore +from fuji_server.models.fair_result_evaluation_criterium import FAIRResultEvaluationCriterium + + +class API(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + + def __init__( + self, + id: int | None = None, + metric_identifier: str | None = None, + metric_name: str | None = None, + metric_tests: dict[str, FAIRResultEvaluationCriterium] | None = None, + test_status: str = "fail", + score: FAIRResultCommonScore = None, + maturity: int = 0, + output: APIOutput = None, + test_debug: Debug = None, + ): + """API - a model defined in Swagger + + :param id: The id of this API. # noqa: E501 + :type id: int + :param metric_identifier: The metric_identifier of this API. # noqa: E501 + :type metric_identifier: str + :param metric_name: The metric_name of this API. # noqa: E501 + :type metric_name: str + :param metric_tests: The metric_tests of this API. # noqa: E501 + :type metric_tests: Dict[str, FAIRResultEvaluationCriterium] + :param test_status: The test_status of this API. # noqa: E501 + :type test_status: str + :param score: The score of this API. # noqa: E501 + :type score: FAIRResultCommonScore + :param maturity: The maturity of this API. # noqa: E501 + :type maturity: int + :param output: The output of this API. # noqa: E501 + :type output: APIOutput + :param test_debug: The test_debug of this API. # noqa: E501 + :type test_debug: Debug + """ + self.swagger_types = { + "id": int, + "metric_identifier": str, + "metric_name": str, + "metric_tests": dict[str, FAIRResultEvaluationCriterium], + "test_status": str, + "score": FAIRResultCommonScore, + "maturity": int, + "output": APIOutput, + "test_debug": Debug, + } + + self.attribute_map = { + "id": "id", + "metric_identifier": "metric_identifier", + "metric_name": "metric_name", + "metric_tests": "metric_tests", + "test_status": "test_status", + "score": "score", + "maturity": "maturity", + "output": "output", + "test_debug": "test_debug", + } + self._id = id + self._metric_identifier = metric_identifier + self._metric_name = metric_name + self._metric_tests = metric_tests + self._test_status = test_status + self._score = score + self._maturity = maturity + self._output = output + self._test_debug = test_debug + + @classmethod + def from_dict(cls, dikt) -> "API": + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The API of this API. # noqa: E501 + :rtype: API + """ + return util.deserialize_model(dikt, cls) + + @property + def id(self) -> int: + """Gets the id of this API. + + + :return: The id of this API. + :rtype: int + """ + return self._id + + @id.setter + def id(self, id: int): + """Sets the id of this API. + + + :param id: The id of this API. + :type id: int + """ + if id is None: + raise ValueError("Invalid value for `id`, must not be `None`") + + self._id = id + + @property + def metric_identifier(self) -> str: + """Gets the metric_identifier of this API. + + + :return: The metric_identifier of this API. + :rtype: str + """ + return self._metric_identifier + + @metric_identifier.setter + def metric_identifier(self, metric_identifier: str): + """Sets the metric_identifier of this API. + + + :param metric_identifier: The metric_identifier of this API. + :type metric_identifier: str + """ + if metric_identifier is None: + raise ValueError("Invalid value for `metric_identifier`, must not be `None`") + + self._metric_identifier = metric_identifier + + @property + def metric_name(self) -> str: + """Gets the metric_name of this API. + + + :return: The metric_name of this API. + :rtype: str + """ + return self._metric_name + + @metric_name.setter + def metric_name(self, metric_name: str): + """Sets the metric_name of this API. + + + :param metric_name: The metric_name of this API. + :type metric_name: str + """ + if metric_name is None: + raise ValueError("Invalid value for `metric_name`, must not be `None`") + + self._metric_name = metric_name + + @property + def metric_tests(self) -> dict[str, FAIRResultEvaluationCriterium]: + """Gets the metric_tests of this API. + + + :return: The metric_tests of this API. + :rtype: Dict[str, FAIRResultEvaluationCriterium] + """ + return self._metric_tests + + @metric_tests.setter + def metric_tests(self, metric_tests: dict[str, FAIRResultEvaluationCriterium]): + """Sets the metric_tests of this API. + + + :param metric_tests: The metric_tests of this API. + :type metric_tests: Dict[str, FAIRResultEvaluationCriterium] + """ + + self._metric_tests = metric_tests + + @property + def test_status(self) -> str: + """Gets the test_status of this API. + + + :return: The test_status of this API. + :rtype: str + """ + return self._test_status + + @test_status.setter + def test_status(self, test_status: str): + """Sets the test_status of this API. + + + :param test_status: The test_status of this API. + :type test_status: str + """ + allowed_values = ["pass", "fail", "indeterminate"] + if test_status not in allowed_values: + raise ValueError(f"Invalid value for `test_status` ({test_status}), must be one of {allowed_values}") + + self._test_status = test_status + + @property + def score(self) -> FAIRResultCommonScore: + """Gets the score of this API. + + + :return: The score of this API. + :rtype: FAIRResultCommonScore + """ + return self._score + + @score.setter + def score(self, score: FAIRResultCommonScore): + """Sets the score of this API. + + + :param score: The score of this API. + :type score: FAIRResultCommonScore + """ + if score is None: + raise ValueError("Invalid value for `score`, must not be `None`") + + self._score = score + + @property + def maturity(self) -> int: + """Gets the maturity of this API. + + + :return: The maturity of this API. + :rtype: int + """ + return self._maturity + + @maturity.setter + def maturity(self, maturity: int): + """Sets the maturity of this API. + + + :param maturity: The maturity of this API. + :type maturity: int + """ + + self._maturity = maturity + + @property + def output(self) -> APIOutput: + """Gets the output of this API. + + + :return: The output of this API. + :rtype: APIOutput + """ + return self._output + + @output.setter + def output(self, output: APIOutput): + """Sets the output of this API. + + + :param output: The output of this API. + :type output: APIOutput + """ + + self._output = output + + @property + def test_debug(self) -> Debug: + """Gets the test_debug of this API. + + + :return: The test_debug of this API. + :rtype: Debug + """ + return self._test_debug + + @test_debug.setter + def test_debug(self, test_debug: Debug): + """Sets the test_debug of this API. + + + :param test_debug: The test_debug of this API. + :type test_debug: Debug + """ + + self._test_debug = test_debug diff --git a/fuji_server/models/api_output.py b/fuji_server/models/api_output.py new file mode 100755 index 00000000..e77ee87f --- /dev/null +++ b/fuji_server/models/api_output.py @@ -0,0 +1,34 @@ +# SPDX-FileCopyrightText: 2020 PANGAEA (https://www.pangaea.de/) +# +# SPDX-License-Identifier: MIT + +# coding: utf-8 + +from datetime import date, datetime # noqa: F401 + +from fuji_server import util +from fuji_server.models.base_model_ import Model + + +class APIOutput(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + + def __init__(self): + """APIOutput - a model defined in Swagger""" + self.swagger_types = {} + + self.attribute_map = {} + + @classmethod + def from_dict(cls, dikt) -> "APIOutput": + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The API_output of this APIOutput. # noqa: E501 + :rtype: APIOutput + """ + return util.deserialize_model(dikt, cls) diff --git a/fuji_server/models/code_provenance.py b/fuji_server/models/code_provenance.py new file mode 100755 index 00000000..8404781e --- /dev/null +++ b/fuji_server/models/code_provenance.py @@ -0,0 +1,299 @@ +# SPDX-FileCopyrightText: 2020 PANGAEA (https://www.pangaea.de/) +# +# SPDX-License-Identifier: MIT + +# coding: utf-8 + +from datetime import date, datetime # noqa: F401 + +from fuji_server import util +from fuji_server.models.base_model_ import Model +from fuji_server.models.code_provenance_output import CodeProvenanceOutput +from fuji_server.models.debug import Debug +from fuji_server.models.fair_result_common import FAIRResultCommon # noqa: F401 +from fuji_server.models.fair_result_common_score import FAIRResultCommonScore +from fuji_server.models.fair_result_evaluation_criterium import FAIRResultEvaluationCriterium + + +class CodeProvenance(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + + def __init__( + self, + id: int | None = None, + metric_identifier: str | None = None, + metric_name: str | None = None, + metric_tests: dict[str, FAIRResultEvaluationCriterium] | None = None, + test_status: str = "fail", + score: FAIRResultCommonScore = None, + maturity: int = 0, + output: CodeProvenanceOutput = None, + test_debug: Debug = None, + ): + """CodeProvenance - a model defined in Swagger + + :param id: The id of this CodeProvenance. # noqa: E501 + :type id: int + :param metric_identifier: The metric_identifier of this CodeProvenance. # noqa: E501 + :type metric_identifier: str + :param metric_name: The metric_name of this CodeProvenance. # noqa: E501 + :type metric_name: str + :param metric_tests: The metric_tests of this CodeProvenance. # noqa: E501 + :type metric_tests: Dict[str, FAIRResultEvaluationCriterium] + :param test_status: The test_status of this CodeProvenance. # noqa: E501 + :type test_status: str + :param score: The score of this CodeProvenance. # noqa: E501 + :type score: FAIRResultCommonScore + :param maturity: The maturity of this CodeProvenance. # noqa: E501 + :type maturity: int + :param output: The output of this CodeProvenance. # noqa: E501 + :type output: CodeProvenanceOutput + :param test_debug: The test_debug of this CodeProvenance. # noqa: E501 + :type test_debug: Debug + """ + self.swagger_types = { + "id": int, + "metric_identifier": str, + "metric_name": str, + "metric_tests": dict[str, FAIRResultEvaluationCriterium], + "test_status": str, + "score": FAIRResultCommonScore, + "maturity": int, + "output": CodeProvenanceOutput, + "test_debug": Debug, + } + + self.attribute_map = { + "id": "id", + "metric_identifier": "metric_identifier", + "metric_name": "metric_name", + "metric_tests": "metric_tests", + "test_status": "test_status", + "score": "score", + "maturity": "maturity", + "output": "output", + "test_debug": "test_debug", + } + self._id = id + self._metric_identifier = metric_identifier + self._metric_name = metric_name + self._metric_tests = metric_tests + self._test_status = test_status + self._score = score + self._maturity = maturity + self._output = output + self._test_debug = test_debug + + @classmethod + def from_dict(cls, dikt) -> "CodeProvenance": + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The CodeProvenance of this CodeProvenance. # noqa: E501 + :rtype: CodeProvenance + """ + return util.deserialize_model(dikt, cls) + + @property + def id(self) -> int: + """Gets the id of this CodeProvenance. + + + :return: The id of this CodeProvenance. + :rtype: int + """ + return self._id + + @id.setter + def id(self, id: int): + """Sets the id of this CodeProvenance. + + + :param id: The id of this CodeProvenance. + :type id: int + """ + if id is None: + raise ValueError("Invalid value for `id`, must not be `None`") + + self._id = id + + @property + def metric_identifier(self) -> str: + """Gets the metric_identifier of this CodeProvenance. + + + :return: The metric_identifier of this CodeProvenance. + :rtype: str + """ + return self._metric_identifier + + @metric_identifier.setter + def metric_identifier(self, metric_identifier: str): + """Sets the metric_identifier of this CodeProvenance. + + + :param metric_identifier: The metric_identifier of this CodeProvenance. + :type metric_identifier: str + """ + if metric_identifier is None: + raise ValueError("Invalid value for `metric_identifier`, must not be `None`") + + self._metric_identifier = metric_identifier + + @property + def metric_name(self) -> str: + """Gets the metric_name of this CodeProvenance. + + + :return: The metric_name of this CodeProvenance. + :rtype: str + """ + return self._metric_name + + @metric_name.setter + def metric_name(self, metric_name: str): + """Sets the metric_name of this CodeProvenance. + + + :param metric_name: The metric_name of this CodeProvenance. + :type metric_name: str + """ + if metric_name is None: + raise ValueError("Invalid value for `metric_name`, must not be `None`") + + self._metric_name = metric_name + + @property + def metric_tests(self) -> dict[str, FAIRResultEvaluationCriterium]: + """Gets the metric_tests of this CodeProvenance. + + + :return: The metric_tests of this CodeProvenance. + :rtype: Dict[str, FAIRResultEvaluationCriterium] + """ + return self._metric_tests + + @metric_tests.setter + def metric_tests(self, metric_tests: dict[str, FAIRResultEvaluationCriterium]): + """Sets the metric_tests of this CodeProvenance. + + + :param metric_tests: The metric_tests of this CodeProvenance. + :type metric_tests: Dict[str, FAIRResultEvaluationCriterium] + """ + + self._metric_tests = metric_tests + + @property + def test_status(self) -> str: + """Gets the test_status of this CodeProvenance. + + + :return: The test_status of this CodeProvenance. + :rtype: str + """ + return self._test_status + + @test_status.setter + def test_status(self, test_status: str): + """Sets the test_status of this CodeProvenance. + + + :param test_status: The test_status of this CodeProvenance. + :type test_status: str + """ + allowed_values = ["pass", "fail", "indeterminate"] + if test_status not in allowed_values: + raise ValueError(f"Invalid value for `test_status` ({test_status}), must be one of {allowed_values}") + + self._test_status = test_status + + @property + def score(self) -> FAIRResultCommonScore: + """Gets the score of this CodeProvenance. + + + :return: The score of this CodeProvenance. + :rtype: FAIRResultCommonScore + """ + return self._score + + @score.setter + def score(self, score: FAIRResultCommonScore): + """Sets the score of this CodeProvenance. + + + :param score: The score of this CodeProvenance. + :type score: FAIRResultCommonScore + """ + if score is None: + raise ValueError("Invalid value for `score`, must not be `None`") + + self._score = score + + @property + def maturity(self) -> int: + """Gets the maturity of this CodeProvenance. + + + :return: The maturity of this CodeProvenance. + :rtype: int + """ + return self._maturity + + @maturity.setter + def maturity(self, maturity: int): + """Sets the maturity of this CodeProvenance. + + + :param maturity: The maturity of this CodeProvenance. + :type maturity: int + """ + + self._maturity = maturity + + @property + def output(self) -> CodeProvenanceOutput: + """Gets the output of this CodeProvenance. + + + :return: The output of this CodeProvenance. + :rtype: CodeProvenanceOutput + """ + return self._output + + @output.setter + def output(self, output: CodeProvenanceOutput): + """Sets the output of this CodeProvenance. + + + :param output: The output of this CodeProvenance. + :type output: CodeProvenanceOutput + """ + + self._output = output + + @property + def test_debug(self) -> Debug: + """Gets the test_debug of this CodeProvenance. + + + :return: The test_debug of this CodeProvenance. + :rtype: Debug + """ + return self._test_debug + + @test_debug.setter + def test_debug(self, test_debug: Debug): + """Sets the test_debug of this CodeProvenance. + + + :param test_debug: The test_debug of this CodeProvenance. + :type test_debug: Debug + """ + + self._test_debug = test_debug diff --git a/fuji_server/models/code_provenance_output.py b/fuji_server/models/code_provenance_output.py new file mode 100755 index 00000000..9a6ff621 --- /dev/null +++ b/fuji_server/models/code_provenance_output.py @@ -0,0 +1,34 @@ +# SPDX-FileCopyrightText: 2020 PANGAEA (https://www.pangaea.de/) +# +# SPDX-License-Identifier: MIT + +# coding: utf-8 + +from datetime import date, datetime # noqa: F401 + +from fuji_server import util +from fuji_server.models.base_model_ import Model + + +class CodeProvenanceOutput(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + + def __init__(self): + """CodeProvenanceOutput - a model defined in Swagger""" + self.swagger_types = {} + + self.attribute_map = {} + + @classmethod + def from_dict(cls, dikt) -> "CodeProvenanceOutput": + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The CodeProvenance_output of this CodeProvenanceOutput. # noqa: E501 + :rtype: CodeProvenanceOutput + """ + return util.deserialize_model(dikt, cls) diff --git a/fuji_server/models/component_identifier.py b/fuji_server/models/component_identifier.py new file mode 100755 index 00000000..16c4767e --- /dev/null +++ b/fuji_server/models/component_identifier.py @@ -0,0 +1,299 @@ +# SPDX-FileCopyrightText: 2020 PANGAEA (https://www.pangaea.de/) +# +# SPDX-License-Identifier: MIT + +# coding: utf-8 + +from datetime import date, datetime # noqa: F401 + +from fuji_server import util +from fuji_server.models.base_model_ import Model +from fuji_server.models.component_identifier_output import ComponentIdentifierOutput +from fuji_server.models.debug import Debug +from fuji_server.models.fair_result_common import FAIRResultCommon # noqa: F401 +from fuji_server.models.fair_result_common_score import FAIRResultCommonScore +from fuji_server.models.fair_result_evaluation_criterium import FAIRResultEvaluationCriterium + + +class ComponentIdentifier(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + + def __init__( + self, + id: int | None = None, + metric_identifier: str | None = None, + metric_name: str | None = None, + metric_tests: dict[str, FAIRResultEvaluationCriterium] | None = None, + test_status: str = "fail", + score: FAIRResultCommonScore = None, + maturity: int = 0, + output: ComponentIdentifierOutput = None, + test_debug: Debug = None, + ): + """ComponentIdentifier - a model defined in Swagger + + :param id: The id of this ComponentIdentifier. # noqa: E501 + :type id: int + :param metric_identifier: The metric_identifier of this ComponentIdentifier. # noqa: E501 + :type metric_identifier: str + :param metric_name: The metric_name of this ComponentIdentifier. # noqa: E501 + :type metric_name: str + :param metric_tests: The metric_tests of this ComponentIdentifier. # noqa: E501 + :type metric_tests: Dict[str, FAIRResultEvaluationCriterium] + :param test_status: The test_status of this ComponentIdentifier. # noqa: E501 + :type test_status: str + :param score: The score of this ComponentIdentifier. # noqa: E501 + :type score: FAIRResultCommonScore + :param maturity: The maturity of this ComponentIdentifier. # noqa: E501 + :type maturity: int + :param output: The output of this ComponentIdentifier. # noqa: E501 + :type output: ComponentIdentifierOutput + :param test_debug: The test_debug of this ComponentIdentifier. # noqa: E501 + :type test_debug: Debug + """ + self.swagger_types = { + "id": int, + "metric_identifier": str, + "metric_name": str, + "metric_tests": dict[str, FAIRResultEvaluationCriterium], + "test_status": str, + "score": FAIRResultCommonScore, + "maturity": int, + "output": ComponentIdentifierOutput, + "test_debug": Debug, + } + + self.attribute_map = { + "id": "id", + "metric_identifier": "metric_identifier", + "metric_name": "metric_name", + "metric_tests": "metric_tests", + "test_status": "test_status", + "score": "score", + "maturity": "maturity", + "output": "output", + "test_debug": "test_debug", + } + self._id = id + self._metric_identifier = metric_identifier + self._metric_name = metric_name + self._metric_tests = metric_tests + self._test_status = test_status + self._score = score + self._maturity = maturity + self._output = output + self._test_debug = test_debug + + @classmethod + def from_dict(cls, dikt) -> "ComponentIdentifier": + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The ComponentIdentifier of this ComponentIdentifier. # noqa: E501 + :rtype: ComponentIdentifier + """ + return util.deserialize_model(dikt, cls) + + @property + def id(self) -> int: + """Gets the id of this ComponentIdentifier. + + + :return: The id of this ComponentIdentifier. + :rtype: int + """ + return self._id + + @id.setter + def id(self, id: int): + """Sets the id of this ComponentIdentifier. + + + :param id: The id of this ComponentIdentifier. + :type id: int + """ + if id is None: + raise ValueError("Invalid value for `id`, must not be `None`") + + self._id = id + + @property + def metric_identifier(self) -> str: + """Gets the metric_identifier of this ComponentIdentifier. + + + :return: The metric_identifier of this ComponentIdentifier. + :rtype: str + """ + return self._metric_identifier + + @metric_identifier.setter + def metric_identifier(self, metric_identifier: str): + """Sets the metric_identifier of this ComponentIdentifier. + + + :param metric_identifier: The metric_identifier of this ComponentIdentifier. + :type metric_identifier: str + """ + if metric_identifier is None: + raise ValueError("Invalid value for `metric_identifier`, must not be `None`") + + self._metric_identifier = metric_identifier + + @property + def metric_name(self) -> str: + """Gets the metric_name of this ComponentIdentifier. + + + :return: The metric_name of this ComponentIdentifier. + :rtype: str + """ + return self._metric_name + + @metric_name.setter + def metric_name(self, metric_name: str): + """Sets the metric_name of this ComponentIdentifier. + + + :param metric_name: The metric_name of this ComponentIdentifier. + :type metric_name: str + """ + if metric_name is None: + raise ValueError("Invalid value for `metric_name`, must not be `None`") + + self._metric_name = metric_name + + @property + def metric_tests(self) -> dict[str, FAIRResultEvaluationCriterium]: + """Gets the metric_tests of this ComponentIdentifier. + + + :return: The metric_tests of this ComponentIdentifier. + :rtype: Dict[str, FAIRResultEvaluationCriterium] + """ + return self._metric_tests + + @metric_tests.setter + def metric_tests(self, metric_tests: dict[str, FAIRResultEvaluationCriterium]): + """Sets the metric_tests of this ComponentIdentifier. + + + :param metric_tests: The metric_tests of this ComponentIdentifier. + :type metric_tests: Dict[str, FAIRResultEvaluationCriterium] + """ + + self._metric_tests = metric_tests + + @property + def test_status(self) -> str: + """Gets the test_status of this ComponentIdentifier. + + + :return: The test_status of this ComponentIdentifier. + :rtype: str + """ + return self._test_status + + @test_status.setter + def test_status(self, test_status: str): + """Sets the test_status of this ComponentIdentifier. + + + :param test_status: The test_status of this ComponentIdentifier. + :type test_status: str + """ + allowed_values = ["pass", "fail", "indeterminate"] + if test_status not in allowed_values: + raise ValueError(f"Invalid value for `test_status` ({test_status}), must be one of {allowed_values}") + + self._test_status = test_status + + @property + def score(self) -> FAIRResultCommonScore: + """Gets the score of this ComponentIdentifier. + + + :return: The score of this ComponentIdentifier. + :rtype: FAIRResultCommonScore + """ + return self._score + + @score.setter + def score(self, score: FAIRResultCommonScore): + """Sets the score of this ComponentIdentifier. + + + :param score: The score of this ComponentIdentifier. + :type score: FAIRResultCommonScore + """ + if score is None: + raise ValueError("Invalid value for `score`, must not be `None`") + + self._score = score + + @property + def maturity(self) -> int: + """Gets the maturity of this ComponentIdentifier. + + + :return: The maturity of this ComponentIdentifier. + :rtype: int + """ + return self._maturity + + @maturity.setter + def maturity(self, maturity: int): + """Sets the maturity of this ComponentIdentifier. + + + :param maturity: The maturity of this ComponentIdentifier. + :type maturity: int + """ + + self._maturity = maturity + + @property + def output(self) -> ComponentIdentifierOutput: + """Gets the output of this ComponentIdentifier. + + + :return: The output of this ComponentIdentifier. + :rtype: ComponentIdentifierOutput + """ + return self._output + + @output.setter + def output(self, output: ComponentIdentifierOutput): + """Sets the output of this ComponentIdentifier. + + + :param output: The output of this ComponentIdentifier. + :type output: ComponentIdentifierOutput + """ + + self._output = output + + @property + def test_debug(self) -> Debug: + """Gets the test_debug of this ComponentIdentifier. + + + :return: The test_debug of this ComponentIdentifier. + :rtype: Debug + """ + return self._test_debug + + @test_debug.setter + def test_debug(self, test_debug: Debug): + """Sets the test_debug of this ComponentIdentifier. + + + :param test_debug: The test_debug of this ComponentIdentifier. + :type test_debug: Debug + """ + + self._test_debug = test_debug diff --git a/fuji_server/models/component_identifier_output.py b/fuji_server/models/component_identifier_output.py new file mode 100755 index 00000000..090d0a72 --- /dev/null +++ b/fuji_server/models/component_identifier_output.py @@ -0,0 +1,34 @@ +# SPDX-FileCopyrightText: 2020 PANGAEA (https://www.pangaea.de/) +# +# SPDX-License-Identifier: MIT + +# coding: utf-8 + +from datetime import date, datetime # noqa: F401 + +from fuji_server import util +from fuji_server.models.base_model_ import Model + + +class ComponentIdentifierOutput(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + + def __init__(self): + """ComponentIdentifierOutput - a model defined in Swagger""" + self.swagger_types = {} + + self.attribute_map = {} + + @classmethod + def from_dict(cls, dikt) -> "ComponentIdentifierOutput": + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The ComponentIdentifier_output of this ComponentIdentifierOutput. # noqa: E501 + :rtype: ComponentIdentifierOutput + """ + return util.deserialize_model(dikt, cls) diff --git a/fuji_server/models/development_metadata.py b/fuji_server/models/development_metadata.py new file mode 100755 index 00000000..ebef8144 --- /dev/null +++ b/fuji_server/models/development_metadata.py @@ -0,0 +1,299 @@ +# SPDX-FileCopyrightText: 2020 PANGAEA (https://www.pangaea.de/) +# +# SPDX-License-Identifier: MIT + +# coding: utf-8 + +from datetime import date, datetime # noqa: F401 + +from fuji_server import util +from fuji_server.models.base_model_ import Model +from fuji_server.models.debug import Debug +from fuji_server.models.development_metadata_output import DevelopmentMetadataOutput +from fuji_server.models.fair_result_common import FAIRResultCommon # noqa: F401 +from fuji_server.models.fair_result_common_score import FAIRResultCommonScore +from fuji_server.models.fair_result_evaluation_criterium import FAIRResultEvaluationCriterium + + +class DevelopmentMetadata(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + + def __init__( + self, + id: int | None = None, + metric_identifier: str | None = None, + metric_name: str | None = None, + metric_tests: dict[str, FAIRResultEvaluationCriterium] | None = None, + test_status: str = "fail", + score: FAIRResultCommonScore = None, + maturity: int = 0, + output: DevelopmentMetadataOutput = None, + test_debug: Debug = None, + ): + """DevelopmentMetadata - a model defined in Swagger + + :param id: The id of this DevelopmentMetadata. # noqa: E501 + :type id: int + :param metric_identifier: The metric_identifier of this DevelopmentMetadata. # noqa: E501 + :type metric_identifier: str + :param metric_name: The metric_name of this DevelopmentMetadata. # noqa: E501 + :type metric_name: str + :param metric_tests: The metric_tests of this DevelopmentMetadata. # noqa: E501 + :type metric_tests: Dict[str, FAIRResultEvaluationCriterium] + :param test_status: The test_status of this DevelopmentMetadata. # noqa: E501 + :type test_status: str + :param score: The score of this DevelopmentMetadata. # noqa: E501 + :type score: FAIRResultCommonScore + :param maturity: The maturity of this DevelopmentMetadata. # noqa: E501 + :type maturity: int + :param output: The output of this DevelopmentMetadata. # noqa: E501 + :type output: DevelopmentMetadataOutput + :param test_debug: The test_debug of this DevelopmentMetadata. # noqa: E501 + :type test_debug: Debug + """ + self.swagger_types = { + "id": int, + "metric_identifier": str, + "metric_name": str, + "metric_tests": dict[str, FAIRResultEvaluationCriterium], + "test_status": str, + "score": FAIRResultCommonScore, + "maturity": int, + "output": DevelopmentMetadataOutput, + "test_debug": Debug, + } + + self.attribute_map = { + "id": "id", + "metric_identifier": "metric_identifier", + "metric_name": "metric_name", + "metric_tests": "metric_tests", + "test_status": "test_status", + "score": "score", + "maturity": "maturity", + "output": "output", + "test_debug": "test_debug", + } + self._id = id + self._metric_identifier = metric_identifier + self._metric_name = metric_name + self._metric_tests = metric_tests + self._test_status = test_status + self._score = score + self._maturity = maturity + self._output = output + self._test_debug = test_debug + + @classmethod + def from_dict(cls, dikt) -> "DevelopmentMetadata": + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The DevelopmentMetadata of this DevelopmentMetadata. # noqa: E501 + :rtype: DevelopmentMetadata + """ + return util.deserialize_model(dikt, cls) + + @property + def id(self) -> int: + """Gets the id of this DevelopmentMetadata. + + + :return: The id of this DevelopmentMetadata. + :rtype: int + """ + return self._id + + @id.setter + def id(self, id: int): + """Sets the id of this DevelopmentMetadata. + + + :param id: The id of this DevelopmentMetadata. + :type id: int + """ + if id is None: + raise ValueError("Invalid value for `id`, must not be `None`") + + self._id = id + + @property + def metric_identifier(self) -> str: + """Gets the metric_identifier of this DevelopmentMetadata. + + + :return: The metric_identifier of this DevelopmentMetadata. + :rtype: str + """ + return self._metric_identifier + + @metric_identifier.setter + def metric_identifier(self, metric_identifier: str): + """Sets the metric_identifier of this DevelopmentMetadata. + + + :param metric_identifier: The metric_identifier of this DevelopmentMetadata. + :type metric_identifier: str + """ + if metric_identifier is None: + raise ValueError("Invalid value for `metric_identifier`, must not be `None`") + + self._metric_identifier = metric_identifier + + @property + def metric_name(self) -> str: + """Gets the metric_name of this DevelopmentMetadata. + + + :return: The metric_name of this DevelopmentMetadata. + :rtype: str + """ + return self._metric_name + + @metric_name.setter + def metric_name(self, metric_name: str): + """Sets the metric_name of this DevelopmentMetadata. + + + :param metric_name: The metric_name of this DevelopmentMetadata. + :type metric_name: str + """ + if metric_name is None: + raise ValueError("Invalid value for `metric_name`, must not be `None`") + + self._metric_name = metric_name + + @property + def metric_tests(self) -> dict[str, FAIRResultEvaluationCriterium]: + """Gets the metric_tests of this DevelopmentMetadata. + + + :return: The metric_tests of this DevelopmentMetadata. + :rtype: Dict[str, FAIRResultEvaluationCriterium] + """ + return self._metric_tests + + @metric_tests.setter + def metric_tests(self, metric_tests: dict[str, FAIRResultEvaluationCriterium]): + """Sets the metric_tests of this DevelopmentMetadata. + + + :param metric_tests: The metric_tests of this DevelopmentMetadata. + :type metric_tests: Dict[str, FAIRResultEvaluationCriterium] + """ + + self._metric_tests = metric_tests + + @property + def test_status(self) -> str: + """Gets the test_status of this DevelopmentMetadata. + + + :return: The test_status of this DevelopmentMetadata. + :rtype: str + """ + return self._test_status + + @test_status.setter + def test_status(self, test_status: str): + """Sets the test_status of this DevelopmentMetadata. + + + :param test_status: The test_status of this DevelopmentMetadata. + :type test_status: str + """ + allowed_values = ["pass", "fail", "indeterminate"] + if test_status not in allowed_values: + raise ValueError(f"Invalid value for `test_status` ({test_status}), must be one of {allowed_values}") + + self._test_status = test_status + + @property + def score(self) -> FAIRResultCommonScore: + """Gets the score of this DevelopmentMetadata. + + + :return: The score of this DevelopmentMetadata. + :rtype: FAIRResultCommonScore + """ + return self._score + + @score.setter + def score(self, score: FAIRResultCommonScore): + """Sets the score of this DevelopmentMetadata. + + + :param score: The score of this DevelopmentMetadata. + :type score: FAIRResultCommonScore + """ + if score is None: + raise ValueError("Invalid value for `score`, must not be `None`") + + self._score = score + + @property + def maturity(self) -> int: + """Gets the maturity of this DevelopmentMetadata. + + + :return: The maturity of this DevelopmentMetadata. + :rtype: int + """ + return self._maturity + + @maturity.setter + def maturity(self, maturity: int): + """Sets the maturity of this DevelopmentMetadata. + + + :param maturity: The maturity of this DevelopmentMetadata. + :type maturity: int + """ + + self._maturity = maturity + + @property + def output(self) -> DevelopmentMetadataOutput: + """Gets the output of this DevelopmentMetadata. + + + :return: The output of this DevelopmentMetadata. + :rtype: DevelopmentMetadataOutput + """ + return self._output + + @output.setter + def output(self, output: DevelopmentMetadataOutput): + """Sets the output of this DevelopmentMetadata. + + + :param output: The output of this DevelopmentMetadata. + :type output: DevelopmentMetadataOutput + """ + + self._output = output + + @property + def test_debug(self) -> Debug: + """Gets the test_debug of this DevelopmentMetadata. + + + :return: The test_debug of this DevelopmentMetadata. + :rtype: Debug + """ + return self._test_debug + + @test_debug.setter + def test_debug(self, test_debug: Debug): + """Sets the test_debug of this DevelopmentMetadata. + + + :param test_debug: The test_debug of this DevelopmentMetadata. + :type test_debug: Debug + """ + + self._test_debug = test_debug diff --git a/fuji_server/models/development_metadata_output.py b/fuji_server/models/development_metadata_output.py new file mode 100755 index 00000000..8968d56f --- /dev/null +++ b/fuji_server/models/development_metadata_output.py @@ -0,0 +1,34 @@ +# SPDX-FileCopyrightText: 2020 PANGAEA (https://www.pangaea.de/) +# +# SPDX-License-Identifier: MIT + +# coding: utf-8 + +from datetime import date, datetime # noqa: F401 + +from fuji_server import util +from fuji_server.models.base_model_ import Model + + +class DevelopmentMetadataOutput(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + + def __init__(self): + """DevelopmentMetadataOutput - a model defined in Swagger""" + self.swagger_types = {} + + self.attribute_map = {} + + @classmethod + def from_dict(cls, dikt) -> "DevelopmentMetadataOutput": + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The DevelopmentMetadata_output of this DevelopmentMetadataOutput. # noqa: E501 + :rtype: DevelopmentMetadataOutput + """ + return util.deserialize_model(dikt, cls) diff --git a/fuji_server/models/requirements.py b/fuji_server/models/requirements.py new file mode 100755 index 00000000..7d3a6d53 --- /dev/null +++ b/fuji_server/models/requirements.py @@ -0,0 +1,299 @@ +# SPDX-FileCopyrightText: 2020 PANGAEA (https://www.pangaea.de/) +# +# SPDX-License-Identifier: MIT + +# coding: utf-8 + +from datetime import date, datetime # noqa: F401 + +from fuji_server import util +from fuji_server.models.base_model_ import Model +from fuji_server.models.debug import Debug +from fuji_server.models.fair_result_common import FAIRResultCommon # noqa: F401 +from fuji_server.models.fair_result_common_score import FAIRResultCommonScore +from fuji_server.models.fair_result_evaluation_criterium import FAIRResultEvaluationCriterium +from fuji_server.models.requirements_output import RequirementsOutput + + +class Requirements(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + + def __init__( + self, + id: int | None = None, + metric_identifier: str | None = None, + metric_name: str | None = None, + metric_tests: dict[str, FAIRResultEvaluationCriterium] | None = None, + test_status: str = "fail", + score: FAIRResultCommonScore = None, + maturity: int = 0, + output: RequirementsOutput = None, + test_debug: Debug = None, + ): + """Requirements - a model defined in Swagger + + :param id: The id of this Requirements. # noqa: E501 + :type id: int + :param metric_identifier: The metric_identifier of this Requirements. # noqa: E501 + :type metric_identifier: str + :param metric_name: The metric_name of this Requirements. # noqa: E501 + :type metric_name: str + :param metric_tests: The metric_tests of this Requirements. # noqa: E501 + :type metric_tests: Dict[str, FAIRResultEvaluationCriterium] + :param test_status: The test_status of this Requirements. # noqa: E501 + :type test_status: str + :param score: The score of this Requirements. # noqa: E501 + :type score: FAIRResultCommonScore + :param maturity: The maturity of this Requirements. # noqa: E501 + :type maturity: int + :param output: The output of this Requirements. # noqa: E501 + :type output: RequirementsOutput + :param test_debug: The test_debug of this Requirements. # noqa: E501 + :type test_debug: Debug + """ + self.swagger_types = { + "id": int, + "metric_identifier": str, + "metric_name": str, + "metric_tests": dict[str, FAIRResultEvaluationCriterium], + "test_status": str, + "score": FAIRResultCommonScore, + "maturity": int, + "output": RequirementsOutput, + "test_debug": Debug, + } + + self.attribute_map = { + "id": "id", + "metric_identifier": "metric_identifier", + "metric_name": "metric_name", + "metric_tests": "metric_tests", + "test_status": "test_status", + "score": "score", + "maturity": "maturity", + "output": "output", + "test_debug": "test_debug", + } + self._id = id + self._metric_identifier = metric_identifier + self._metric_name = metric_name + self._metric_tests = metric_tests + self._test_status = test_status + self._score = score + self._maturity = maturity + self._output = output + self._test_debug = test_debug + + @classmethod + def from_dict(cls, dikt) -> "Requirements": + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The Requirements of this Requirements. # noqa: E501 + :rtype: Requirements + """ + return util.deserialize_model(dikt, cls) + + @property + def id(self) -> int: + """Gets the id of this Requirements. + + + :return: The id of this Requirements. + :rtype: int + """ + return self._id + + @id.setter + def id(self, id: int): + """Sets the id of this Requirements. + + + :param id: The id of this Requirements. + :type id: int + """ + if id is None: + raise ValueError("Invalid value for `id`, must not be `None`") + + self._id = id + + @property + def metric_identifier(self) -> str: + """Gets the metric_identifier of this Requirements. + + + :return: The metric_identifier of this Requirements. + :rtype: str + """ + return self._metric_identifier + + @metric_identifier.setter + def metric_identifier(self, metric_identifier: str): + """Sets the metric_identifier of this Requirements. + + + :param metric_identifier: The metric_identifier of this Requirements. + :type metric_identifier: str + """ + if metric_identifier is None: + raise ValueError("Invalid value for `metric_identifier`, must not be `None`") + + self._metric_identifier = metric_identifier + + @property + def metric_name(self) -> str: + """Gets the metric_name of this Requirements. + + + :return: The metric_name of this Requirements. + :rtype: str + """ + return self._metric_name + + @metric_name.setter + def metric_name(self, metric_name: str): + """Sets the metric_name of this Requirements. + + + :param metric_name: The metric_name of this Requirements. + :type metric_name: str + """ + if metric_name is None: + raise ValueError("Invalid value for `metric_name`, must not be `None`") + + self._metric_name = metric_name + + @property + def metric_tests(self) -> dict[str, FAIRResultEvaluationCriterium]: + """Gets the metric_tests of this Requirements. + + + :return: The metric_tests of this Requirements. + :rtype: Dict[str, FAIRResultEvaluationCriterium] + """ + return self._metric_tests + + @metric_tests.setter + def metric_tests(self, metric_tests: dict[str, FAIRResultEvaluationCriterium]): + """Sets the metric_tests of this Requirements. + + + :param metric_tests: The metric_tests of this Requirements. + :type metric_tests: Dict[str, FAIRResultEvaluationCriterium] + """ + + self._metric_tests = metric_tests + + @property + def test_status(self) -> str: + """Gets the test_status of this Requirements. + + + :return: The test_status of this Requirements. + :rtype: str + """ + return self._test_status + + @test_status.setter + def test_status(self, test_status: str): + """Sets the test_status of this Requirements. + + + :param test_status: The test_status of this Requirements. + :type test_status: str + """ + allowed_values = ["pass", "fail", "indeterminate"] + if test_status not in allowed_values: + raise ValueError(f"Invalid value for `test_status` ({test_status}), must be one of {allowed_values}") + + self._test_status = test_status + + @property + def score(self) -> FAIRResultCommonScore: + """Gets the score of this Requirements. + + + :return: The score of this Requirements. + :rtype: FAIRResultCommonScore + """ + return self._score + + @score.setter + def score(self, score: FAIRResultCommonScore): + """Sets the score of this Requirements. + + + :param score: The score of this Requirements. + :type score: FAIRResultCommonScore + """ + if score is None: + raise ValueError("Invalid value for `score`, must not be `None`") + + self._score = score + + @property + def maturity(self) -> int: + """Gets the maturity of this Requirements. + + + :return: The maturity of this Requirements. + :rtype: int + """ + return self._maturity + + @maturity.setter + def maturity(self, maturity: int): + """Sets the maturity of this Requirements. + + + :param maturity: The maturity of this Requirements. + :type maturity: int + """ + + self._maturity = maturity + + @property + def output(self) -> RequirementsOutput: + """Gets the output of this Requirements. + + + :return: The output of this Requirements. + :rtype: RequirementsOutput + """ + return self._output + + @output.setter + def output(self, output: RequirementsOutput): + """Sets the output of this Requirements. + + + :param output: The output of this Requirements. + :type output: RequirementsOutput + """ + + self._output = output + + @property + def test_debug(self) -> Debug: + """Gets the test_debug of this Requirements. + + + :return: The test_debug of this Requirements. + :rtype: Debug + """ + return self._test_debug + + @test_debug.setter + def test_debug(self, test_debug: Debug): + """Sets the test_debug of this Requirements. + + + :param test_debug: The test_debug of this Requirements. + :type test_debug: Debug + """ + + self._test_debug = test_debug diff --git a/fuji_server/models/requirements_output.py b/fuji_server/models/requirements_output.py new file mode 100755 index 00000000..0f4b873d --- /dev/null +++ b/fuji_server/models/requirements_output.py @@ -0,0 +1,34 @@ +# SPDX-FileCopyrightText: 2020 PANGAEA (https://www.pangaea.de/) +# +# SPDX-License-Identifier: MIT + +# coding: utf-8 + +from datetime import date, datetime # noqa: F401 + +from fuji_server import util +from fuji_server.models.base_model_ import Model + + +class RequirementsOutput(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + + def __init__(self): + """RequirementsOutput - a model defined in Swagger""" + self.swagger_types = {} + + self.attribute_map = {} + + @classmethod + def from_dict(cls, dikt) -> "RequirementsOutput": + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The Requirements_output of this RequirementsOutput. # noqa: E501 + :rtype: RequirementsOutput + """ + return util.deserialize_model(dikt, cls) diff --git a/fuji_server/models/test_case.py b/fuji_server/models/test_case.py new file mode 100755 index 00000000..f6d2b9a9 --- /dev/null +++ b/fuji_server/models/test_case.py @@ -0,0 +1,299 @@ +# SPDX-FileCopyrightText: 2020 PANGAEA (https://www.pangaea.de/) +# +# SPDX-License-Identifier: MIT + +# coding: utf-8 + +from datetime import date, datetime # noqa: F401 + +from fuji_server import util +from fuji_server.models.base_model_ import Model +from fuji_server.models.debug import Debug +from fuji_server.models.fair_result_common import FAIRResultCommon # noqa: F401 +from fuji_server.models.fair_result_common_score import FAIRResultCommonScore +from fuji_server.models.fair_result_evaluation_criterium import FAIRResultEvaluationCriterium +from fuji_server.models.test_case_output import TestCaseOutput + + +class TestCase(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + + def __init__( + self, + id: int | None = None, + metric_identifier: str | None = None, + metric_name: str | None = None, + metric_tests: dict[str, FAIRResultEvaluationCriterium] | None = None, + test_status: str = "fail", + score: FAIRResultCommonScore = None, + maturity: int = 0, + output: TestCaseOutput = None, + test_debug: Debug = None, + ): + """TestCase - a model defined in Swagger + + :param id: The id of this TestCase. # noqa: E501 + :type id: int + :param metric_identifier: The metric_identifier of this TestCase. # noqa: E501 + :type metric_identifier: str + :param metric_name: The metric_name of this TestCase. # noqa: E501 + :type metric_name: str + :param metric_tests: The metric_tests of this TestCase. # noqa: E501 + :type metric_tests: Dict[str, FAIRResultEvaluationCriterium] + :param test_status: The test_status of this TestCase. # noqa: E501 + :type test_status: str + :param score: The score of this TestCase. # noqa: E501 + :type score: FAIRResultCommonScore + :param maturity: The maturity of this TestCase. # noqa: E501 + :type maturity: int + :param output: The output of this TestCase. # noqa: E501 + :type output: TestCaseOutput + :param test_debug: The test_debug of this TestCase. # noqa: E501 + :type test_debug: Debug + """ + self.swagger_types = { + "id": int, + "metric_identifier": str, + "metric_name": str, + "metric_tests": dict[str, FAIRResultEvaluationCriterium], + "test_status": str, + "score": FAIRResultCommonScore, + "maturity": int, + "output": TestCaseOutput, + "test_debug": Debug, + } + + self.attribute_map = { + "id": "id", + "metric_identifier": "metric_identifier", + "metric_name": "metric_name", + "metric_tests": "metric_tests", + "test_status": "test_status", + "score": "score", + "maturity": "maturity", + "output": "output", + "test_debug": "test_debug", + } + self._id = id + self._metric_identifier = metric_identifier + self._metric_name = metric_name + self._metric_tests = metric_tests + self._test_status = test_status + self._score = score + self._maturity = maturity + self._output = output + self._test_debug = test_debug + + @classmethod + def from_dict(cls, dikt) -> "TestCase": + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The TestCase of this TestCase. # noqa: E501 + :rtype: TestCase + """ + return util.deserialize_model(dikt, cls) + + @property + def id(self) -> int: + """Gets the id of this TestCase. + + + :return: The id of this TestCase. + :rtype: int + """ + return self._id + + @id.setter + def id(self, id: int): + """Sets the id of this TestCase. + + + :param id: The id of this TestCase. + :type id: int + """ + if id is None: + raise ValueError("Invalid value for `id`, must not be `None`") + + self._id = id + + @property + def metric_identifier(self) -> str: + """Gets the metric_identifier of this TestCase. + + + :return: The metric_identifier of this TestCase. + :rtype: str + """ + return self._metric_identifier + + @metric_identifier.setter + def metric_identifier(self, metric_identifier: str): + """Sets the metric_identifier of this TestCase. + + + :param metric_identifier: The metric_identifier of this TestCase. + :type metric_identifier: str + """ + if metric_identifier is None: + raise ValueError("Invalid value for `metric_identifier`, must not be `None`") + + self._metric_identifier = metric_identifier + + @property + def metric_name(self) -> str: + """Gets the metric_name of this TestCase. + + + :return: The metric_name of this TestCase. + :rtype: str + """ + return self._metric_name + + @metric_name.setter + def metric_name(self, metric_name: str): + """Sets the metric_name of this TestCase. + + + :param metric_name: The metric_name of this TestCase. + :type metric_name: str + """ + if metric_name is None: + raise ValueError("Invalid value for `metric_name`, must not be `None`") + + self._metric_name = metric_name + + @property + def metric_tests(self) -> dict[str, FAIRResultEvaluationCriterium]: + """Gets the metric_tests of this TestCase. + + + :return: The metric_tests of this TestCase. + :rtype: Dict[str, FAIRResultEvaluationCriterium] + """ + return self._metric_tests + + @metric_tests.setter + def metric_tests(self, metric_tests: dict[str, FAIRResultEvaluationCriterium]): + """Sets the metric_tests of this TestCase. + + + :param metric_tests: The metric_tests of this TestCase. + :type metric_tests: Dict[str, FAIRResultEvaluationCriterium] + """ + + self._metric_tests = metric_tests + + @property + def test_status(self) -> str: + """Gets the test_status of this TestCase. + + + :return: The test_status of this TestCase. + :rtype: str + """ + return self._test_status + + @test_status.setter + def test_status(self, test_status: str): + """Sets the test_status of this TestCase. + + + :param test_status: The test_status of this TestCase. + :type test_status: str + """ + allowed_values = ["pass", "fail", "indeterminate"] + if test_status not in allowed_values: + raise ValueError(f"Invalid value for `test_status` ({test_status}), must be one of {allowed_values}") + + self._test_status = test_status + + @property + def score(self) -> FAIRResultCommonScore: + """Gets the score of this TestCase. + + + :return: The score of this TestCase. + :rtype: FAIRResultCommonScore + """ + return self._score + + @score.setter + def score(self, score: FAIRResultCommonScore): + """Sets the score of this TestCase. + + + :param score: The score of this TestCase. + :type score: FAIRResultCommonScore + """ + if score is None: + raise ValueError("Invalid value for `score`, must not be `None`") + + self._score = score + + @property + def maturity(self) -> int: + """Gets the maturity of this TestCase. + + + :return: The maturity of this TestCase. + :rtype: int + """ + return self._maturity + + @maturity.setter + def maturity(self, maturity: int): + """Sets the maturity of this TestCase. + + + :param maturity: The maturity of this TestCase. + :type maturity: int + """ + + self._maturity = maturity + + @property + def output(self) -> TestCaseOutput: + """Gets the output of this TestCase. + + + :return: The output of this TestCase. + :rtype: TestCaseOutput + """ + return self._output + + @output.setter + def output(self, output: TestCaseOutput): + """Sets the output of this TestCase. + + + :param output: The output of this TestCase. + :type output: TestCaseOutput + """ + + self._output = output + + @property + def test_debug(self) -> Debug: + """Gets the test_debug of this TestCase. + + + :return: The test_debug of this TestCase. + :rtype: Debug + """ + return self._test_debug + + @test_debug.setter + def test_debug(self, test_debug: Debug): + """Sets the test_debug of this TestCase. + + + :param test_debug: The test_debug of this TestCase. + :type test_debug: Debug + """ + + self._test_debug = test_debug diff --git a/fuji_server/models/test_case_output.py b/fuji_server/models/test_case_output.py new file mode 100755 index 00000000..8ea5cbc3 --- /dev/null +++ b/fuji_server/models/test_case_output.py @@ -0,0 +1,34 @@ +# SPDX-FileCopyrightText: 2020 PANGAEA (https://www.pangaea.de/) +# +# SPDX-License-Identifier: MIT + +# coding: utf-8 + +from datetime import date, datetime # noqa: F401 + +from fuji_server import util +from fuji_server.models.base_model_ import Model + + +class TestCaseOutput(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + + def __init__(self): + """TestCaseOutput - a model defined in Swagger""" + self.swagger_types = {} + + self.attribute_map = {} + + @classmethod + def from_dict(cls, dikt) -> "TestCaseOutput": + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The TestCase_output of this TestCaseOutput. # noqa: E501 + :rtype: TestCaseOutput + """ + return util.deserialize_model(dikt, cls) diff --git a/fuji_server/models/unique_persistent_identifier_software.py b/fuji_server/models/unique_persistent_identifier_software.py new file mode 100755 index 00000000..3fe6a1a9 --- /dev/null +++ b/fuji_server/models/unique_persistent_identifier_software.py @@ -0,0 +1,299 @@ +# SPDX-FileCopyrightText: 2020 PANGAEA (https://www.pangaea.de/) +# +# SPDX-License-Identifier: MIT + +# coding: utf-8 + +from datetime import date, datetime # noqa: F401 + +from fuji_server import util +from fuji_server.models.base_model_ import Model +from fuji_server.models.debug import Debug +from fuji_server.models.fair_result_common import FAIRResultCommon # noqa: F401 +from fuji_server.models.fair_result_common_score import FAIRResultCommonScore +from fuji_server.models.fair_result_evaluation_criterium import FAIRResultEvaluationCriterium +from fuji_server.models.unique_persistent_identifier_software_output import UniquePersistentIdentifierSoftwareOutput + + +class UniquePersistentIdentifierSoftware(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + + def __init__( + self, + id: int | None = None, + metric_identifier: str | None = None, + metric_name: str | None = None, + metric_tests: dict[str, FAIRResultEvaluationCriterium] | None = None, + test_status: str = "fail", + score: FAIRResultCommonScore = None, + maturity: int = 0, + output: UniquePersistentIdentifierSoftwareOutput = None, + test_debug: Debug = None, + ): + """UniquePersistentIdentifierSoftware - a model defined in Swagger + + :param id: The id of this UniquePersistentIdentifierSoftware. # noqa: E501 + :type id: int + :param metric_identifier: The metric_identifier of this UniquePersistentIdentifierSoftware. # noqa: E501 + :type metric_identifier: str + :param metric_name: The metric_name of this UniquePersistentIdentifierSoftware. # noqa: E501 + :type metric_name: str + :param metric_tests: The metric_tests of this UniquePersistentIdentifierSoftware. # noqa: E501 + :type metric_tests: Dict[str, FAIRResultEvaluationCriterium] + :param test_status: The test_status of this UniquePersistentIdentifierSoftware. # noqa: E501 + :type test_status: str + :param score: The score of this UniquePersistentIdentifierSoftware. # noqa: E501 + :type score: FAIRResultCommonScore + :param maturity: The maturity of this UniquePersistentIdentifierSoftware. # noqa: E501 + :type maturity: int + :param output: The output of this UniquePersistentIdentifierSoftware. # noqa: E501 + :type output: UniquePersistentIdentifierSoftwareOutput + :param test_debug: The test_debug of this UniquePersistentIdentifierSoftware. # noqa: E501 + :type test_debug: Debug + """ + self.swagger_types = { + "id": int, + "metric_identifier": str, + "metric_name": str, + "metric_tests": dict[str, FAIRResultEvaluationCriterium], + "test_status": str, + "score": FAIRResultCommonScore, + "maturity": int, + "output": UniquePersistentIdentifierSoftwareOutput, + "test_debug": Debug, + } + + self.attribute_map = { + "id": "id", + "metric_identifier": "metric_identifier", + "metric_name": "metric_name", + "metric_tests": "metric_tests", + "test_status": "test_status", + "score": "score", + "maturity": "maturity", + "output": "output", + "test_debug": "test_debug", + } + self._id = id + self._metric_identifier = metric_identifier + self._metric_name = metric_name + self._metric_tests = metric_tests + self._test_status = test_status + self._score = score + self._maturity = maturity + self._output = output + self._test_debug = test_debug + + @classmethod + def from_dict(cls, dikt) -> "UniquePersistentIdentifierSoftware": + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The UniquePersistentIdentifierSoftware of this UniquePersistentIdentifierSoftware. # noqa: E501 + :rtype: UniquePersistentIdentifierSoftware + """ + return util.deserialize_model(dikt, cls) + + @property + def id(self) -> int: + """Gets the id of this UniquePersistentIdentifierSoftware. + + + :return: The id of this UniquePersistentIdentifierSoftware. + :rtype: int + """ + return self._id + + @id.setter + def id(self, id: int): + """Sets the id of this UniquePersistentIdentifierSoftware. + + + :param id: The id of this UniquePersistentIdentifierSoftware. + :type id: int + """ + if id is None: + raise ValueError("Invalid value for `id`, must not be `None`") + + self._id = id + + @property + def metric_identifier(self) -> str: + """Gets the metric_identifier of this UniquePersistentIdentifierSoftware. + + + :return: The metric_identifier of this UniquePersistentIdentifierSoftware. + :rtype: str + """ + return self._metric_identifier + + @metric_identifier.setter + def metric_identifier(self, metric_identifier: str): + """Sets the metric_identifier of this UniquePersistentIdentifierSoftware. + + + :param metric_identifier: The metric_identifier of this UniquePersistentIdentifierSoftware. + :type metric_identifier: str + """ + if metric_identifier is None: + raise ValueError("Invalid value for `metric_identifier`, must not be `None`") + + self._metric_identifier = metric_identifier + + @property + def metric_name(self) -> str: + """Gets the metric_name of this UniquePersistentIdentifierSoftware. + + + :return: The metric_name of this UniquePersistentIdentifierSoftware. + :rtype: str + """ + return self._metric_name + + @metric_name.setter + def metric_name(self, metric_name: str): + """Sets the metric_name of this UniquePersistentIdentifierSoftware. + + + :param metric_name: The metric_name of this UniquePersistentIdentifierSoftware. + :type metric_name: str + """ + if metric_name is None: + raise ValueError("Invalid value for `metric_name`, must not be `None`") + + self._metric_name = metric_name + + @property + def metric_tests(self) -> dict[str, FAIRResultEvaluationCriterium]: + """Gets the metric_tests of this UniquePersistentIdentifierSoftware. + + + :return: The metric_tests of this UniquePersistentIdentifierSoftware. + :rtype: Dict[str, FAIRResultEvaluationCriterium] + """ + return self._metric_tests + + @metric_tests.setter + def metric_tests(self, metric_tests: dict[str, FAIRResultEvaluationCriterium]): + """Sets the metric_tests of this UniquePersistentIdentifierSoftware. + + + :param metric_tests: The metric_tests of this UniquePersistentIdentifierSoftware. + :type metric_tests: Dict[str, FAIRResultEvaluationCriterium] + """ + + self._metric_tests = metric_tests + + @property + def test_status(self) -> str: + """Gets the test_status of this UniquePersistentIdentifierSoftware. + + + :return: The test_status of this UniquePersistentIdentifierSoftware. + :rtype: str + """ + return self._test_status + + @test_status.setter + def test_status(self, test_status: str): + """Sets the test_status of this UniquePersistentIdentifierSoftware. + + + :param test_status: The test_status of this UniquePersistentIdentifierSoftware. + :type test_status: str + """ + allowed_values = ["pass", "fail", "indeterminate"] + if test_status not in allowed_values: + raise ValueError(f"Invalid value for `test_status` ({test_status}), must be one of {allowed_values}") + + self._test_status = test_status + + @property + def score(self) -> FAIRResultCommonScore: + """Gets the score of this UniquePersistentIdentifierSoftware. + + + :return: The score of this UniquePersistentIdentifierSoftware. + :rtype: FAIRResultCommonScore + """ + return self._score + + @score.setter + def score(self, score: FAIRResultCommonScore): + """Sets the score of this UniquePersistentIdentifierSoftware. + + + :param score: The score of this UniquePersistentIdentifierSoftware. + :type score: FAIRResultCommonScore + """ + if score is None: + raise ValueError("Invalid value for `score`, must not be `None`") + + self._score = score + + @property + def maturity(self) -> int: + """Gets the maturity of this UniquePersistentIdentifierSoftware. + + + :return: The maturity of this UniquePersistentIdentifierSoftware. + :rtype: int + """ + return self._maturity + + @maturity.setter + def maturity(self, maturity: int): + """Sets the maturity of this UniquePersistentIdentifierSoftware. + + + :param maturity: The maturity of this UniquePersistentIdentifierSoftware. + :type maturity: int + """ + + self._maturity = maturity + + @property + def output(self) -> UniquePersistentIdentifierSoftwareOutput: + """Gets the output of this UniquePersistentIdentifierSoftware. + + + :return: The output of this UniquePersistentIdentifierSoftware. + :rtype: UniquePersistentIdentifierSoftwareOutput + """ + return self._output + + @output.setter + def output(self, output: UniquePersistentIdentifierSoftwareOutput): + """Sets the output of this UniquePersistentIdentifierSoftware. + + + :param output: The output of this UniquePersistentIdentifierSoftware. + :type output: UniquePersistentIdentifierSoftwareOutput + """ + + self._output = output + + @property + def test_debug(self) -> Debug: + """Gets the test_debug of this UniquePersistentIdentifierSoftware. + + + :return: The test_debug of this UniquePersistentIdentifierSoftware. + :rtype: Debug + """ + return self._test_debug + + @test_debug.setter + def test_debug(self, test_debug: Debug): + """Sets the test_debug of this UniquePersistentIdentifierSoftware. + + + :param test_debug: The test_debug of this UniquePersistentIdentifierSoftware. + :type test_debug: Debug + """ + + self._test_debug = test_debug diff --git a/fuji_server/models/unique_persistent_identifier_software_output.py b/fuji_server/models/unique_persistent_identifier_software_output.py new file mode 100755 index 00000000..d29afc1a --- /dev/null +++ b/fuji_server/models/unique_persistent_identifier_software_output.py @@ -0,0 +1,34 @@ +# SPDX-FileCopyrightText: 2020 PANGAEA (https://www.pangaea.de/) +# +# SPDX-License-Identifier: MIT + +# coding: utf-8 + +from datetime import date, datetime # noqa: F401 + +from fuji_server import util +from fuji_server.models.base_model_ import Model + + +class UniquePersistentIdentifierSoftwareOutput(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + + def __init__(self): + """UniquePersistentIdentifierSoftwareOutput - a model defined in Swagger""" + self.swagger_types = {} + + self.attribute_map = {} + + @classmethod + def from_dict(cls, dikt) -> "UniquePersistentIdentifierSoftwareOutput": + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The UniquePersistentIdentifierSoftware_output of this UniquePersistentIdentifierSoftwareOutput. # noqa: E501 + :rtype: UniquePersistentIdentifierSoftwareOutput + """ + return util.deserialize_model(dikt, cls) diff --git a/fuji_server/models/version_identifier.py b/fuji_server/models/version_identifier.py new file mode 100755 index 00000000..77124843 --- /dev/null +++ b/fuji_server/models/version_identifier.py @@ -0,0 +1,299 @@ +# SPDX-FileCopyrightText: 2020 PANGAEA (https://www.pangaea.de/) +# +# SPDX-License-Identifier: MIT + +# coding: utf-8 + +from datetime import date, datetime # noqa: F401 + +from fuji_server import util +from fuji_server.models.base_model_ import Model +from fuji_server.models.debug import Debug +from fuji_server.models.fair_result_common import FAIRResultCommon # noqa: F401 +from fuji_server.models.fair_result_common_score import FAIRResultCommonScore +from fuji_server.models.fair_result_evaluation_criterium import FAIRResultEvaluationCriterium +from fuji_server.models.version_identifier_output import VersionIdentifierOutput + + +class VersionIdentifier(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + + def __init__( + self, + id: int | None = None, + metric_identifier: str | None = None, + metric_name: str | None = None, + metric_tests: dict[str, FAIRResultEvaluationCriterium] | None = None, + test_status: str = "fail", + score: FAIRResultCommonScore = None, + maturity: int = 0, + output: VersionIdentifierOutput = None, + test_debug: Debug = None, + ): + """VersionIdentifier - a model defined in Swagger + + :param id: The id of this VersionIdentifier. # noqa: E501 + :type id: int + :param metric_identifier: The metric_identifier of this VersionIdentifier. # noqa: E501 + :type metric_identifier: str + :param metric_name: The metric_name of this VersionIdentifier. # noqa: E501 + :type metric_name: str + :param metric_tests: The metric_tests of this VersionIdentifier. # noqa: E501 + :type metric_tests: Dict[str, FAIRResultEvaluationCriterium] + :param test_status: The test_status of this VersionIdentifier. # noqa: E501 + :type test_status: str + :param score: The score of this VersionIdentifier. # noqa: E501 + :type score: FAIRResultCommonScore + :param maturity: The maturity of this VersionIdentifier. # noqa: E501 + :type maturity: int + :param output: The output of this VersionIdentifier. # noqa: E501 + :type output: VersionIdentifierOutput + :param test_debug: The test_debug of this VersionIdentifier. # noqa: E501 + :type test_debug: Debug + """ + self.swagger_types = { + "id": int, + "metric_identifier": str, + "metric_name": str, + "metric_tests": dict[str, FAIRResultEvaluationCriterium], + "test_status": str, + "score": FAIRResultCommonScore, + "maturity": int, + "output": VersionIdentifierOutput, + "test_debug": Debug, + } + + self.attribute_map = { + "id": "id", + "metric_identifier": "metric_identifier", + "metric_name": "metric_name", + "metric_tests": "metric_tests", + "test_status": "test_status", + "score": "score", + "maturity": "maturity", + "output": "output", + "test_debug": "test_debug", + } + self._id = id + self._metric_identifier = metric_identifier + self._metric_name = metric_name + self._metric_tests = metric_tests + self._test_status = test_status + self._score = score + self._maturity = maturity + self._output = output + self._test_debug = test_debug + + @classmethod + def from_dict(cls, dikt) -> "VersionIdentifier": + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The VersionIdentifier of this VersionIdentifier. # noqa: E501 + :rtype: VersionIdentifier + """ + return util.deserialize_model(dikt, cls) + + @property + def id(self) -> int: + """Gets the id of this VersionIdentifier. + + + :return: The id of this VersionIdentifier. + :rtype: int + """ + return self._id + + @id.setter + def id(self, id: int): + """Sets the id of this VersionIdentifier. + + + :param id: The id of this VersionIdentifier. + :type id: int + """ + if id is None: + raise ValueError("Invalid value for `id`, must not be `None`") + + self._id = id + + @property + def metric_identifier(self) -> str: + """Gets the metric_identifier of this VersionIdentifier. + + + :return: The metric_identifier of this VersionIdentifier. + :rtype: str + """ + return self._metric_identifier + + @metric_identifier.setter + def metric_identifier(self, metric_identifier: str): + """Sets the metric_identifier of this VersionIdentifier. + + + :param metric_identifier: The metric_identifier of this VersionIdentifier. + :type metric_identifier: str + """ + if metric_identifier is None: + raise ValueError("Invalid value for `metric_identifier`, must not be `None`") + + self._metric_identifier = metric_identifier + + @property + def metric_name(self) -> str: + """Gets the metric_name of this VersionIdentifier. + + + :return: The metric_name of this VersionIdentifier. + :rtype: str + """ + return self._metric_name + + @metric_name.setter + def metric_name(self, metric_name: str): + """Sets the metric_name of this VersionIdentifier. + + + :param metric_name: The metric_name of this VersionIdentifier. + :type metric_name: str + """ + if metric_name is None: + raise ValueError("Invalid value for `metric_name`, must not be `None`") + + self._metric_name = metric_name + + @property + def metric_tests(self) -> dict[str, FAIRResultEvaluationCriterium]: + """Gets the metric_tests of this VersionIdentifier. + + + :return: The metric_tests of this VersionIdentifier. + :rtype: Dict[str, FAIRResultEvaluationCriterium] + """ + return self._metric_tests + + @metric_tests.setter + def metric_tests(self, metric_tests: dict[str, FAIRResultEvaluationCriterium]): + """Sets the metric_tests of this VersionIdentifier. + + + :param metric_tests: The metric_tests of this VersionIdentifier. + :type metric_tests: Dict[str, FAIRResultEvaluationCriterium] + """ + + self._metric_tests = metric_tests + + @property + def test_status(self) -> str: + """Gets the test_status of this VersionIdentifier. + + + :return: The test_status of this VersionIdentifier. + :rtype: str + """ + return self._test_status + + @test_status.setter + def test_status(self, test_status: str): + """Sets the test_status of this VersionIdentifier. + + + :param test_status: The test_status of this VersionIdentifier. + :type test_status: str + """ + allowed_values = ["pass", "fail", "indeterminate"] + if test_status not in allowed_values: + raise ValueError(f"Invalid value for `test_status` ({test_status}), must be one of {allowed_values}") + + self._test_status = test_status + + @property + def score(self) -> FAIRResultCommonScore: + """Gets the score of this VersionIdentifier. + + + :return: The score of this VersionIdentifier. + :rtype: FAIRResultCommonScore + """ + return self._score + + @score.setter + def score(self, score: FAIRResultCommonScore): + """Sets the score of this VersionIdentifier. + + + :param score: The score of this VersionIdentifier. + :type score: FAIRResultCommonScore + """ + if score is None: + raise ValueError("Invalid value for `score`, must not be `None`") + + self._score = score + + @property + def maturity(self) -> int: + """Gets the maturity of this VersionIdentifier. + + + :return: The maturity of this VersionIdentifier. + :rtype: int + """ + return self._maturity + + @maturity.setter + def maturity(self, maturity: int): + """Sets the maturity of this VersionIdentifier. + + + :param maturity: The maturity of this VersionIdentifier. + :type maturity: int + """ + + self._maturity = maturity + + @property + def output(self) -> VersionIdentifierOutput: + """Gets the output of this VersionIdentifier. + + + :return: The output of this VersionIdentifier. + :rtype: VersionIdentifierOutput + """ + return self._output + + @output.setter + def output(self, output: VersionIdentifierOutput): + """Sets the output of this VersionIdentifier. + + + :param output: The output of this VersionIdentifier. + :type output: VersionIdentifierOutput + """ + + self._output = output + + @property + def test_debug(self) -> Debug: + """Gets the test_debug of this VersionIdentifier. + + + :return: The test_debug of this VersionIdentifier. + :rtype: Debug + """ + return self._test_debug + + @test_debug.setter + def test_debug(self, test_debug: Debug): + """Sets the test_debug of this VersionIdentifier. + + + :param test_debug: The test_debug of this VersionIdentifier. + :type test_debug: Debug + """ + + self._test_debug = test_debug diff --git a/fuji_server/models/version_identifier_output.py b/fuji_server/models/version_identifier_output.py new file mode 100755 index 00000000..e5172dd3 --- /dev/null +++ b/fuji_server/models/version_identifier_output.py @@ -0,0 +1,34 @@ +# SPDX-FileCopyrightText: 2020 PANGAEA (https://www.pangaea.de/) +# +# SPDX-License-Identifier: MIT + +# coding: utf-8 + +from datetime import date, datetime # noqa: F401 + +from fuji_server import util +from fuji_server.models.base_model_ import Model + + +class VersionIdentifierOutput(Model): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + + def __init__(self): + """VersionIdentifierOutput - a model defined in Swagger""" + self.swagger_types = {} + + self.attribute_map = {} + + @classmethod + def from_dict(cls, dikt) -> "VersionIdentifierOutput": + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The VersionIdentifier_output of this VersionIdentifierOutput. # noqa: E501 + :rtype: VersionIdentifierOutput + """ + return util.deserialize_model(dikt, cls) diff --git a/fuji_server/yaml/metrics_v0.7_software.yaml b/fuji_server/yaml/metrics_v0.7_software.yaml index bdccceaa..3e72fc04 100644 --- a/fuji_server/yaml/metrics_v0.7_software.yaml +++ b/fuji_server/yaml/metrics_v0.7_software.yaml @@ -12,6 +12,391 @@ config: - dublin-core - dcat-data-catalog-vocabulary metrics: +- metric_identifier: FRSM-01-F1 + metric_number: 1 + metric_short_name: Software Identifier + metric_name: Does the software have a globally unique and persistent identifier? + description: A software object may be assigned with a globally unique identifier such that it can be referenced unambiguously by humans or machines. Globally unique means an identifier should be associated with only one resource at any time. + fair_principle: F1 + target: Software + evaluation_mechanism: Check if the software identifier is based on a suitable identifier scheme, and test it can be resolved. + test_scoring_mechanism: cumulative + metric_tests: + - metric_test_identifier: FRSM-01-F1-1 + metric_test_name: The software has a human and machine-readable unique identifier that is resolvable to a machine-readable landing page and follows a defined unique identifier syntax. + metric_test_score: 1 + metric_test_maturity: 1 + - metric_test_identifier: FRSM-01-F1-2 + metric_test_name: The identifier uses an identifier scheme that guarantees globally uniqueness and persistence. + metric_test_score: 1 + metric_test_maturity: 2 + - metric_test_identifier: FRSM-01-F1-3 + metric_test_name: The identifier scheme is commonly used in the domain. + metric_test_score: 1 + metric_test_maturity: 3 + created_by: FAIR4RS + date_created: 2023-11-10 + date_updated: 2023-12-13 + version: 0.1 + total_score: 3 +- metric_identifier: FRSM-02-F1.1 + metric_number: 2 + metric_short_name: Software Component Identifiers + metric_name: Do the different components of the software have their own identifiers? + description: Conceptually, it is useful for identifiers to be assigned at a more granular level than just the software project (often synonymous with the “software concept” or “software project”). For instance a software product may consist of different modules, which in turn may be implemented by different files. This metric tests that these different components are not all assigned the same identifier, and that the relationship between components is embodied in the identifier metadata. + fair_principle: F1.1 + target: Software + evaluation_mechanism: Check if each software identifier resolves to the appropriate software component and examine identifier metadata. + test_scoring_mechanism: cumulative + metric_tests: + - metric_test_identifier: FRSM-02-F1.1-1 + metric_test_name: Where the 'software' consists of multiple distinct components, each component has a distinct identifier. + metric_test_score: 1 + metric_test_maturity: 1 + - metric_test_identifier: FRSM-02-F1.1-2 + metric_test_name: The relationship between components is embodied in the identifier metadata. + metric_test_score: 1 + metric_test_maturity: 2 + - metric_test_identifier: FRSM-02-F1.1-3 + metric_test_name: Every component to granularity level GL3 (module) has its own unique identifier. + metric_test_score: 1 + metric_test_maturity: 3 + created_by: FAIR4RS + date_created: 2024-01-18 + date_updated: 2024-01-18 + version: 0.1 + total_score: 3 +- metric_identifier: FRSM-03-F1.2 + metric_number: 3 + metric_short_name: Software Version Identifier + metric_name: Does each version of the software have a unique identifier? + description: To make different versions of the same software (or component) findable, each version needs to be assigned a different identifier. The relationship between versions is embodied in the associated metadata. + fair_principle: F1.2 + target: Software + evaluation_mechanism: Check if each software identifier resolves to a different version and examine identifier metadata. + test_scoring_mechanism: cumulative + metric_tests: + - metric_test_identifier: FRSM-03-F1.2-1 + metric_test_name: Each version of the software has a different identifier. + metric_test_score: 1 + metric_test_maturity: 1 + - metric_test_identifier: FRSM-03-F1.2-2 + metric_test_name: Relations between the versions are included in the identifier metadata. + metric_test_score: 1 + metric_test_maturity: 2 + - metric_test_identifier: FRSM-03-F1.2-3 + metric_test_name: The version number is included in the identifier metadata. + metric_test_score: 1 + metric_test_maturity: 3 + created_by: FAIR4RS + date_created: 2024-01-18 + date_updated: 2024-01-18 + version: 0.1 + total_score: 3 +- metric_identifier: FRSM-04-F2 + metric_number: 4 + metric_short_name: Descriptive Metadata + metric_name: Does the software include descriptive metadata which helps define its purpose? + description: Software requires descriptive metadata to support indexing, search and discoverability. + fair_principle: F2 + target: Software + evaluation_mechanism: Check if the software and/or software identifier has machine-readable descriptive metadata associated with it that describe its purpose. + test_scoring_mechanism: cumulative + metric_tests: + - metric_test_identifier: FRSM-04-F2-1 + metric_test_name: The software includes a README or other file which includes the software title and description. + metric_test_score: 1 + metric_test_maturity: 1 + - metric_test_identifier: FRSM-04-F2-2 + metric_test_name: The software includes other descriptive metadata such as domain, funder, programming language, date created, and keywords. + metric_test_score: 1 + metric_test_maturity: 2 + - metric_test_identifier: FRSM-04-F2-3 + metric_test_name: The metadata is contained in a format such as CodeMeta or ProjectObjectModel that enables full machine actionability. + metric_test_score: 1 + metric_test_maturity: 3 + created_by: FAIR4RS + date_created: 2024-01-18 + date_updated: 2024-01-18 + version: 0.1 + total_score: 3 +- metric_identifier: FRSM-05-R1 + metric_number: 5 + metric_short_name: Development Metadata + metric_name: Does the software include development metadata which helps define its status? + description: Software requires descriptive metadata to support indexing, search and discoverability + fair_principle: R1 + target: Software + evaluation_mechanism: Check if the software has machine-readable descriptive metadata associated with it that describes its development and status. + test_scoring_mechanism: cumulative + metric_tests: + - metric_test_identifier: FRSM-05-R1-1 + metric_test_name: The software includes metadata for contact or support in the README or other intrinsic metadata file according to community standards. + metric_test_score: 1 + metric_test_maturity: 1 + - metric_test_identifier: FRSM-05-R1-2 + metric_test_name: The software includes metadata for development status, links to documentation. + metric_test_score: 1 + metric_test_maturity: 2 + - metric_test_identifier: FRSM-05-R1-3 + metric_test_name: The metadata is contained in a format such as CodeMeta or ProjectObjectModel that enables full machine-actionability. + metric_test_score: 1 + metric_test_maturity: 3 + created_by: FAIR4RS + date_created: 2024-01-18 + date_updated: 2024-01-18 + version: 0.1 + total_score: 3 +- metric_identifier: FRSM-06-F2 + metric_number: 6 + metric_short_name: Contributor metadata + metric_name: Does the software include metadata about the contributors and their roles? + description: Software should make it easy to recognise and credit all contributors. + fair_principle: F2 + target: Software + evaluation_mechanism: Check if the software and/or software identifier has machine readable descriptive metadata associated with it that include contributors and roles. + test_scoring_mechanism: cumulative + metric_tests: + - metric_test_identifier: FRSM-06-F2-1 + metric_test_name: The software includes metadata about the contributors. + metric_test_score: 1 + metric_test_maturity: 1 + - metric_test_identifier: FRSM-06-F2-2 + metric_test_name: The software includes citation metadata that includes all contributors and their roles. This includes ORCIDs when contributors have them. + metric_test_score: 1 + metric_test_maturity: 2 + - metric_test_identifier: FRSM-06-F2-3 + metric_test_name: Does the citation metadata include the proportional credit attributed to each contributor? + metric_test_score: 1 + metric_test_maturity: 3 + created_by: FAIR4RS + date_created: 2024-01-18 + date_updated: 2024-01-18 + version: 0.1 + total_score: 3 +- metric_identifier: FRSM-07-F3 + metric_number: 7 + metric_short_name: Identifier in Software Metadata + metric_name: Does the software metadata include the identifier for the software? + description: Software should include its identifier to make it easier to be cited and indexed. + fair_principle: F3 + target: Software + evaluation_mechanism: Check if the software includes its own software identifier, and that the identifier resolves to that software. + test_scoring_mechanism: cumulative + metric_tests: + - metric_test_identifier: FRSM-07-F3-1 + metric_test_name: Does the software include an identifier in the README or citation file? + metric_test_score: 1 + metric_test_maturity: 1 + - metric_test_identifier: FRSM-07-F3-2 + metric_test_name: Does the identifier resolve to the same instance of the software? + metric_test_score: 1 + metric_test_maturity: 2 + created_by: FAIR4RS + date_created: 2024-01-18 + date_updated: 2024-01-18 + version: 0.1 + total_score: 2 +- metric_identifier: FRSM-08-F4 + metric_number: 8 + metric_short_name: Persistent Metadata + metric_name: Does the software have a publicly available, openly accessible and persistent metadata record? + description: Even if the software itself is no longer usable or accessible, its metadata should still be available and accessible. + fair_principle: F4 + target: Software + evaluation_mechanism: Check if the software identifier includes a reference to a persistent landing page or other metadata record, and if that metadata is still accessible. + test_scoring_mechanism: cumulative + metric_tests: + - metric_test_identifier: FRSM-08-F4-1 + metric_test_name: A metadata record for the software is present on an infrastructure that guarantees persistence. + metric_test_score: 1 + metric_test_maturity: 1 + - metric_test_identifier: FRSM-08-F4-2 + metric_test_name: The persistent metadata record is available through public search engines. The metadata has a globally unique and persistent identifier. + metric_test_score: 1 + metric_test_maturity: 2 + - metric_test_identifier: FRSM-08-F4-3 + metric_test_name: The persistent metadata record is available through multiple, cross-referenced infrastructures. + metric_test_score: 1 + metric_test_maturity: 3 + created_by: FAIR4RS + date_created: 2024-01-18 + date_updated: 2024-01-18 + version: 0.1 + total_score: 3 +- metric_identifier: FRSM-09-A1 + metric_number: 9 + metric_short_name: Standard Communication Protocol of Repository + metric_name: Is the software developed in a code repository / forge that uses standard communications protocols? + description: Software source code repositories / forges (a.k.a. version control platforms) should use standard communications protocols (such as https / sftp) to enable the widest possible set of contributors. + fair_principle: A1 + target: Software + evaluation_mechanism: Check if the identifier for the code repository / forge can be accessed using standardised communications protocols such as https or sftp. + test_scoring_mechanism: cumulative + metric_tests: + - metric_test_identifier: FRSM-09-A1-1 + metric_test_name: The code repository / forge can be accessed using the identifier via a standardised protocol. + metric_test_score: 1 + metric_test_maturity: 1 + - metric_test_identifier: FRSM-09-A1-2 + metric_test_name: If authentication or authorisation are required, these are supported by the communication protocols and the repository / forge. + metric_test_score: 1 + metric_test_maturity: 2 + created_by: FAIR4RS + date_created: 2024-01-18 + date_updated: 2024-01-18 + version: 0.1 + total_score: 2 +- metric_identifier: FRSM-10-I1 + metric_number: 10 + metric_short_name: Open Referenced Formats + metric_name: Are the formats used by the data consumed or produced by the software open and a reference provided to the format? + description: The use of open file formats for data improves the reusability and understandability of the software. + fair_principle: I1 + target: Software + evaluation_mechanism: Check the software source code and documentation for references to the data formats used. + test_scoring_mechanism: cumulative + metric_tests: + - metric_test_identifier: FRSM-10-I1-1 + metric_test_name: The documentation describes the data formats used. + metric_test_score: 1 + metric_test_maturity: 1 + - metric_test_identifier: FRSM-10-I1-2 + metric_test_name: The data formats used are open. + metric_test_score: 1 + metric_test_maturity: 2 + - metric_test_identifier: FRSM-10-I1-3 + metric_test_name: A reference to the schema is provided. + metric_test_score: 1 + metric_test_maturity: 3 + created_by: FAIR4RS + date_created: 2024-01-18 + date_updated: 2024-01-18 + version: 0.1 + total_score: 3 +- metric_identifier: FRSM-11-I1 + metric_number: 11 + metric_short_name: Open API + metric_name: Does the software use open APIs that support machine-readable interface definition? + description: An open Application Programming Interface can be freely accessed by other software or developers, which makes it easier to integrate software and encourages modularity and reuse. + fair_principle: I1 + target: Software + evaluation_mechanism: Call the software API. + test_scoring_mechanism: cumulative + metric_tests: + - metric_test_identifier: FRSM-11-I1-1 + metric_test_name: The software provides documented APIs. + metric_test_score: 1 + metric_test_maturity: 1 + - metric_test_identifier: FRSM-11-I1-2 + metric_test_name: The APIs are open (freely accessible). + metric_test_score: 1 + metric_test_maturity: 2 + - metric_test_identifier: FRSM-11-I1-3 + metric_test_name: The APIs include a machine-readable interface definition. + metric_test_score: 1 + metric_test_maturity: 3 + created_by: FAIR4RS + date_created: 2024-01-18 + date_updated: 2024-01-18 + version: 0.1 + total_score: 3 +- metric_identifier: FRSM-12-I2 + metric_number: 12 + metric_short_name: References + metric_name: Does the software provide references to other objects that support its use? + description: Determining the usefulness of a piece of software is often aided by understanding what it is used with. + fair_principle: I2 + target: Software + evaluation_mechanism: Check if the software metadata includes references to other related resources. + test_scoring_mechanism: cumulative + metric_tests: + - metric_test_identifier: FRSM-12-I2-1 + metric_test_name: The software metadata includes machine-readable references to articles describing the software, articles demonstrating use of the software, or to the data it uses. + metric_test_score: 1 + metric_test_maturity: 2 + created_by: FAIR4RS + date_created: 2024-01-18 + date_updated: 2024-01-18 + version: 0.1 + total_score: 1 +- metric_identifier: FRSM-13-R1 + metric_number: 13 + metric_short_name: Requirements + metric_name: Does the software describe what is required to use it? + description: Software is made more reusable by providing suitable machine-actionable information on dependencies, build and configuration. + fair_principle: R1 + target: Software + evaluation_mechanism: Check for machine-readable information that helps support the understanding of how it is to be used + test_scoring_mechanism: cumulative + metric_tests: + - metric_test_identifier: FRSM-13-R1-1 + metric_test_name: The software has build, installation and/or execution instructions. + metric_test_score: 1 + metric_test_maturity: 1 + metric_test_requirements: + - target: https://f-uji.net/vocab/metadata/standards + modality: any + required: + location: + - README + - docs_directory + - wiki + keywords: + - build + - install + - run + - metric_test_identifier: FRSM-13-R1-2 + metric_test_name: Dependencies are provided in a machine-readable format and the building and installation of the software is automated. + metric_test_score: 1 + metric_test_maturity: 2 + metric_test_requirements: + - target: https://f-uji.net/vocab/metadata/standards + modality: any + required: + dependency_file: + - requirements.txt + - target: https://f-uji.net/vocab/metadata/standards + modality: all + required: + automation_file: + - Jenkinsfile + - github_actions + automation_keywords: + - build + - deploy + created_by: FAIR4RS + date_created: 2024-01-18 + date_updated: 2024-01-18 + version: 0.1 + total_score: 2 +- metric_identifier: FRSM-14-R1 + metric_number: 14 + metric_short_name: Test Cases + metric_name: Does the software come with test cases to demonstrate it is working? + description: The provision of test cases improves confidence in the software. + fair_principle: R1 + target: Software + evaluation_mechanism: Check for the presence of automated tests. + test_scoring_mechanism: cumulative + metric_tests: + - metric_test_identifier: FRSM-14-R1-1 + metric_test_name: Tests and data are provided to check that the software is operating as expected. + metric_test_score: 1 + metric_test_maturity: 1 + - metric_test_identifier: FRSM-14-R1-2 + metric_test_name: Automated unit and system tests are provided. + metric_test_score: 1 + metric_test_maturity: 2 + - metric_test_identifier: FRSM-14-R1-3 + metric_test_name: Code coverage / test coverage is reported. + metric_test_score: 1 + metric_test_maturity: 3 + created_by: FAIR4RS + date_created: 2024-01-18 + date_updated: 2024-01-18 + version: 0.1 + total_score: 3 - metric_identifier: FRSM-15-R1.1 metric_number: 15 metric_short_name: Software Source Code License @@ -39,3 +424,53 @@ metrics: date_updated: 2023-12-13 version: 0.1 total_score: 3 +- metric_identifier: FRSM-16-R1.1 + metric_number: 16 + metric_short_name: Software Metadata License + metric_name: Does the software metadata record include licensing information? + description: It is important for licensing information to be on the publicly searchable and accessible metadata record + fair_principle: R1.1 + target: Software + evaluation_mechanism: Check if the software identifier or the metadata record referenced by it includes licensing information + test_scoring_mechanism: cumulative + metric_tests: + - metric_test_identifier: FRSM-16-R1.1-1 + metric_test_name: The identifier or metadata record includes licensing and copyright information. + metric_test_score: 1 + metric_test_maturity: 1 + - metric_test_identifier: FRSM-16-R1.1-2 + metric_test_name: The software licensing information is in SPDX format, or other machine-readable form. + metric_test_score: 1 + metric_test_maturity: 3 + created_by: FAIR4RS + date_created: 2024-01-18 + date_updated: 2024-01-18 + version: 0.1 + total_score: 2 +- metric_identifier: FRSM-17-R1.2 + metric_number: 17 + metric_short_name: Provenance + metric_name: Does the software include provenance information that describe the development of the software? + description: Good provenance metadata clarifies the origins and intent behind the development of the software, and establishes authenticity and trust. + fair_principle: R1.2 + target: Software + evaluation_mechanism: Check the development metadata available from the code repository / forge for the software. + test_scoring_mechanism: cumulative + metric_tests: + - metric_test_identifier: FRSM-17-R1.2-1 + metric_test_name: The software source code repository / forge includes a commit history. + metric_test_score: 1 + metric_test_maturity: 1 + - metric_test_identifier: FRSM-17-R1.2-2 + metric_test_name: The software source code repository links commits to issues / tickets. + metric_test_score: 1 + metric_test_maturity: 2 + - metric_test_identifier: FRSM-17-R1.2-3 + metric_test_name: The software project uses other tools to capture detailed machine readable provenance information. + metric_test_score: 1 + metric_test_maturity: 3 + created_by: FAIR4RS + date_created: 2024-01-18 + date_updated: 2024-01-18 + version: 0.1 + total_score: 3 diff --git a/fuji_server/yaml/metrics_v0.7_software_cessda.yaml b/fuji_server/yaml/metrics_v0.7_software_cessda.yaml index ef4efeab..9b6aafeb 100644 --- a/fuji_server/yaml/metrics_v0.7_software_cessda.yaml +++ b/fuji_server/yaml/metrics_v0.7_software_cessda.yaml @@ -12,7 +12,372 @@ config: - dublin-core - dcat-data-catalog-vocabulary metrics: -- metric_identifier: FRSM-15-R1.1 +- metric_identifier: FRSM-01-F1-CESSDA + metric_number: 1 + metric_short_name: Software Identifier + metric_name: Does the software have a globally unique and persistent identifier? + description: A software object may be assigned with a globally unique identifier such that it can be referenced unambiguously by humans or machines. Globally unique means an identifier should be associated with only one resource at any time. + fair_principle: F1 + target: Software + evaluation_mechanism: Check that an established identifier scheme from the CESSDA Software Publication polices is used to identify software. + test_scoring_mechanism: cumulative + metric_tests: + - metric_test_identifier: FRSM-01-F1-CESSDA-1 + metric_test_name: A version-dependent DOI must be added in the repository's README as the recommended citation. + metric_test_score: 1 + metric_test_maturity: 1 + - metric_test_identifier: FRSM-01-F1-CESSDA-2 + metric_test_name: Releases use the Semantic Versioning 2.0.0 notation. + metric_test_score: 1 + metric_test_maturity: 2 + - metric_test_identifier: FRSM-01-F1-CESSDA-3 + metric_test_name: Only Major and Minor releases are assigned DOIs. + metric_test_score: 1 + metric_test_maturity: 3 + created_by: FAIR4RS + date_created: 2023-11-10 + date_updated: 2023-12-13 + version: 0.1 + total_score: 3 +- metric_identifier: FRSM-02-F1.1-CESSDA + metric_number: 2 + metric_short_name: Software Component Identifiers + metric_name: Can different components of the software be individually identified? + description: Conceptually, it is useful for identifiers to be assigned at a more granular level than just the software project (often synonymous with the “software concept” or “software project”). For instance a software product may consist of different modules, which in turn may be implemented by different files. This metric tests that these different components are not all assigned the same identifier, and that the relationship between components is embodied in the identifier metadata. + fair_principle: F1.1 + target: Software + evaluation_mechanism: Check that each software product is split into component microservices, each with its own DOI. + test_scoring_mechanism: cumulative + metric_tests: + - metric_test_identifier: FRSM-02-F1.1-CESSDA-1 + metric_test_name: A separate Git repository is used for the source code of each component (aka microservices). The product deployment scripts assemble the constituent components. + metric_test_score: 1 + metric_test_maturity: 1 + - metric_test_identifier: FRSM-02-F1.1-CESSDA-2 + metric_test_name: Each component is deposited in Zenodo with its own DOI. + metric_test_score: 1 + metric_test_maturity: 2 + - metric_test_identifier: FRSM-02-F1.1-CESSDA-3 + metric_test_name: The Zenodo record for each component is tagged with the product(s) that it contributes to. + metric_test_score: 1 + metric_test_maturity: 3 + created_by: FAIR4RS + date_created: 2024-01-18 + date_updated: 2024-01-18 + version: 0.1 + total_score: 3 +- metric_identifier: FRSM-03-F1.2-CESSDA + metric_number: 3 + metric_short_name: Software Version Identifier + metric_name: Does each version of the software have a unique identifier? + description: To make different versions of the same software (or component) findable, each version needs to be assigned a different identifier. The relationship between versions is embodied in the associated metadata. + fair_principle: F1.2 + target: Software + evaluation_mechanism: Check that each release follows CESSDA software publication policies and is deposited in a repository that provides a unique DOI for each release. + test_scoring_mechanism: cumulative + metric_tests: + - metric_test_identifier: FRSM-03-F1.2-CESSDA-1 + metric_test_name: Each release is published to Zenodo and a DOI obtained. A publication consists of a release tarball matching the release tag in the repository. Release tags exist and adhere to SemVer 2.0.0. The README and CHANGELOG must be up to date prior to release and they must be added to the Zenodo record in addition to the tarball. + metric_test_score: 1 + metric_test_maturity: 1 + - metric_test_identifier: FRSM-03-F1.2-CESSDA-2 + metric_test_name: A release checklist is used to ensure that all necessary steps are taken for each release. Releases must be available as Docker images with the release version as tag. + metric_test_score: 1 + metric_test_maturity: 2 + - metric_test_identifier: FRSM-03-F1.2-CESSDA-3 + metric_test_name: Reserve the DOI in Zenodo, prior to release, to avoid a circularity problem with the CHANGELOG and the tarball. + metric_test_score: 1 + metric_test_maturity: 3 + created_by: FAIR4RS + date_created: 2024-01-18 + date_updated: 2024-01-18 + version: 0.1 + total_score: 3 +- metric_identifier: FRSM-04-F2-CESSDA + metric_number: 4 + metric_short_name: Descriptive Metadata + metric_name: Does the software include descriptive metadata which helps define its purpose? + description: Software requires descriptive metadata to support indexing, search and discoverability. + fair_principle: F2 + target: Software + evaluation_mechanism: Query the metadata provided by the Zenodo record for the software. + test_scoring_mechanism: cumulative + metric_tests: + - metric_test_identifier: FRSM-04-F2-CESSDA-1 + metric_test_name: Zenodo metadata includes the software name and description. + metric_test_score: 1 + metric_test_maturity: 1 + - metric_test_identifier: FRSM-04-F2-CESSDA-2 + metric_test_name: Zenodo metadata includes other descriptive metadata as recommended in CESSDA Software Requirements. + metric_test_score: 1 + metric_test_maturity: 2 + created_by: FAIR4RS + date_created: 2024-01-18 + date_updated: 2024-01-18 + version: 0.1 + total_score: 2 +- metric_identifier: FRSM-05-R1-CESSDA + metric_number: 5 + metric_short_name: Development Metadata + metric_name: Does the software include development metadata which helps define its status? + description: Software requires descriptive metadata to support indexing, search and discoverability + fair_principle: R1 + target: Software + evaluation_mechanism: Check the README and CHANGELOG files for development status indicators. + test_scoring_mechanism: cumulative + metric_tests: + - metric_test_identifier: FRSM-05-R1-CESSDA-1 + metric_test_name: The README and CHANGELOG must be up to date. The README contains release details, version details, links to documentation as described in the EURISE Network Technical Reference. + metric_test_score: 1 + metric_test_maturity: 1 + - metric_test_identifier: FRSM-05-R1-CESSDA-2 + metric_test_name: Version numbering follows Semantic Versioning 2.0.0 and pre-release versions may be denoted by appending a hyphen and a series of dot separated identifiers immediately following the patch version. + metric_test_score: 1 + metric_test_maturity: 2 + created_by: FAIR4RS + date_created: 2024-01-18 + date_updated: 2024-01-18 + version: 0.1 + total_score: 2 +- metric_identifier: FRSM-06-F2-CESSDA + metric_number: 6 + metric_short_name: Contributor metadata + metric_name: Does the software include metadata about the contributors and their roles? + description: Software should make it easy to recognise and credit all contributors. + fair_principle: F2 + target: Software + evaluation_mechanism: Check that the CITATION and/or CONTRIBUTORS files exist and Zenodo metadata is present. + test_scoring_mechanism: cumulative + metric_tests: + - metric_test_identifier: FRSM-06-F2-CESSDA-1 + metric_test_name: A CITATION and/or CONTRIBUTORS files is present in the root of the repository. + metric_test_score: 1 + metric_test_maturity: 1 + - metric_test_identifier: FRSM-06-F2-CESSDA-2 + metric_test_name: Author details (including ORCIDs) are present in the corresponding Zenodo record. ORCIDs are present for authors in the CITATION.cff file. + metric_test_score: 1 + metric_test_maturity: 2 + created_by: FAIR4RS + date_created: 2024-01-18 + date_updated: 2024-01-18 + version: 0.1 + total_score: 2 +- metric_identifier: FRSM-07-F3-CESSDA + metric_number: 7 + metric_short_name: Identifier in Software Metadata + metric_name: Does the software metadata include the identifier for the software? + description: Software should include its identifier to make it easier to be cited and indexed. + fair_principle: F3 + target: Software + evaluation_mechanism: Check that README and CITATION files exist and include the DOI for the corresponding software release. + test_scoring_mechanism: cumulative + metric_tests: + - metric_test_identifier: FRSM-07-F3-CESSDA-1 + metric_test_name: The README file includes the DOI that represents all versions in Zenodo. + metric_test_score: 1 + metric_test_maturity: 1 + - metric_test_identifier: FRSM-07-F3-CESSDA-2 + metric_test_name: The CITATION.cff file included in the root of the repository includes the appropriate DOI for the corresponding software release in Zenodo. + metric_test_score: 1 + metric_test_maturity: 2 + created_by: FAIR4RS + date_created: 2024-01-18 + date_updated: 2024-01-18 + version: 0.1 + total_score: 2 +- metric_identifier: FRSM-08-F4-CESSDA + metric_number: 8 + metric_short_name: Persistent Metadata + metric_name: Does the software have a publicly available, openly accessible and persistent metadata record? + description: Even if the software itself is no longer usable or accessible, its metadata should still be available and accessible. + fair_principle: F4 + target: Software + evaluation_mechanism: Check that a DOI exists for the latest release and resolves to a Zenodo landing page. + test_scoring_mechanism: cumulative + metric_tests: + - metric_test_identifier: FRSM-08-F4-CESSDA-1 + metric_test_name: The DOI resolves to a Zenodo landing page for the latest release, and metadata can be accessed via the Zenodo API. + metric_test_score: 1 + metric_test_maturity: 1 + - metric_test_identifier: FRSM-08-F4-CESSDA-2 + metric_test_name: The Zenodo metadata record is available through public search engines. + metric_test_score: 1 + metric_test_maturity: 2 + - metric_test_identifier: FRSM-08-F4-CESSDA-3 + metric_test_name: The persistent metadata record is available through multiple, cross-referenced infrastructures, including OpenAIRE . + metric_test_score: 1 + metric_test_maturity: 3 + created_by: FAIR4RS + date_created: 2024-01-18 + date_updated: 2024-01-18 + version: 0.1 + total_score: 3 +- metric_identifier: FRSM-09-A1-CESSDA + metric_number: 9 + metric_short_name: Standard Communication Protocol of Repository + metric_name: Is the software developed in a code repository / forge that uses standard communications protocols? + description: Software source code repositories / forges (a.k.a. version control platforms) should use standard communications protocols (such as https / sftp) to enable the widest possible set of contributors. + fair_principle: A1 + target: Software + evaluation_mechanism: Check that the git repository of the component is accessible using standardised communications protocols such as https or sftp. + test_scoring_mechanism: cumulative + metric_tests: + - metric_test_identifier: FRSM-09-A1-CESSDA-1 + metric_test_name: Ensure that repositories containing component software are publicly accessible. + metric_test_score: 1 + metric_test_maturity: 1 + - metric_test_identifier: FRSM-09-A1-CESSDA-2 + metric_test_name: No authentication is required to view and/or clone CESSDA's public repositories, even so, their contents cannot be modified directly by 3rd parties. + metric_test_score: 1 + metric_test_maturity: 2 + - metric_test_identifier: FRSM-09-A1-CESSDA-3 + metric_test_name: Pull requests are used to propose modifications to the contents. + metric_test_score: 1 + metric_test_maturity: 3 + created_by: FAIR4RS + date_created: 2024-01-18 + date_updated: 2024-01-18 + version: 0.1 + total_score: 3 +- metric_identifier: FRSM-10-I1-CESSDA + metric_number: 10 + metric_short_name: Open Referenced Formats + metric_name: Are the formats used by the data consumed or produced by the software open and a reference provided to the format? + description: The use of open file formats for data improves the reusability and understandability of the software. + fair_principle: I1 + target: Software + evaluation_mechanism: Check that data content used by CESSDA services is machine-readable. + test_scoring_mechanism: cumulative + metric_tests: + - metric_test_identifier: FRSM-10-I1-CESSDA-1 + metric_test_name: The data formats used by the software are noted in the documentation. + metric_test_score: 1 + metric_test_maturity: 1 + - metric_test_identifier: FRSM-10-I1-CESSDA-2 + metric_test_name: The data complies with a recognised standard used by the CESSDA community (typically DDI/XML, RDF/XML, TURTLE, JSON-LD or SKOS). + metric_test_score: 1 + metric_test_maturity: 2 + - metric_test_identifier: FRSM-10-I1-CESSDA-3 + metric_test_name: Where a public API is used to access the data content, it complies with the OpenAPI standard. + metric_test_score: 1 + metric_test_maturity: 3 + created_by: FAIR4RS + date_created: 2024-01-18 + date_updated: 2024-01-18 + version: 0.1 + total_score: 3 +- metric_identifier: FRSM-11-I1-CESSDA + metric_number: 11 + metric_short_name: Open API + metric_name: Does the software use open APIs that support machine-readable interface definition? + description: An open Application Programming Interface can be freely accessed by other software or developers, which makes it easier to integrate software and encourages modularity and reuse. + fair_principle: I1 + target: Software + evaluation_mechanism: Call the software API. + test_scoring_mechanism: cumulative + metric_tests: + - metric_test_identifier: FRSM-11-I1-CESSDA-1 + metric_test_name: The API meets SML3 of the CESSDA Development Documentation guidelines, i.e. there is external documentation that describes all API functionality, which is sufficient to be used by any developer. + metric_test_score: 1 + metric_test_maturity: 1 + - metric_test_identifier: FRSM-11-I1-CESSDA-2 + metric_test_name: The software's REST APIs comply with the OpenAPI standard. + metric_test_score: 1 + metric_test_maturity: 2 + - metric_test_identifier: FRSM-11-I1-CESSDA-3 + metric_test_name: The software's REST APIs are described in the published CESSDA API definitions. + metric_test_score: 1 + metric_test_maturity: 3 + created_by: FAIR4RS + date_created: 2024-01-18 + date_updated: 2024-01-18 + version: 0.1 + total_score: 3 +- metric_identifier: FRSM-13-R1-CESSDA + metric_number: 13 + metric_short_name: Requirements + metric_name: Does the software describe what is required to use it? + description: Software is made more reusable by providing suitable machine-actionable information on dependencies, build and configuration. + fair_principle: R1 + target: Software + evaluation_mechanism: Check the README file. + test_scoring_mechanism: cumulative + metric_tests: + - metric_test_identifier: FRSM-13-R1-CESSDA-1 + metric_test_name: Dependency information and build instructions are included in the README file. Linting and other relevant checks are present in the automated build and test process (e.g. via the Jenkinsfile). + metric_test_score: 1 + metric_test_maturity: 1 + metric_test_requirements: + - target: https://f-uji.net/vocab/metadata/standards + modality: all + required: + location: + - README + keywords: + - build + - dependencies + - target: https://f-uji.net/vocab/metadata/standards + modality: all + required: + automation_file: + - Jenkinsfile + - github_actions + automation_keywords: + - lint + - metric_test_identifier: FRSM-13-R1-CESSDA-2 + metric_test_name: The README file includes a badge that links to the automated build tool (Jenkins). Deployment to development and staging environments is automated (conditional on test results). + metric_test_score: 1 + metric_test_maturity: 2 + metric_test_requirements: + - target: https://f-uji.net/vocab/metadata/standards + modality: any + required: + badge_link_keywords: + - jenkins + - target: https://f-uji.net/vocab/metadata/standards + modality: any + required: + automation_file: + - Jenkinsfile + automation_keywords: + - deploy + - metric_test_identifier: FRSM-13-R1-CESSDA-3 + metric_test_name: The build badge indicates the status of the latest build (passing or failing). + metric_test_score: 1 + metric_test_maturity: 3 + created_by: FAIR4RS + date_created: 2024-01-18 + date_updated: 2024-01-18 + version: 0.1 + total_score: 3 +- metric_identifier: FRSM-14-R1-CESSDA + metric_number: 14 + metric_short_name: Test Cases + metric_name: Does the software come with test cases to demonstrate it is working? + description: The provision of test cases improves confidence in the software. + fair_principle: R1 + target: Software + evaluation_mechanism: Check the README file. + test_scoring_mechanism: cumulative + metric_tests: + - metric_test_identifier: FRSM-14-R1-CESSDA-1 + metric_test_name: The README file includes badges that link to a comprehensive code quality assessment tool (SonarQube) and automated build tool (Jenkins) + metric_test_score: 1 + metric_test_maturity: 1 + - metric_test_identifier: FRSM-14-R1-CESSDA-2 + metric_test_name: A production system has been tested and validated through successful use of the application. Compliance with open or internationally recognised standards for the software and software development process, is evident and documented, and verified through testing of all components. Ideally independent verification is documented through regular testing and certification from an independent group. + metric_test_score: 1 + metric_test_maturity: 2 + - metric_test_identifier: FRSM-14-R1-CESSDA-3 + metric_test_name: The README file badges indicate the status of the tests and other code quality metrics. The repository contains a subdirectory containing code for the test cases that are run automatically. + metric_test_score: 1 + metric_test_maturity: 3 + created_by: FAIR4RS + date_created: 2024-01-18 + date_updated: 2024-01-18 + version: 0.1 + total_score: 3 +- metric_identifier: FRSM-15-R1.1-CESSDA metric_number: 15 metric_short_name: Software Source Code License metric_name: The software source code includes licensing information for the software and any bundled external software. @@ -30,12 +395,70 @@ metrics: metric_test_name: Licensing information is part of the source code header. metric_test_score: 1 metric_test_maturity: 2 + metric_test_requirements: + - target: https://f-uji.net/vocab/metadata/standards + required: + keywords: + - license + - licence - metric_test_identifier: FRSM-15-R1.1-CESSDA-3 metric_test_name: The build script (Maven POM, where used) checks that the standard header is present in all source code files. metric_test_score: 1 metric_test_maturity: 3 + metric_test_requirements: + - target: https://f-uji.net/vocab/metadata/standards + modality: any + required: + build_script: + - maven_pom created_by: FAIR4RS date_created: 2023-12-13 date_updated: 2023-12-13 version: 0.1 total_score: 3 +- metric_identifier: FRSM-16-R1.1-CESSDA + metric_number: 16 + metric_short_name: Software Metadata License + metric_name: Does the software metadata record include licensing information? + description: It is important for licensing information to be on the publicly searchable and accessible metadata record + fair_principle: R1.1 + target: Software + evaluation_mechanism: Check for the presence of licence information in the Zenodo repository and source code deposited in the repository. + test_scoring_mechanism: cumulative + metric_tests: + - metric_test_identifier: FRSM-16-R1.1-CESSDA-1 + metric_test_name: Licensing information is included in the Zenodo record and in a LICENSE.txt file included in the root directory of the source code deposited in Zenodo. + metric_test_score: 1 + metric_test_maturity: 1 + created_by: FAIR4RS + date_created: 2024-01-18 + date_updated: 2024-01-18 + version: 0.1 + total_score: 1 +- metric_identifier: FRSM-17-R1.2-CESSDA + metric_number: 17 + metric_short_name: Provenance + metric_name: Does the software include provenance information that describe the development of the software? + description: Good provenance metadata clarifies the origins and intent behind the development of the software, and establishes authenticity and trust. + fair_principle: R1.2 + target: Software + evaluation_mechanism: Check the commit history of the code repository. + test_scoring_mechanism: cumulative + metric_tests: + - metric_test_identifier: FRSM-17-R1.2-CESSDA-1 + metric_test_name: Code repository contains commit messages. + metric_test_score: 1 + metric_test_maturity: 1 + - metric_test_identifier: FRSM-17-R1.2-CESSDA-2 + metric_test_name: Code that addresses an issue is developed in a branch prefixed with the issue number. + metric_test_score: 1 + metric_test_maturity: 2 + - metric_test_identifier: FRSM-17-R1.2-CESSDA-3 + metric_test_name: Links to Pull Requests are included in issue tracker tickets. + metric_test_score: 1 + metric_test_maturity: 3 + created_by: FAIR4RS + date_created: 2024-01-18 + date_updated: 2024-01-18 + version: 0.1 + total_score: 3 diff --git a/fuji_server/yaml/openapi.yaml b/fuji_server/yaml/openapi.yaml index aeef5a54..7055093e 100644 --- a/fuji_server/yaml/openapi.yaml +++ b/fuji_server/yaml/openapi.yaml @@ -250,6 +250,14 @@ components: - $ref: '#/components/schemas/CommunityEndorsedStandard' - $ref: '#/components/schemas/DataFileFormat' - $ref: '#/components/schemas/MetadataPreserved' + - $ref: '#/components/schemas/CodeProvenance' + - $ref: '#/components/schemas/ComponentIdentifier' + - $ref: '#/components/schemas/TestCase' + - $ref: '#/components/schemas/UniquePersistentIdentifierSoftware' + - $ref: '#/components/schemas/VersionIdentifier' + - $ref: '#/components/schemas/API' + - $ref: '#/components/schemas/DevelopmentMetadata' + - $ref: '#/components/schemas/Requirements' - $ref: '#/components/schemas/StandardisedProtocolData' - $ref: '#/components/schemas/StandardisedProtocolMetadata' FAIRResultCommon: @@ -419,6 +427,79 @@ components: $ref: '#/components/schemas/MetadataPreserved_output' test_debug: $ref: '#/components/schemas/Debug' + CodeProvenance: + allOf: + - $ref: '#/components/schemas/FAIRResultCommon' + - type: object + properties: + output: + $ref: '#/components/schemas/CodeProvenance_output' + test_debug: + $ref: '#/components/schemas/Debug' + ComponentIdentifier: + allOf: + - $ref: '#/components/schemas/FAIRResultCommon' + - type: object + properties: + output: + $ref: '#/components/schemas/ComponentIdentifier_output' + test_debug: + $ref: '#/components/schemas/Debug' + TestCase: + allOf: + - $ref: '#/components/schemas/FAIRResultCommon' + - type: object + properties: + output: + $ref: '#/components/schemas/TestCase_output' + test_debug: + $ref: '#/components/schemas/Debug' + UniquePersistentIdentifierSoftware: + allOf: + - $ref: '#/components/schemas/FAIRResultCommon' + - type: object + properties: + output: + $ref: '#/components/schemas/UniquePersistentIdentifierSoftware_output' + test_debug: + $ref: '#/components/schemas/Debug' + VersionIdentifier: + allOf: + - $ref: '#/components/schemas/FAIRResultCommon' + - type: object + properties: + output: + $ref: '#/components/schemas/VersionIdentifier_output' + test_debug: + $ref: '#/components/schemas/Debug' + API: + allOf: + - $ref: '#/components/schemas/FAIRResultCommon' + - type: object + properties: + output: + $ref: '#/components/schemas/API_output' + test_debug: + $ref: '#/components/schemas/Debug' + DevelopmentMetadata: + allOf: + - $ref: '#/components/schemas/FAIRResultCommon' + - type: object + properties: + output: + $ref: '#/components/schemas/DevelopmentMetadata_output' + test_debug: + $ref: '#/components/schemas/Debug' + Requirements: + allOf: + - $ref: '#/components/schemas/FAIRResultCommon' + - type: object + properties: + output: + $ref: '#/components/schemas/Requirements_output' + test_debug: + $ref: '#/components/schemas/Debug' + StandardisedProtocolData: allOf: - $ref: '#/components/schemas/FAIRResultCommon' @@ -605,6 +686,22 @@ components: enum: - datacite - tombstone + CodeProvenance_output: + type: object + ComponentIdentifier_output: + type: object + TestCase_output: + type: object + UniquePersistentIdentifierSoftware_output: + type: object + VersionIdentifier_output: + type: object + API_output: + type: object + DevelopmentMetadata_output: + type: object + Requirements_output: + type: object Metrics: type: object properties: diff --git a/metrics_configuration.md b/metrics_configuration.md index 0ac6d5f9..8171e1d4 100644 --- a/metrics_configuration.md +++ b/metrics_configuration.md @@ -16,7 +16,7 @@ Copy the YAML content of this metric file to a new metric file and save the file To define own metrics you can restrict the number of metrics and add configuration options to a limited number of existing metrics. -### Configure metrics and tests to be performed +### Configure metrics and tests to be performed To restrict metrics choose those you want to use from the 0.6 list of metrics and tests and simply delete tests or metrics which you do not wish to be performed during your assessments. @@ -26,12 +26,12 @@ For all metrics and tests you can change the YAML properties*metric_short_name*, For some tests you can define additional parameters. For example, one can specify exactly which metadata elements, licenses, metadata standards or vocabularies are expected. -Generally, these specifications are defined using the YAML property *community_requirements* which has to be a dictionary containing the subproperties *target*, *modality*, and *required*. +Generally, these specifications are defined using the YAML property *community_requirements* which has to be a dictionary containing the subproperties *target*, *modality*, and *required*. * *target* defines the test targets, defined in the F-UJI ontology, such as licenses, metadata properties etc. which is represented by a controlled list of values which is used for tests by default. * *required* has to be a list which defines the necessary property values -* *modality* defines if *all* or *any* of *required* values need to be present to pass the test. -*match* specifies how matching values are identified: *wildcard* for wildcard-like match rules like 'test*'; *full* when a full match is required. +* *modality* defines if *all* or *any* of *required* values need to be present to pass the test. +*match* specifies how matching values are identified: *wildcard* for wildcard-like match rules like 'test*'; *full* when a full match is required. *target_property* additionally defines the property of the *target* object in which matches are searched for, by default the property *name* or *label* is used for this purpose. *modality* and *match* are currently not yet implemented, thus still hardcoded :( but may be implemented in future versions. diff --git a/simpleclient/docker/compose.yml b/simpleclient/docker/compose.yml new file mode 100644 index 00000000..17118e25 --- /dev/null +++ b/simpleclient/docker/compose.yml @@ -0,0 +1,23 @@ +name: fuji-web + +services: + nginx: + image: nginx:1.25.3-alpine + ports: + - 80:80 + - 443:443 + volumes: + - ./nginx/default.conf:/etc/nginx/conf.d/default.conf + - .:/var/www/html + - ./../icon:/var/www/html/icon + restart: always + + php: + image: php:8.1-fpm + volumes: + - .:/var/www/html + restart: always + + fuji-server: + image: fuji-ext:latest + restart: always diff --git a/simpleclient/docker/index.php b/simpleclient/docker/index.php new file mode 100644 index 00000000..edabab31 --- /dev/null +++ b/simpleclient/docker/index.php @@ -0,0 +1,478 @@ + + + + + + + + + + + + + + + + F-UJI simple client + + + +'Findable','A'=>'Accessible','I'=>'Interoperable','R'=>'Reusable']; +$fair_index=['F'=>0,'A'=>1,'I'=>2,'R'=>3]; +$maturity_scale = [0=>'incomplete',1=>'initial',2=>'moderate', 3=>'advanced']; +$status_scale = ['pass'=>'passed', 'fail'=>'not detected']; +$maturity_palette = array(0=>'#fe7d37',1=>'#dfb317',2=>'#97ca00',3=>'#4c1'); +$maturity_level_text_array = array(0=>'incomplete',1=>'initial',2=>'managed',3=>'defined'); + +$input_service_type = 'oai_pmh'; +$input_service_url =''; +if (isset($_POST['service_url'])){ + $input_service_url = $_POST['service_url']; + if (isset($_POST['service_type'])){ + $input_service_type = $_POST['service_type']; + } +} + +if(!isset($_POST['use_datacite'])){ + $usedatacite=false; +}else{ + $usedatacite=true; +} +if (isset($_REQUEST['pid'])){ + $input_pid = $_REQUEST['pid']; +}else { + $input_pid =Null; +} +if (isset($_POST['service_url'])){ + $input_service_url = $_POST['service_url']; + if (isset($_POST['service_type'])){ + $input_service_type = $_POST['service_type']; + } +} +if(isset($_POST['metric_version'])){ + $input_metric_version=$_POST['metric_version']; +}else{ + $input_metric_version="metrics_v0.7_software"; +} + +$allowed_service_types = array('oai_pmh'=>'OAI-PMH','ogc_csw'=>'OGC CSW', 'sparql'=>'SPARQL'); +$allowed_metric_versions = array('metrics_v0.7_software'=>'software-agnostic', 'metrics_v0.7_software_cessda'=>'software-CESSDA') + +?> +
+

FAIR assessment

+
+
+ +

F-UJI is a web service to programatically assess FAIRness of research data objects (aka data sets) based on metrics developed by the FAIRsFAIR project.

+

Please use the form below to enter an identifier (e.g. DOI, URL) of the data set you wish to assess. Optionally you also can enter a metadata service (OAI-PMH, SPARQL, CSW) endpoint URI which F-UJI can use to identify additional information.

+
'); + } + ?> +
+
+
+
+
+ + +
+ +
+ +
+ +
+
+ + +
+
+ + +
+
+
+ + +
+
+ + > + +  help + +
+
+
+
+
+ +
+ +
+
+
+ + +
+
+object_identifier = $input_pid; + $message->metadata_service_endpoint = $input_service_url; + $message->metadata_service_type = $input_service_type; + $message->test_debug = true; + $message->use_datacite = $usedatacite; + $message->use_github = $usegithub; + $message->metric_version = $input_metric_version; + $post = json_encode($message); + + $username = $fuji_username; + $password = $fuji_password; + curl_setopt($ch, CURLOPT_URL, $fuji_server); + curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json', 'Allow-Remote-Logging:True')); + curl_setopt($ch, CURLOPT_USERPWD, $username . ":" . $password); + curl_setopt($ch, CURLOPT_POST, 1); + curl_setopt($ch, CURLOPT_POSTFIELDS, $post); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); + $server_output = curl_exec($ch); + $response = json_decode($server_output, true); + curl_close($ch); + if(!isset($response)){ + print(''); + } +} + + $debug_class_list=array('SUCCESS'=>'table-success','WARNING'=>'table-warning','ERROR'=>'table-danger'); + $fuji_percent_scores=array(0=>0,1=>0,2=>0,3=>0); + $sections=array(); + + if(isset($response['results'])){ + $metric_version = str_replace('.yaml','',$response['metric_version']); + $software_version = $response['software_version']; + $metric_doi = $response['metric_specification']; + if(is_array($response['results'])){ + $total_score = 0; + $earned_score =0; + $percent_score =0; + $pid_url = Null; + $summary = $response['summary']; + + foreach ($response['results'] as $result) { + if (str_starts_with($result['metric_identifier'], 'FsF')){ + $fair_letter=$result['metric_identifier'][4]; + } elseif (str_starts_with($result['metric_identifier'], 'FRSM')){ + $fair_letter=$result['metric_identifier'][8]; + } + if($result['metric_identifier']=='FsF-F2-01M'){ + $metadata= $result['output']['core_metadata_found']; + } + if($result['metric_identifier']=='FsF-F1-02D'){ + $pid_url= $result['output']['pid']; + } + $fair_section_regex = '/\-([FAIR][0-9](\.[0-9])?)\-/m'; + $fair_section=''; + if(preg_match($fair_section_regex,$result['metric_identifier'],$fair_section_match)) + $fair_section =$fair_section_match[1]; + $fuji_results[$fair_letter][$result['metric_identifier']] = $result; + } + ?> +

Assessment Results:

+

Evaluated Resource:

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FAIR level: +  help +

Resource PID/URL:
DataCite support:
GitHub support:
Metric Version:
Metric Specification:
Software version:
+
+
+

Summary:

+
+
+
+ % +
+
+
+ + + + + + + + + + + + +
Score earned:Fair level:
+ + +

+
+
+ Report:'); + foreach($fuji_results as $fair_index=>$fuji_fairsection){ + print('

'.$fair_basic_terms[$fair_index].'

'); + print('
'); + $test_index=0; + foreach($fuji_fairsection as $fuji_res){ + $test_index++; + print('
'); + print('

'); + print('

'); + print('
'); + print('
'); + + if (!is_int($fuji_res['maturity'])){ + $maturity_key = array_search($fuji_res['maturity'],$maturity_scale_old); + if($maturity_key!==False) { + $fuji_res['maturity'] = $maturity_key; + $scaled_maturity = $maturity_scale[$maturity_key]; + $maturity_color = $maturity_palette[$maturity_key]; + }else { + $scaled_maturity = $fuji_res['maturity']; + $maturity_color = 'grey'; + } + }else{ + $scaled_maturity = $maturity_scale[$fuji_res['maturity']]; + $maturity_color = $maturity_palette[$fuji_res['maturity']]; + } + print('
+
FAIR level:
+
'.$fuji_res['maturity'].' of 3
'); + print('
+ '.$scaled_maturity.' +
'); + print('
'); + print('
Score:
'); + print($fuji_res['score']['earned'].' of '.$fuji_res['score']['total']); + print('
'); + print('
Output:
'); + print('
'.htmlspecialchars(json_encode($fuji_res['output'], JSON_PRETTY_PRINT)).'
'); + print('
'); + print('
Metric tests:
'); + print(''); + foreach($fuji_res['metric_tests'] as $test_key=>$metric_test){ + if(preg_match('/-[0-9]{1}([a-z]{1})$/',$test_key,$tm)){ + $mstyle=' style="font-size:smaller"'; + $test_key = '  '.$tm[1]; + }else{ + $mstyle=''; + } + print(''); + } + print('
Test:Test name:Score:Maturity:Result:
'.$test_key.''.$metric_test['metric_test_name'].''); + if($metric_test['metric_test_score']['earned'] !=0){ + print($metric_test['metric_test_score']['earned']); + } + print(''); + if($metric_test['metric_test_status']=='pass'){ + print($metric_test['metric_test_maturity']); + } + print(''); + if($metric_test['metric_test_status']=='pass') + print(''); + else + print(''); + print('
'); + print('
'); + print('
Debug messages:
'); + print(''); + foreach($fuji_res['test_debug'] as $debug_message){ + if(preg_match('/([A-Z]+):\s+(.*+)/',$debug_message,$debug_regex_result)) { + if(array_key_exists($debug_regex_result[1],$debug_class_list)){ + $debug_class=' class="debug_'.$debug_regex_result[1].' '.$debug_class_list[$debug_regex_result[1]].'"'; + } + else + $debug_class=''; + print(''); + } + } + print('
Level:Message:
'.$debug_regex_result[1].''.$debug_regex_result[2].'
'); + print('
'); + + print('
'); + print('
'); + } + print('
'); + } + } + }elseif(isset($response['status'])){ + if ($response['status']==401) { + print('
'); + print('Authorisation failed'); + print('
'); + } + elseif ($response['status']==500) { + print('
'); + print(''.$response['title'].''); + print('
'); + print($response['detail']); + print('
If this error persists please report at: + https://github.com/pangaea-data-publisher/fuji/issues'); + print('
'); + }else{ + print('
'); + print('Response code: '.$response['status']); + print('
'); + } + } + ?> + + + diff --git a/simpleclient/docker/nginx/default.conf b/simpleclient/docker/nginx/default.conf new file mode 100644 index 00000000..068890b7 --- /dev/null +++ b/simpleclient/docker/nginx/default.conf @@ -0,0 +1,38 @@ +server { + + # Set the port to listen on and the server name + listen 80 default_server; + + # Set the document root of the project + root /var/www/html; + + # Set the directory index files + index index.php; + + # Specify the default character set + charset utf-8; + + # Setup the default location configuration + location / { + try_files $uri $uri/ /index.php; + } + + # Specify what happens when PHP files are requested + location ~ \.php$ { + fastcgi_split_path_info ^(.+\.php)(/.+)$; + fastcgi_pass php:9000; + fastcgi_index index.php; + include fastcgi_params; + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + fastcgi_param APPLICATION_ENV development; + fastcgi_intercept_errors off; + fastcgi_buffer_size 16k; + fastcgi_buffers 4 16k; + fastcgi_read_timeout 3600s; + } + + # Specify what happens what .ht files are requested + location ~ /\.ht { + deny all; + } +} diff --git a/simpleclient/index.php b/simpleclient/index.php index e3d5a1e3..0d096375 100644 --- a/simpleclient/index.php +++ b/simpleclient/index.php @@ -47,8 +47,8 @@ $fuji_server = 'http://localhost:1071/fuji/api/v1/evaluate'; $fuji_username = 'yourusername'; $fuji_password = 'yourpassword'; -$metric_version = "metrics_v0.5"; #"metrics_v0.7_software_cessda"; #"metrics_v0.5"; #"metrics_v0.7_software"; -$usegithub = false; +#$metric_version = "metrics_v0.5"; +$usegithub = true; ################################################################ $fair_basic_terms=['F'=>'Findable','A'=>'Accessible','I'=>'Interoperable','R'=>'Reusable']; @@ -83,7 +83,14 @@ $input_service_type = $_POST['service_type']; } } +if(isset($_POST['metric_version'])){ + $input_metric_version=$_POST['metric_version']; +}else{ + $input_metric_version="metrics_v0.7_software"; +} + $allowed_service_types = array('oai_pmh'=>'OAI-PMH','ogc_csw'=>'OGC CSW', 'sparql'=>'SPARQL'); +$allowed_metric_versions = array('metrics_v0.7_software'=>'software-agnostic', 'metrics_v0.7_software_cessda'=>'software-CESSDA') ?>
@@ -136,7 +143,20 @@
-
+
+ + +
+
test_debug = true; $message->use_datacite = $usedatacite; $message->use_github = $usegithub; - $message->metric_version = $metric_version; + $message->metric_version = $input_metric_version; $post = json_encode($message); $username = $fuji_username; @@ -209,7 +229,11 @@ $summary = $response['summary']; foreach ($response['results'] as $result) { - $fair_letter=$result['metric_identifier'][4]; + if (str_starts_with($result['metric_identifier'], 'FsF')){ + $fair_letter=$result['metric_identifier'][4]; + } elseif (str_starts_with($result['metric_identifier'], 'FRSM')){ + $fair_letter=$result['metric_identifier'][8]; + } if($result['metric_identifier']=='FsF-F2-01M'){ $metadata= $result['output']['core_metadata_found']; } diff --git a/tests/functional/cassettes/test_evaluation/test_evaluation_software.yaml b/tests/functional/cassettes/test_evaluation/test_evaluation_software.yaml index afe91d07..9450c282 100644 --- a/tests/functional/cassettes/test_evaluation/test_evaluation_software.yaml +++ b/tests/functional/cassettes/test_evaluation/test_evaluation_software.yaml @@ -14,28 +14,28 @@ interactions: uri: https://github.com/pangaea-data-publisher/fuji response: body: - string: "\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n \n \n \n \n \n \n\n \n\n \n \n \n \n \n \n\n\n \n \n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n GitHub - pangaea-data-publisher/fuji: FAIRsFAIR Research Data Object Assessment Service\n\n\n\n \n\n \n \n\n\n \n\n\n \n\n\n \n \n\n \n \n\n \n \n \n \n \n\n\n\n \n\n \n\n\n\n\n \n\n \n\n \n\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n\n\n\n \n\n\n \n \n \n \n\n \n\n \n\n \n\n \n\n\n\n \n \n\n\n \n\n \n\n \n\n \n \n \n\n\n\n\n\n \n\n \n\n \n
\n \n\n\n
\n Skip to content\n \n \n \n \n \n\n\n\n\n\n\n\n\n\n \n \n
\n\n\n\n\n \n\n \n\n \n\n\n\n
\n \n\n
\n
\n \n \n \n\n \n\n \n\n
\n \n
\n
\n\n\n
\n
\n \n\n
\n \n\n\n\">\n \n \n
\n \n \n\n
\n Search or jump to...\n
\n \n\n
\n \n\n \n\n \n
\n \n

Search code, repositories, users, issues, pull requests...

\n
\n \n
\n
\n \n
\n \n \n \n \n \n\n \n
\n
\n
\n
\n \n
\n
\n Clear\n \n\n
\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\n \n
\n
\n
\n\n \n
\n
\n\n
\n
\n
\n \n
\n \n
\n \n
\n
\n
\n

\n Provide feedback\n

\n
\n
\n \n
\n
\n
\n \n
\n

We read every piece of feedback, and take your input very seriously.

\n \n \n \n
\n
\n \n
\n\n \n \n
\n \n
\n
\n
\n

\n Saved searches\n

\n

Use saved searches to filter your results more quickly

\n
\n
\n \n
\n
\n
\n \n
\n\n \n\n
\n
\n
\n\n
\n
\n \n
\n
\n
\n\n\n\n \n\n \n Sign up\n \n
\n
\n
\n
\n\n\n \n
\n\n
\n\n\n\n\n\n\n\n\n
\n\n\n \n\n\n\n \n
\n\n\n \n \n\n\n\n\n\n\n \n
\n
\n \n \n\n\n\n\n\n \n \n\n \n\n\n\n\n\n\n \n
\n\n
\n\n
\n \n
\n \n \n\n \n \n \n pangaea-data-publisher\n \n /\n \n fuji\n \n\n Public\n
\n\n\n
\n\n
\n \n\n
\n
\n\n
\n
\n

\n FAIRsFAIR Research Data Object Assessment Service\n

\n\n

License

\n \n\n\n \n\n
\n
\n \n
\n \n \n \n\n \n
\n
\n\n
\n\n\n \n\n
\n\n \n\n\n\n\n
\n \n\n\n \n \n

pangaea-data-publisher/fuji

\n
\n
\n\n \n\n \n\n
\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n
\n\n\n \n
\n
\n\n
\n
\n
\n
\n

About

\n\n

\n FAIRsFAIR Research Data Object Assessment Service\n

\n\n

Topics

\n \n\n

Resources

\n \n\n

License

\n \n\n\n\n\n \n \n\n \n\n \n\n

Stars

\n \n\n

Watchers

\n \n\n

Forks

\n \n\n \n
\n\n
\n
\n\n \n \n\n \n \n
\n
\n

\n \n Packages\n 1\n

\n\n\n \n
\n
\n
 
\n
\n
\n\n\n
\n
\n\n \n \n\n \n
\n
\n

\n \n Contributors\n 18\n

\n\n\n \n \n\n\n\n\n \n
\n
\n\n \n \n
\n
\n

Languages

\n
\n \n \n \n \n
\n\n\n
\n
\n\n
\n
\n \n
\n\n
\n\n\n
\n\n
\n\n\n
\n
\n\n
\n\n
\n

Footer

\n\n\n
\n
\n \n \n \n\n\n \n © 2024 GitHub, Inc.\n \n
\n\n \n
\n\n
\n\n\n\n\n \n\n\n \n\n \n\n
\n
\n
\n
\n\n \n\n\n\n\n\n \n\n
\n
\n \n\n\n" + string: "\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n \n \n \n \n \n \n\n \n\n \n \n \n \n \n \n\n\n \n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n GitHub - pangaea-data-publisher/fuji: FAIRsFAIR Research Data Object Assessment Service\n\n\n\n \n \n \n\n \n \n\n\n \n\n\n \n\n\n \n \n\n \n \n\n \n\n\n\n \n\n \n\n\n\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n \n \n\n \n \n \n\n\n\n\n \n\n\n\n \n\n\n \n \n \n \n\n \n\n \n \n\n \n\n\n\n \n\n\n \n\n\n \n\n \n\n \n \n \n\n\n\n\n\n \n\n \n\n \n
\n \n\n\n
\n Skip to content\n \n \n \n \n \n \n\n\n\n\n\n\n\n\n\n\n\n \n \n
\n\n\n\n\n\n \n\n \n\n \n\n\n
\n

Navigation Menu

\n\n \n\n
\n
\n \n \n \n\n \n\n \n\n
\n \n
\n
\n\n\n
\n
\n \n\n
\n \n\n\n\">\n \n \n
\n \n \n\n
\n Search or jump to...\n
\n \n\n
\n \n\n \n\n \n
\n \n

Search code, repositories, users, issues, pull requests...

\n
\n \n
\n
\n \n
\n \n \n \n \n \n\n \n
\n
\n
\n
\n \n
\n
\n Clear\n \n\n
\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\n \n
\n
\n
\n\n \n
\n
\n\n
\n
\n
\n \n
\n \n\n \n
\n
\n
\n

\n Provide feedback\n

\n
\n
\n \n
\n
\n
\n \n
\n

We read every piece of feedback, and take your input very seriously.

\n \n \n \n
\n
\n \n
\n\n \n \n\n \n
\n
\n
\n

\n Saved searches\n

\n

Use saved searches to filter your results more quickly

\n
\n
\n \n
\n
\n
\n \n
\n\n \n\n
\n
\n
\n\n
\n
\n \n
\n
\n
\n\n\n\n \n\n \n Sign up\n \n
\n
\n
\n \n\n\n \n \n\n
\n\n\n\n\n\n\n\n\n
\n\n\n\n\n\n \n
\n\n\n \n \n\n\n\n\n\n \n
\n
\n \n \n\n\n\n\n\n \n \n\n \n\n\n\n\n\n\n \n
\n\n
\n\n
\n \n
\n \n \n\n \n \n \n pangaea-data-publisher\n \n /\n \n fuji\n \n\n Public\n
\n\n\n
\n\n
\n \n\n
\n
\n\n
\n
\n

\n FAIRsFAIR Research Data Object Assessment Service\n

\n\n \n

License

\n \n\n\n \n\n
\n
\n \n
\n \n \n \n\n \n
\n
\n\n
\n\n\n \n\n
\n\n \n\n\n\n\n
\n \n\n\n\n \n \n

pangaea-data-publisher/fuji

\n
\n
\n\n \n\n \n\n
\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n

Repository files navigation

F-UJI (FAIRsFAIR Research Data Object Assessment Service)

\n

Developers: Robert Huber, Anusuriya Devaraju

\n

Thanks to Heinz-Alexander Fuetterer for his contributions and his help in cleaning up the code.

\n

\"CI\"\n\"Coverage\"

\n

\"Publish\n\"DOI\"

\n

Overview

\n

F-UJI is a web service to programmatically assess FAIRness of research data objects based on metrics developed by the FAIRsFAIR project.\nThe service will be applied to demonstrate the evaluation of objects in repositories selected for in-depth collaboration with the project.

\n

The 'F' stands for FAIR (of course) and 'UJI' means 'Test' in Malay. So F-UJI is a FAIR testing tool.

\n

Cite as

\n

Devaraju, A. and Huber, R. (2021). An automated solution for measuring the progress toward FAIR research data. Patterns, vol 2(11), https://doi.org/10.1016/j.patter.2021.100370

\n

Clients and User Interface

\n

A web demo using F-UJI is available at https://www.f-uji.net.

\n

An R client package that was generated from the F-UJI OpenAPI definition is available from https://github.com/NFDI4Chem/rfuji.

\n

An open source web client for F-UJI is available at https://github.com/MaastrichtU-IDS/fairificator.

\n

Assessment Scope, Constraint and Limitation

\n

The service is in development and its assessment depends on several factors.

\n
    \n
  • In the FAIR ecosystem, FAIR assessment must go beyond the object itself. FAIR enabling services and repositories are vital to ensure that research data objects remain FAIR over time. Importantly, machine-readable services (e.g., registries) and documents (e.g., policies) are required to enable automated tests.
  • \n
  • In addition to repository and services requirements, automated testing depends on clear machine assessable criteria. Some aspects (rich, plurality, accurate, relevant) specified in FAIR principles still require human mediation and interpretation.
  • \n
  • The tests must focus on generally applicable data/metadata characteristics until domain/community-driven criteria have been agreed (e.g., appropriate schemas and required elements for usage/access control, etc.). For example, for some metrics (i.e., on I and R principles), the automated tests we proposed only inspect the ‘surface’ of criteria to be evaluated. Therefore, tests are designed in consideration of generic cross-domain metadata standards such as Dublin Core, DCAT, DataCite, schema.org, etc.
  • \n
  • FAIR assessment is performed based on aggregated metadata; this includes metadata embedded in the data (landing) page, metadata retrieved from a PID provider (e.g., DataCite content negotiation) and other services (e.g., re3data).
  • \n
\n

\"alt

\n

Requirements

\n

Python 3.11

\n

Google Dataset Search

\n
    \n
  • Download the latest Dataset Search corpus file from: https://www.kaggle.com/googleai/dataset-search-metadata-for-datasets
  • \n
  • Open file fuji_server/helper/create_google_cache_db.py and set variable 'google_file_location' according to the file location of the corpus file
  • \n
  • Run create_google_cache_db.py which creates a SQLite database in the data directory. From root directory run python3 -m fuji_server.helper.create_google_cache_db.
  • \n
\n

The service was generated by the swagger-codegen project. By using the\nOpenAPI-Spec from a remote server, you can easily generate a server stub.\nThe service uses the Connexion library on top of Flask.

\n

Usage

\n

Before running the service, please set user details in the configuration file, see config/users.py.

\n

To install F-UJI, you may execute the following Python-based or docker-based installation commands from the root directory:

\n

Python module-based installation

\n

From the fuji source folder run:

\n
python -m pip install .
\n

The F-UJI server can now be started with:

\n
python -m fuji_server -c fuji_server/config/server.ini
\n

The OpenAPI user interface is then available at http://localhost:1071/fuji/api/v1/ui/.

\n

Docker-based installation

\n
docker run -d -p 1071:1071 ghcr.io/pangaea-data-publisher/fuji
\n

To access the OpenAPI user interface, open the URL below in the browser:\nhttp://localhost:1071/fuji/api/v1/ui/

\n

Your OpenAPI definition lives here:

\n

http://localhost:1071/fuji/api/v1/openapi.json

\n

You can provide a different server config file this way:

\n
docker run -d -p 1071:1071 -v server.ini:/usr/src/app/fuji_server/config/server.ini ghcr.io/pangaea-data-publisher/fuji
\n

You can also build the docker image from the source code:

\n
docker build -t <tag_name> .\ndocker run -d -p 1071:1071 <tag_name>
\n

Notes

\n

To avoid Tika startup warning message, set environment variable TIKA_LOG_PATH. For more information, see https://github.com/chrismattmann/tika-python

\n

If you receive the exception urllib2.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] on macOS, run the install command shipped with Python:\n./Install\\ Certificates.command.

\n

F-UJI is using basic authentication, so username and password have to be provided for each REST call which can be configured in fuji_server/config/users.py.

\n

Development

\n

First, make sure to read the contribution guidelines.\nThey include instructions on how to set up your environment with pre-commit and how to run the tests.

\n

The repository includes a simple web client suitable for interacting with the API during development.\nOne way to run it would be with a LEMP stack (Linux, Nginx, MySQL, PHP), which is described in the following.

\n

First, install the necessary packages:

\n
sudo apt-get update\nsudo apt-get install nginx\nsudo ufw allow 'Nginx HTTP'\nsudo service mysql start  # expects that mysql is already installed, if not run sudo apt install mysql-server\nsudo service nginx start\nsudo apt install php8.1-fpm php-mysql\nsudo apt install php8.1-curl\nsudo phpenmod curl
\n

Next, configure the service by running sudo vim /etc/nginx/sites-available/fuji-dev and paste:

\n
server {\n    listen 9000;\n    server_name fuji-dev;\n    root /var/www/fuji-dev;\n\n    index index.php;\n\n    location / {\n        try_files $uri $uri/ =404;\n    }\n\n    location ~ \\.php$ {\n        include snippets/fastcgi-php.conf;\n        fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;\n     }\n\n    location ~ /\\.ht {\n        deny all;\n    }\n}
\n

Link simpleclient/index.php and simpleclient/icons/ to /var/www/fuji-dev by running sudo ln <path_to_fuji>/fuji/simpleclient/* /var/www/fuji-dev/. You might need to adjust the file permissions to allow non-root writes.

\n

Next,

\n
sudo ln -s /etc/nginx/sites-available/fuji-dev /etc/nginx/sites-enabled/\nsudo nginx -t\nsudo service nginx reload\nsudo service php8.1-fpm start
\n

The web client should now be available at http://localhost:9000/. Make sure to adjust the username and password in simpleclient/index.php.

\n

After a restart, it may be necessary to start the services again:

\n
sudo service php8.1-fpm start\nsudo service nginx start\npython -m fuji_server -c fuji_server/config/server.ini
\n

Component interaction (walkthrough)

\n

This walkthrough can guide you through the comprehensive codebase.

\n

A good starting point is fair_object_controller/assess_by_id.\nHere, we create a FAIRCheck object called ft.\nThis reads the metrics YAML file during initialisation and will provide all the check methods.

\n

Next, several harvesting methods are called, first harvest_all_metadata, followed by harvest_re3_data (Datacite) and harvest_github and finally harvest_all_data.\nThe harvesters are implemented separately in harvester/, and each of them collects different kinds of data.\nThis is regardless of the defined metrics, the harvesters always run.

\n
    \n
  • The metadata harvester looks through HTML markup following schema.org, Dublincore etc., through signposting/typed links.\nIdeally, it can find things like author information or license names that way.
  • \n
  • The data harvester is only run if the metadata harvester finds an object_content_identifier pointing at content files.\nThen, the data harvester runs over the files and checks things like the file format.
  • \n
  • The Github harvester connects with the GitHub API to retrieve metadata and data from software repositories.\nIt relies on an access token being defined in config/github.cfg.
  • \n
\n

After harvesting, all evaluators are called.\nEach specific evaluator, e.g. FAIREvaluatorLicense, is associated with a specific FsF and/or FAIR4RS metric.\nBefore the evaluator runs any checks on the harvested data, it asserts that its associated metric is listed in the metrics YAML file.\nOnly if it is, the evaluator runs through and computes a local score.

\n

In the end, all scores are aggregated into F, A, I, R scores.

\n

Adding support for new metrics

\n

Start by adding a new metrics YAML file in yaml/.\nIts name has to match the following regular expression: (metrics_v)?([0-9]+\\.[0-9]+)(_[a-z]+)?(\\.yaml),\nand the content should be structured similarly to the existing metric files.

\n

Metric names are tested for validity using regular expressions throughout the code.\nIf your metric names do not match those, not all components of the tool will execute as expected, so make sure to adjust the expressions.\nRegular expression groups are also used for mapping to F, A, I, R categories for scoring, and debug messages are only displayed if they are associated with a valid metric.

\n

Evaluators are mapped to metrics in their __init__ methods, so adjust existing evaluators to associate with your metric as well or define new evaluators if needed.\nThe multiple test methods within an evaluator also check whether their specific test is defined.\nFAIREvaluatorLicense is an example of an evaluator corresponding to metrics from different sources.

\n

For each metric, the maturity is determined as the maximum of the maturity associated with each passed test.\nThis means that if a test indicating maturity 3 is passed and one indicating maturity 2 is not passed, the metric will still be shown to be fulfilled with maturity 3.

\n

Community specific metrics

\n

Some, not all, metrics can be configured using the following guidelines:\nMetrics configuration guide

\n

Updates to the API

\n

Making changes to the API requires re-generating parts of the code using Swagger.\nFirst, edit fuji_server/yaml/openapi.yaml.\nThen, use the Swagger Editor to generate a python-flask server.\nThe zipped files should be automatically downloaded.\nUnzip it.

\n

Next:

\n
    \n
  1. Place the files in swagger_server/models into fuji_server/models, except swagger_server/models/__init__.py.
  2. \n
  3. Rename all occurrences of swagger_server to fuji_server.
  4. \n
  5. Add the content of swagger_server/models/__init__.py into fuji_server/__init__.py.
  6. \n
\n

Unfortunately, the Swagger Editor doesn't always produce code that is compliant with PEP standards.\nRun pre-commit run (or try to commit) and fix any errors that cannot be automatically fixed.

\n

License

\n

This project is licensed under the MIT License; for more details, see the LICENSE file.

\n

Acknowledgements

\n

F-UJI is a result of the FAIRsFAIR “Fostering FAIR Data Practices In Europe” project which received funding from the European Union’s Horizon 2020 project call H2020-INFRAEOSC-2018-2020 (grant agreement 831558).

\n

The project was also supported through our contributors by the Helmholtz Metadata Collaboration (HMC), an incubator-platform of the Helmholtz Association within the framework of the Information and Data Science strategic initiative.

\n
\n\n\n \n
\n
\n\n
\n
\n
\n
\n

About

\n\n

\n FAIRsFAIR Research Data Object Assessment Service\n

\n\n

Topics

\n \n\n

Resources

\n \n\n \n

License

\n \n\n\n\n\n \n \n\n \n\n \n\n

Stars

\n \n\n

Watchers

\n \n\n

Forks

\n \n\n \n
\n\n
\n
\n\n \n \n\n \n \n
\n
\n

\n \n Packages\n 1\n

\n\n\n \n
\n
\n
 
\n
\n
\n\n\n
\n
\n\n \n \n\n \n
\n
\n

\n \n Contributors\n 20\n

\n\n\n \n
    \n
  • \n
    \n
  • \n
  • \n
    \n
  • \n
  • \n
    \n
  • \n
  • \n
    \n
  • \n
  • \n
    \n
  • \n
  • \n
    \n
  • \n
  • \n
    \n
  • \n
  • \n
    \n
  • \n
  • \n
    \n
  • \n
  • \n
    \n
  • \n
  • \n
    \n
  • \n
  • \n
    \n
  • \n
  • \n
    \n
  • \n
  • \n
    \n
  • \n
\n
\n\n \n
\n
\n\n \n \n
\n
\n

Languages

\n
\n \n \n \n \n
\n\n\n
\n
\n\n
\n
\n \n
\n\n
\n\n\n
\n\n
\n\n\n
\n
\n\n \n\n
\n

Footer

\n\n \n\n\n
\n
\n \n \n \n\n\n \n © 2024 GitHub, Inc.\n \n
\n\n \n
\n
\n\n\n\n\n \n\n\n \n\n \n\n
\n
\n
\n
\n\n \n\n\n\n\n\n \n\n
\n
\n \n\n\n" headers: Accept-Ranges: - bytes Cache-Control: - max-age=0, private, must-revalidate Content-Security-Policy: - - "default-src 'none'; base-uri 'self'; child-src github.com/assets-cdn/worker/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com cdn.optimizely.com logx.optimizely.com/v1/events api.githubcopilot.com objects-origin.githubusercontent.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/ productionresultssa1.blob.core.windows.net/ productionresultssa2.blob.core.windows.net/ productionresultssa3.blob.core.windows.net/ productionresultssa4.blob.core.windows.net/ productionresultssa5.blob.core.windows.net/ productionresultssa6.blob.core.windows.net/ productionresultssa7.blob.core.windows.net/ productionresultssa8.blob.core.windows.net/ productionresultssa9.blob.core.windows.net/ github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com support.github.com; img-src 'self' data: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com secured-user-images.githubusercontent.com/ user-images.githubusercontent.com/ private-user-images.githubusercontent.com opengraph.githubassets.com github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/ private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.com/assets-cdn/worker/ gist.github.com/assets-cdn/worker/" + - "default-src 'none'; base-uri 'self'; child-src github.com/assets-cdn/worker/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com api.githubcopilot.com objects-origin.githubusercontent.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/ productionresultssa1.blob.core.windows.net/ productionresultssa2.blob.core.windows.net/ productionresultssa3.blob.core.windows.net/ productionresultssa4.blob.core.windows.net/ productionresultssa5.blob.core.windows.net/ productionresultssa6.blob.core.windows.net/ productionresultssa7.blob.core.windows.net/ productionresultssa8.blob.core.windows.net/ productionresultssa9.blob.core.windows.net/ productionresultssa10.blob.core.windows.net/ productionresultssa11.blob.core.windows.net/ productionresultssa12.blob.core.windows.net/ productionresultssa13.blob.core.windows.net/ productionresultssa14.blob.core.windows.net/ productionresultssa15.blob.core.windows.net/ productionresultssa16.blob.core.windows.net/ productionresultssa17.blob.core.windows.net/ productionresultssa18.blob.core.windows.net/ productionresultssa19.blob.core.windows.net/ github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com secured-user-images.githubusercontent.com/ user-images.githubusercontent.com/ private-user-images.githubusercontent.com opengraph.githubassets.com github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/ private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.com/assets-cdn/worker/ gist.github.com/assets-cdn/worker/" Content-Type: - text/html; charset=utf-8 Date: - - Fri, 12 Jan 2024 16:17:02 GMT + - Fri, 03 May 2024 13:41:59 GMT ETag: - - W/"ec8232511583f0787fcee0d84fecb54b" + - W/"95527c59a4d5ce9267274cdd6f729628" Referrer-Policy: - no-referrer-when-downgrade Server: - GitHub.com Set-Cookie: - - _gh_sess=ttPzke%2BjC1HoiZOxKtmh0meOAugTyG4Otj46YXzogjCPWbt703%2BBrhHDeGk5zpAS6afxbBCXqWqazUsMXCW5w%2FHLHCo1JPaD3iZ7bF%2Bh86ttBYLACcT6jg30JofeMM74dM6Lzq%2BQkNrtH8LCMyTcMjGvIX37nD11SAciGB4cb%2BGSaqaahk%2BuyFnz0KL43WaCEKtubupheC4YnlilM4wyC6Jhqw9IIWIxeuDohezIJslywtdCvDSJ9Pho1GlnTzlJktim1c76Ypd7P4%2FXoP1%2F4w%3D%3D--LXClk8D8PH9JOc6z--haflpnPHMMYyYd%2BnD73RvQ%3D%3D; Path=/; HttpOnly; Secure; SameSite=Lax - - _octo=GH1.1.1427196577.1705076221; Path=/; Domain=github.com; Expires=Sun, 12 Jan 2025 16:17:01 GMT; Secure; SameSite=Lax - - logged_in=no; Path=/; Domain=github.com; Expires=Sun, 12 Jan 2025 16:17:01 GMT; HttpOnly; Secure; SameSite=Lax + - _gh_sess=iNYmvStfFl%2BHUroakRMnulCUWexX2NZSp9OEWGmj4EXov%2B54S%2BQdqmC18SjgyGfT%2FNyeD3ccZO%2F2j%2BUXNFijCYm4a5LkN74LJr2hvlp3r6GJqQ97o2Uv1yrxuPIBUpYEE3ty41qoAecAE7J2DSJJtgHn8iBYqLXoUD8J9HFb%2FM9Jsa7m3Sky7zT4HaXlXwpj46VWHX7HX9aHkU61E6XcyGYSF8ToE9q5Qmf2t3Puu7z2QW8JeQ1AefQIZ%2FQjPlpSe%2FoanDJsF6u08bD2NSnchQ%3D%3D--OGktf8q5rJZw7Ukd--UQnT22Fr8okGc1nKPG3JPQ%3D%3D; Path=/; HttpOnly; Secure; SameSite=Lax + - _octo=GH1.1.2082452172.1714743718; Path=/; Domain=github.com; Expires=Sat, 03 May 2025 13:41:58 GMT; Secure; SameSite=Lax + - logged_in=no; Path=/; Domain=github.com; Expires=Sat, 03 May 2025 13:41:58 GMT; HttpOnly; Secure; SameSite=Lax Strict-Transport-Security: - max-age=31536000; includeSubdomains; preload Transfer-Encoding: @@ -47,7 +47,7 @@ interactions: X-Frame-Options: - deny X-GitHub-Request-Id: - - C714:19136:9D6CD0E:9F1DC59:65A165FD + - 9F45:2C5F6E:310543D:340FE41:6634E9A6 X-XSS-Protection: - '0' connection: @@ -63,23 +63,85 @@ interactions: Accept-Encoding: - gzip, deflate Authorization: - - token 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 + - token ghp_MASKED Connection: - keep-alive User-Agent: - PyGithub/Python method: GET - uri: https://api.github.com/repos/pangaea-data-publisher/fuji + uri: https://api.github.com/rate_limit + response: + body: + string: '{"message":"Bad credentials","documentation_url":"https://docs.github.com/rest"}' + headers: + Access-Control-Allow-Origin: + - '*' + Access-Control-Expose-Headers: + - ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset + Content-Length: + - '80' + Content-Security-Policy: + - default-src 'none' + Content-Type: + - application/json; charset=utf-8 + Date: + - Fri, 03 May 2024 13:42:00 GMT + Referrer-Policy: + - origin-when-cross-origin, strict-origin-when-cross-origin + Server: + - GitHub.com + Strict-Transport-Security: + - max-age=31536000; includeSubdomains; preload + Vary: + - Accept-Encoding, Accept, X-Requested-With + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + X-GitHub-Media-Type: + - github.v3; format=json + X-GitHub-Request-Id: + - 2972:3321A6:2469DDD:2561899:6634E9A8 + X-RateLimit-Limit: + - '60' + X-RateLimit-Remaining: + - '60' + X-RateLimit-Reset: + - '1714747320' + X-RateLimit-Resource: + - core + X-RateLimit-Used: + - '0' + X-XSS-Protection: + - '0' + status: + code: 401 + message: Unauthorized +- request: + body: + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Authorization: + - token ghp_MASKED + Connection: + - keep-alive + User-Agent: + - PyGithub/Python + method: GET + uri: https://api.github.com/rate_limit response: body: - string: '{"id":259678183,"node_id":"MDEwOlJlcG9zaXRvcnkyNTk2NzgxODM=","name":"fuji","full_name":"pangaea-data-publisher/fuji","private":false,"owner":{"login":"pangaea-data-publisher","id":47568830,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3NTY4ODMw","avatar_url":"https://avatars.githubusercontent.com/u/47568830?v=4","gravatar_id":"","url":"https://api.github.com/users/pangaea-data-publisher","html_url":"https://github.com/pangaea-data-publisher","followers_url":"https://api.github.com/users/pangaea-data-publisher/followers","following_url":"https://api.github.com/users/pangaea-data-publisher/following{/other_user}","gists_url":"https://api.github.com/users/pangaea-data-publisher/gists{/gist_id}","starred_url":"https://api.github.com/users/pangaea-data-publisher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pangaea-data-publisher/subscriptions","organizations_url":"https://api.github.com/users/pangaea-data-publisher/orgs","repos_url":"https://api.github.com/users/pangaea-data-publisher/repos","events_url":"https://api.github.com/users/pangaea-data-publisher/events{/privacy}","received_events_url":"https://api.github.com/users/pangaea-data-publisher/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/pangaea-data-publisher/fuji","description":"FAIRsFAIR Research Data Object Assessment Service","fork":false,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji","forks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/forks","keys_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/teams","hooks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/hooks","issue_events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/events{/number}","events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/events","assignees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/assignees{/user}","branches_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/branches{/branch}","tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/tags","blobs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/refs{/sha}","trees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/statuses/{sha}","languages_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/languages","stargazers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/stargazers","contributors_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contributors","subscribers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscribers","subscription_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscription","commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/commits{/sha}","git_commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/commits{/sha}","comments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/comments{/number}","issue_comment_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/comments{/number}","contents_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/{+path}","compare_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/merges","archive_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/downloads","issues_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues{/number}","pulls_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/pulls{/number}","milestones_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/milestones{/number}","notifications_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/labels{/name}","releases_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/releases{/id}","deployments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/deployments","created_at":"2020-04-28T15:33:40Z","updated_at":"2024-01-07T16:29:43Z","pushed_at":"2024-01-12T15:38:52Z","git_url":"git://github.com/pangaea-data-publisher/fuji.git","ssh_url":"git@github.com:pangaea-data-publisher/fuji.git","clone_url":"https://github.com/pangaea-data-publisher/fuji.git","svn_url":"https://github.com/pangaea-data-publisher/fuji","homepage":"","size":5637,"stargazers_count":43,"watchers_count":43,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"has_discussions":false,"forks_count":31,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":25,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"topics":["fairdata","hacktoberfest"],"visibility":"public","forks":31,"open_issues":25,"watchers":43,"default_branch":"master","permissions":{"admin":false,"maintain":false,"push":false,"triage":false,"pull":true},"temp_clone_token":"","custom_properties":{},"organization":{"login":"pangaea-data-publisher","id":47568830,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3NTY4ODMw","avatar_url":"https://avatars.githubusercontent.com/u/47568830?v=4","gravatar_id":"","url":"https://api.github.com/users/pangaea-data-publisher","html_url":"https://github.com/pangaea-data-publisher","followers_url":"https://api.github.com/users/pangaea-data-publisher/followers","following_url":"https://api.github.com/users/pangaea-data-publisher/following{/other_user}","gists_url":"https://api.github.com/users/pangaea-data-publisher/gists{/gist_id}","starred_url":"https://api.github.com/users/pangaea-data-publisher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pangaea-data-publisher/subscriptions","organizations_url":"https://api.github.com/users/pangaea-data-publisher/orgs","repos_url":"https://api.github.com/users/pangaea-data-publisher/repos","events_url":"https://api.github.com/users/pangaea-data-publisher/events{/privacy}","received_events_url":"https://api.github.com/users/pangaea-data-publisher/received_events","type":"Organization","site_admin":false},"network_count":31,"subscribers_count":9}' + string: '{"resources":{"core":{"limit":5000,"used":233,"remaining":4767,"reset":1714744789},"search":{"limit":30,"used":0,"remaining":30,"reset":1714743780},"graphql":{"limit":5000,"used":339,"remaining":4661,"reset":1714744479},"integration_manifest":{"limit":5000,"used":0,"remaining":5000,"reset":1714747320},"source_import":{"limit":100,"used":0,"remaining":100,"reset":1714743780},"code_scanning_upload":{"limit":1000,"used":0,"remaining":1000,"reset":1714747320},"actions_runner_registration":{"limit":10000,"used":0,"remaining":10000,"reset":1714747320},"scim":{"limit":15000,"used":0,"remaining":15000,"reset":1714747320},"dependency_snapshots":{"limit":100,"used":0,"remaining":100,"reset":1714743780},"audit_log":{"limit":1750,"used":0,"remaining":1750,"reset":1714747320},"code_search":{"limit":10,"used":0,"remaining":10,"reset":1714743780}},"rate":{"limit":5000,"used":233,"remaining":4767,"reset":1714744789}}' headers: Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset Cache-Control: - - private, max-age=60, s-maxage=60 + - no-cache Content-Encoding: - gzip Content-Security-Policy: @@ -87,11 +149,7 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Fri, 12 Jan 2024 16:17:03 GMT - ETag: - - W/"a7a569b8824b8fb08d10a84bb3425daa8756ee7323992e00c2fc62a844488526" - Last-Modified: - - Sun, 07 Jan 2024 16:29:43 GMT + - Fri, 03 May 2024 13:42:00 GMT Referrer-Policy: - origin-when-cross-origin, strict-origin-when-cross-origin Server: @@ -101,10 +159,83 @@ interactions: Transfer-Encoding: - chunked Vary: - - Accept, Authorization, Cookie, X-GitHub-OTP - Accept-Encoding, Accept, X-Requested-With X-Accepted-OAuth-Scopes: + - '' + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + X-GitHub-Media-Type: + - github.v3; format=json + X-GitHub-Request-Id: + - 9F1D:20215B:36F86B4:3867294:6634E9A8 + X-OAuth-Scopes: - repo + X-RateLimit-Limit: + - '5000' + X-RateLimit-Remaining: + - '4767' + X-RateLimit-Reset: + - '1714744789' + X-RateLimit-Resource: + - core + X-RateLimit-Used: + - '233' + X-XSS-Protection: + - '0' + github-authentication-token-expiration: + - 2024-07-08 07:44:52 UTC + x-github-api-version-selected: + - '2022-11-28' + status: + code: 200 + message: OK +- request: + body: + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Authorization: + - token ghp_MASKED + Connection: + - keep-alive + User-Agent: + - PyGithub/Python + method: GET + uri: https://api.github.com/rate_limit + response: + body: + string: '{"resources":{"core":{"limit":5000,"used":233,"remaining":4767,"reset":1714744789},"search":{"limit":30,"used":0,"remaining":30,"reset":1714743780},"graphql":{"limit":5000,"used":339,"remaining":4661,"reset":1714744479},"integration_manifest":{"limit":5000,"used":0,"remaining":5000,"reset":1714747320},"source_import":{"limit":100,"used":0,"remaining":100,"reset":1714743780},"code_scanning_upload":{"limit":1000,"used":0,"remaining":1000,"reset":1714747320},"actions_runner_registration":{"limit":10000,"used":0,"remaining":10000,"reset":1714747320},"scim":{"limit":15000,"used":0,"remaining":15000,"reset":1714747320},"dependency_snapshots":{"limit":100,"used":0,"remaining":100,"reset":1714743780},"audit_log":{"limit":1750,"used":0,"remaining":1750,"reset":1714747320},"code_search":{"limit":10,"used":0,"remaining":10,"reset":1714743780}},"rate":{"limit":5000,"used":233,"remaining":4767,"reset":1714744789}}' + headers: + Access-Control-Allow-Origin: + - '*' + Access-Control-Expose-Headers: + - ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset + Cache-Control: + - no-cache + Content-Encoding: + - gzip + Content-Security-Policy: + - default-src 'none' + Content-Type: + - application/json; charset=utf-8 + Date: + - Fri, 03 May 2024 13:42:00 GMT + Referrer-Policy: + - origin-when-cross-origin, strict-origin-when-cross-origin + Server: + - GitHub.com + Strict-Transport-Security: + - max-age=31536000; includeSubdomains; preload + Transfer-Encoding: + - chunked + Vary: + - Accept-Encoding, Accept, X-Requested-With + X-Accepted-OAuth-Scopes: + - '' X-Content-Type-Options: - nosniff X-Frame-Options: @@ -112,23 +243,23 @@ interactions: X-GitHub-Media-Type: - github.v3; format=json X-GitHub-Request-Id: - - 514B:8B570:F3D99F9:F68B93A:65A165FE + - 292A:2C3FB9:3625FAD:3794B8E:6634E9A8 X-OAuth-Scopes: - repo X-RateLimit-Limit: - '5000' X-RateLimit-Remaining: - - '4966' + - '4767' X-RateLimit-Reset: - - '1705078320' + - '1714744789' X-RateLimit-Resource: - core X-RateLimit-Used: - - '34' + - '233' X-XSS-Protection: - '0' github-authentication-token-expiration: - - 2024-03-04 14:01:51 UTC + - 2024-07-08 07:44:52 UTC x-github-api-version-selected: - '2022-11-28' status: @@ -142,16 +273,16 @@ interactions: Accept-Encoding: - gzip, deflate Authorization: - - token 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 + - token ghp_MASKED Connection: - keep-alive User-Agent: - PyGithub/Python method: GET - uri: https://api.github.com/repos/pangaea-data-publisher/fuji/license + uri: https://api.github.com/repos/pangaea-data-publisher/fuji response: body: - string: '{"name":"LICENSE","path":"LICENSE","sha":"40f22c50b59b959d5e855961998d88dfa13c6279","size":1090,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/LICENSE?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/LICENSE","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/40f22c50b59b959d5e855961998d88dfa13c6279","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/LICENSE","type":"file","content":"TUlUIExpY2Vuc2UKCkNvcHlyaWdodCAoYykgMjAyMCBQQU5HQUVBIChodHRw\nczovL3d3dy5wYW5nYWVhLmRlLykKClBlcm1pc3Npb24gaXMgaGVyZWJ5IGdy\nYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmlu\nZyBhIGNvcHkKb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1\nbWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwKaW4g\ndGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3\naXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cwp0byB1c2UsIGNvcHksIG1v\nZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2Us\nIGFuZC9vciBzZWxsCmNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBw\nZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcwpmdXJuaXNo\nZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRp\nb25zOgoKVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVy\nbWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsCmNvcGll\ncyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCgpU\nSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJS\nQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgpJTVBMSUVELCBJTkNMVURJ\nTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNI\nQU5UQUJJTElUWSwKRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug\nQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCkFV\nVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkg\nQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKTElBQklMSVRZLCBXSEVUSEVSIElO\nIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFS\nSVNJTkcgRlJPTSwKT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUg\nU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUK\nU09GVFdBUkUuCg==\n","encoding":"base64","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/LICENSE?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/40f22c50b59b959d5e855961998d88dfa13c6279","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/LICENSE"},"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"}}' + string: '{"id":259678183,"node_id":"MDEwOlJlcG9zaXRvcnkyNTk2NzgxODM=","name":"fuji","full_name":"pangaea-data-publisher/fuji","private":false,"owner":{"login":"pangaea-data-publisher","id":47568830,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3NTY4ODMw","avatar_url":"https://avatars.githubusercontent.com/u/47568830?v=4","gravatar_id":"","url":"https://api.github.com/users/pangaea-data-publisher","html_url":"https://github.com/pangaea-data-publisher","followers_url":"https://api.github.com/users/pangaea-data-publisher/followers","following_url":"https://api.github.com/users/pangaea-data-publisher/following{/other_user}","gists_url":"https://api.github.com/users/pangaea-data-publisher/gists{/gist_id}","starred_url":"https://api.github.com/users/pangaea-data-publisher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pangaea-data-publisher/subscriptions","organizations_url":"https://api.github.com/users/pangaea-data-publisher/orgs","repos_url":"https://api.github.com/users/pangaea-data-publisher/repos","events_url":"https://api.github.com/users/pangaea-data-publisher/events{/privacy}","received_events_url":"https://api.github.com/users/pangaea-data-publisher/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/pangaea-data-publisher/fuji","description":"FAIRsFAIR Research Data Object Assessment Service","fork":false,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji","forks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/forks","keys_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/teams","hooks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/hooks","issue_events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/events{/number}","events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/events","assignees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/assignees{/user}","branches_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/branches{/branch}","tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/tags","blobs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/refs{/sha}","trees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/statuses/{sha}","languages_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/languages","stargazers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/stargazers","contributors_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contributors","subscribers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscribers","subscription_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscription","commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/commits{/sha}","git_commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/commits{/sha}","comments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/comments{/number}","issue_comment_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/comments{/number}","contents_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/{+path}","compare_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/merges","archive_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/downloads","issues_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues{/number}","pulls_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/pulls{/number}","milestones_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/milestones{/number}","notifications_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/labels{/name}","releases_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/releases{/id}","deployments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/deployments","created_at":"2020-04-28T15:33:40Z","updated_at":"2024-05-03T07:27:29Z","pushed_at":"2024-05-03T07:28:55Z","git_url":"git://github.com/pangaea-data-publisher/fuji.git","ssh_url":"git@github.com:pangaea-data-publisher/fuji.git","clone_url":"https://github.com/pangaea-data-publisher/fuji.git","svn_url":"https://github.com/pangaea-data-publisher/fuji","homepage":"","size":7322,"stargazers_count":47,"watchers_count":47,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"has_discussions":false,"forks_count":32,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":22,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"topics":["fairdata","hacktoberfest"],"visibility":"public","forks":32,"open_issues":22,"watchers":47,"default_branch":"master","permissions":{"admin":false,"maintain":false,"push":false,"triage":false,"pull":true},"temp_clone_token":"","custom_properties":{},"organization":{"login":"pangaea-data-publisher","id":47568830,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3NTY4ODMw","avatar_url":"https://avatars.githubusercontent.com/u/47568830?v=4","gravatar_id":"","url":"https://api.github.com/users/pangaea-data-publisher","html_url":"https://github.com/pangaea-data-publisher","followers_url":"https://api.github.com/users/pangaea-data-publisher/followers","following_url":"https://api.github.com/users/pangaea-data-publisher/following{/other_user}","gists_url":"https://api.github.com/users/pangaea-data-publisher/gists{/gist_id}","starred_url":"https://api.github.com/users/pangaea-data-publisher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pangaea-data-publisher/subscriptions","organizations_url":"https://api.github.com/users/pangaea-data-publisher/orgs","repos_url":"https://api.github.com/users/pangaea-data-publisher/repos","events_url":"https://api.github.com/users/pangaea-data-publisher/events{/privacy}","received_events_url":"https://api.github.com/users/pangaea-data-publisher/received_events","type":"Organization","site_admin":false},"network_count":32,"subscribers_count":9}' headers: Access-Control-Allow-Origin: - '*' @@ -166,11 +297,11 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Fri, 12 Jan 2024 16:17:03 GMT + - Fri, 03 May 2024 13:42:01 GMT ETag: - - W/"6f1b58112abe01ea84b4f0e30c4d9e40494c12da502d286fc6434e4ec783e526" + - W/"533458ee3066282b186215d7c71924151afb2632257a13e85a8d8e09a794b29e" Last-Modified: - - Fri, 12 Jan 2024 09:49:41 GMT + - Fri, 03 May 2024 07:27:29 GMT Referrer-Policy: - origin-when-cross-origin, strict-origin-when-cross-origin Server: @@ -183,7 +314,7 @@ interactions: - Accept, Authorization, Cookie, X-GitHub-OTP - Accept-Encoding, Accept, X-Requested-With X-Accepted-OAuth-Scopes: - - '' + - repo X-Content-Type-Options: - nosniff X-Frame-Options: @@ -191,23 +322,23 @@ interactions: X-GitHub-Media-Type: - github.v3; format=json X-GitHub-Request-Id: - - 5151:168E2F:A2CDB3B:A4979EE:65A165FF + - EDE0:2C3FB9:3625FF0:3794BCA:6634E9A8 X-OAuth-Scopes: - repo X-RateLimit-Limit: - '5000' X-RateLimit-Remaining: - - '4965' + - '4766' X-RateLimit-Reset: - - '1705078320' + - '1714744789' X-RateLimit-Resource: - core X-RateLimit-Used: - - '35' + - '234' X-XSS-Protection: - '0' github-authentication-token-expiration: - - 2024-03-04 14:01:51 UTC + - 2024-07-08 07:44:52 UTC x-github-api-version-selected: - '2022-11-28' status: @@ -221,21 +352,23 @@ interactions: Accept-Encoding: - gzip, deflate Authorization: - - token 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 + - token ghp_MASKED Connection: - keep-alive User-Agent: - PyGithub/Python method: GET - uri: https://api.github.com/repos/pangaea-data-publisher/fuji/contents/pom.xml + uri: https://api.github.com/repos/pangaea-data-publisher/fuji/license response: body: - string: '{"message":"Not Found","documentation_url":"https://docs.github.com/rest/repos/contents#get-repository-content"}' + string: '{"name":"LICENSE","path":"LICENSE","sha":"40f22c50b59b959d5e855961998d88dfa13c6279","size":1090,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/LICENSE?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/LICENSE","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/40f22c50b59b959d5e855961998d88dfa13c6279","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/LICENSE","type":"file","content":"TUlUIExpY2Vuc2UKCkNvcHlyaWdodCAoYykgMjAyMCBQQU5HQUVBIChodHRw\nczovL3d3dy5wYW5nYWVhLmRlLykKClBlcm1pc3Npb24gaXMgaGVyZWJ5IGdy\nYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmlu\nZyBhIGNvcHkKb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1\nbWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwKaW4g\ndGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3\naXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cwp0byB1c2UsIGNvcHksIG1v\nZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2Us\nIGFuZC9vciBzZWxsCmNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBw\nZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcwpmdXJuaXNo\nZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRp\nb25zOgoKVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVy\nbWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsCmNvcGll\ncyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCgpU\nSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJS\nQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgpJTVBMSUVELCBJTkNMVURJ\nTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNI\nQU5UQUJJTElUWSwKRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug\nQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCkFV\nVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkg\nQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKTElBQklMSVRZLCBXSEVUSEVSIElO\nIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFS\nSVNJTkcgRlJPTSwKT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUg\nU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUK\nU09GVFdBUkUuCg==\n","encoding":"base64","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/LICENSE?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/40f22c50b59b959d5e855961998d88dfa13c6279","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/LICENSE"},"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"}}' headers: Access-Control-Allow-Origin: - '*' Access-Control-Expose-Headers: - ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset + Cache-Control: + - private, max-age=60, s-maxage=60 Content-Encoding: - gzip Content-Security-Policy: @@ -243,7 +376,11 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Fri, 12 Jan 2024 16:17:04 GMT + - Fri, 03 May 2024 13:42:01 GMT + ETag: + - W/"4662b8681f47778785c6d384edd2738bec4591808bc9fc0ecbabf721ea4cb23d" + Last-Modified: + - Fri, 03 May 2024 07:27:26 GMT Referrer-Policy: - origin-when-cross-origin, strict-origin-when-cross-origin Server: @@ -253,6 +390,7 @@ interactions: Transfer-Encoding: - chunked Vary: + - Accept, Authorization, Cookie, X-GitHub-OTP - Accept-Encoding, Accept, X-Requested-With X-Accepted-OAuth-Scopes: - '' @@ -263,28 +401,28 @@ interactions: X-GitHub-Media-Type: - github.v3; format=json X-GitHub-Request-Id: - - 2A04:F3888:DE223AE:E0AF5AF:65A16600 + - 5097:201CC5:3630DF7:379F9A8:6634E9A9 X-OAuth-Scopes: - repo X-RateLimit-Limit: - '5000' X-RateLimit-Remaining: - - '4964' + - '4765' X-RateLimit-Reset: - - '1705078320' + - '1714744789' X-RateLimit-Resource: - core X-RateLimit-Used: - - '36' + - '235' X-XSS-Protection: - '0' github-authentication-token-expiration: - - 2024-03-04 14:01:51 UTC + - 2024-07-08 07:44:52 UTC x-github-api-version-selected: - '2022-11-28' status: - code: 404 - message: Not Found + code: 200 + message: OK - request: body: headers: @@ -293,7 +431,7 @@ interactions: Accept-Encoding: - gzip, deflate Authorization: - - token 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 + - token ghp_MASKED Connection: - keep-alive User-Agent: @@ -302,7 +440,7 @@ interactions: uri: https://api.github.com/repos/pangaea-data-publisher/fuji/languages response: body: - string: '{"Python":897213,"PHP":24895,"Dockerfile":996,"HTML":130}' + string: '{"Python":924820,"PHP":25307,"Dockerfile":996,"HTML":130}' headers: Access-Control-Allow-Origin: - '*' @@ -317,11 +455,11 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Fri, 12 Jan 2024 16:17:04 GMT + - Fri, 03 May 2024 13:42:02 GMT ETag: - - W/"ca668d6a62cdacea0b4a9a378e7884dd9d7cfca05390e1184afaadf92ee4b1ec" + - W/"c2b781603f71e49358596a06c7fdfd12ec408e62bc076f1ae0017ae8642ce9a0" Last-Modified: - - Sun, 07 Jan 2024 16:29:43 GMT + - Fri, 03 May 2024 07:27:29 GMT Referrer-Policy: - origin-when-cross-origin, strict-origin-when-cross-origin Server: @@ -342,23 +480,23 @@ interactions: X-GitHub-Media-Type: - github.v3; format=json X-GitHub-Request-Id: - - C75A:89B15:EA894E5:ED3B506:65A16600 + - 77FA:20220E:3690123:37FED23:6634E9A9 X-OAuth-Scopes: - repo X-RateLimit-Limit: - '5000' X-RateLimit-Remaining: - - '4963' + - '4764' X-RateLimit-Reset: - - '1705078320' + - '1714744789' X-RateLimit-Resource: - core X-RateLimit-Used: - - '37' + - '236' X-XSS-Protection: - '0' github-authentication-token-expiration: - - 2024-03-04 14:01:51 UTC + - 2024-07-08 07:44:52 UTC x-github-api-version-selected: - '2022-11-28' status: @@ -372,16 +510,16 @@ interactions: Accept-Encoding: - gzip, deflate Authorization: - - token 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 + - token ghp_MASKED Connection: - keep-alive User-Agent: - PyGithub/Python method: GET - uri: https://api.github.com/search/code?q=+repo%3Apangaea-data-publisher%2Ffuji+language%3APython&per_page=1 + uri: https://api.github.com/search/code?q=+repo%3Apangaea-data-publisher%2Ffuji+language%3A%22Python%22&per_page=1 response: body: - string: '{"total_count":122,"incomplete_results":false,"items":[{"name":"app.py","path":"fuji_server/app.py","sha":"26a77ee3946819fff0bccaf22df1265ea32bc7dc","url":"https://api.github.com/repositories/259678183/contents/fuji_server/app.py?ref=708fe43a1ee5f4557368dcd66622ec869fe854f9","git_url":"https://api.github.com/repositories/259678183/git/blobs/26a77ee3946819fff0bccaf22df1265ea32bc7dc","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/708fe43a1ee5f4557368dcd66622ec869fe854f9/fuji_server/app.py","repository":{"id":259678183,"node_id":"MDEwOlJlcG9zaXRvcnkyNTk2NzgxODM=","name":"fuji","full_name":"pangaea-data-publisher/fuji","private":false,"owner":{"login":"pangaea-data-publisher","id":47568830,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3NTY4ODMw","avatar_url":"https://avatars.githubusercontent.com/u/47568830?v=4","gravatar_id":"","url":"https://api.github.com/users/pangaea-data-publisher","html_url":"https://github.com/pangaea-data-publisher","followers_url":"https://api.github.com/users/pangaea-data-publisher/followers","following_url":"https://api.github.com/users/pangaea-data-publisher/following{/other_user}","gists_url":"https://api.github.com/users/pangaea-data-publisher/gists{/gist_id}","starred_url":"https://api.github.com/users/pangaea-data-publisher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pangaea-data-publisher/subscriptions","organizations_url":"https://api.github.com/users/pangaea-data-publisher/orgs","repos_url":"https://api.github.com/users/pangaea-data-publisher/repos","events_url":"https://api.github.com/users/pangaea-data-publisher/events{/privacy}","received_events_url":"https://api.github.com/users/pangaea-data-publisher/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/pangaea-data-publisher/fuji","description":"FAIRsFAIR Research Data Object Assessment Service","fork":false,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji","forks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/forks","keys_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/teams","hooks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/hooks","issue_events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/events{/number}","events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/events","assignees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/assignees{/user}","branches_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/branches{/branch}","tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/tags","blobs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/refs{/sha}","trees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/statuses/{sha}","languages_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/languages","stargazers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/stargazers","contributors_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contributors","subscribers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscribers","subscription_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscription","commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/commits{/sha}","git_commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/commits{/sha}","comments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/comments{/number}","issue_comment_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/comments{/number}","contents_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/{+path}","compare_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/merges","archive_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/downloads","issues_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues{/number}","pulls_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/pulls{/number}","milestones_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/milestones{/number}","notifications_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/labels{/name}","releases_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/releases{/id}","deployments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/deployments"},"score":1.0}]}' + string: '{"total_count":126,"incomplete_results":false,"items":[{"name":"app.py","path":"fuji_server/app.py","sha":"26a77ee3946819fff0bccaf22df1265ea32bc7dc","url":"https://api.github.com/repositories/259678183/contents/fuji_server/app.py?ref=9f419b8b1d239da31e09b105f593581cc78e2f15","git_url":"https://api.github.com/repositories/259678183/git/blobs/26a77ee3946819fff0bccaf22df1265ea32bc7dc","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/9f419b8b1d239da31e09b105f593581cc78e2f15/fuji_server/app.py","repository":{"id":259678183,"node_id":"MDEwOlJlcG9zaXRvcnkyNTk2NzgxODM=","name":"fuji","full_name":"pangaea-data-publisher/fuji","private":false,"owner":{"login":"pangaea-data-publisher","id":47568830,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3NTY4ODMw","avatar_url":"https://avatars.githubusercontent.com/u/47568830?v=4","gravatar_id":"","url":"https://api.github.com/users/pangaea-data-publisher","html_url":"https://github.com/pangaea-data-publisher","followers_url":"https://api.github.com/users/pangaea-data-publisher/followers","following_url":"https://api.github.com/users/pangaea-data-publisher/following{/other_user}","gists_url":"https://api.github.com/users/pangaea-data-publisher/gists{/gist_id}","starred_url":"https://api.github.com/users/pangaea-data-publisher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pangaea-data-publisher/subscriptions","organizations_url":"https://api.github.com/users/pangaea-data-publisher/orgs","repos_url":"https://api.github.com/users/pangaea-data-publisher/repos","events_url":"https://api.github.com/users/pangaea-data-publisher/events{/privacy}","received_events_url":"https://api.github.com/users/pangaea-data-publisher/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/pangaea-data-publisher/fuji","description":"FAIRsFAIR Research Data Object Assessment Service","fork":false,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji","forks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/forks","keys_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/teams","hooks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/hooks","issue_events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/events{/number}","events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/events","assignees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/assignees{/user}","branches_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/branches{/branch}","tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/tags","blobs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/refs{/sha}","trees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/statuses/{sha}","languages_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/languages","stargazers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/stargazers","contributors_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contributors","subscribers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscribers","subscription_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscription","commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/commits{/sha}","git_commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/commits{/sha}","comments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/comments{/number}","issue_comment_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/comments{/number}","contents_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/{+path}","compare_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/merges","archive_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/downloads","issues_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues{/number}","pulls_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/pulls{/number}","milestones_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/milestones{/number}","notifications_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/labels{/name}","releases_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/releases{/id}","deployments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/deployments"},"score":1.0}]}' headers: Access-Control-Allow-Origin: - '*' @@ -396,9 +534,9 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Fri, 12 Jan 2024 16:17:05 GMT + - Fri, 03 May 2024 13:42:02 GMT Link: - - ; rel="next", ; rel="last" + - ; rel="next", ; rel="last" Referrer-Policy: - origin-when-cross-origin, strict-origin-when-cross-origin Server: @@ -419,7 +557,7 @@ interactions: X-GitHub-Media-Type: - github.v3; format=json X-GitHub-Request-Id: - - 50FD:8F432:F6CC887:F97E823:65A16601 + - EE04:2C51EE:36DC274:384ADCA:6634E9AA X-OAuth-Scopes: - repo X-RateLimit-Limit: @@ -427,7 +565,7 @@ interactions: X-RateLimit-Remaining: - '9' X-RateLimit-Reset: - - '1705076285' + - '1714743782' X-RateLimit-Resource: - code_search X-RateLimit-Used: @@ -435,7 +573,7 @@ interactions: X-XSS-Protection: - '0' github-authentication-token-expiration: - - 2024-03-04 14:01:51 UTC + - 2024-07-08 07:44:52 UTC x-github-api-version-selected: - '2022-11-28' status: @@ -449,16 +587,16 @@ interactions: Accept-Encoding: - gzip, deflate Authorization: - - token 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 + - token ghp_MASKED Connection: - keep-alive User-Agent: - PyGithub/Python method: GET - uri: https://api.github.com/search/code?q=+repo%3Apangaea-data-publisher%2Ffuji+language%3APython + uri: https://api.github.com/search/code?q=+repo%3Apangaea-data-publisher%2Ffuji+language%3A%22Python%22 response: body: - string: '{"total_count":122,"incomplete_results":false,"items":[{"name":"app.py","path":"fuji_server/app.py","sha":"26a77ee3946819fff0bccaf22df1265ea32bc7dc","url":"https://api.github.com/repositories/259678183/contents/fuji_server/app.py?ref=708fe43a1ee5f4557368dcd66622ec869fe854f9","git_url":"https://api.github.com/repositories/259678183/git/blobs/26a77ee3946819fff0bccaf22df1265ea32bc7dc","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/708fe43a1ee5f4557368dcd66622ec869fe854f9/fuji_server/app.py","repository":{"id":259678183,"node_id":"MDEwOlJlcG9zaXRvcnkyNTk2NzgxODM=","name":"fuji","full_name":"pangaea-data-publisher/fuji","private":false,"owner":{"login":"pangaea-data-publisher","id":47568830,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3NTY4ODMw","avatar_url":"https://avatars.githubusercontent.com/u/47568830?v=4","gravatar_id":"","url":"https://api.github.com/users/pangaea-data-publisher","html_url":"https://github.com/pangaea-data-publisher","followers_url":"https://api.github.com/users/pangaea-data-publisher/followers","following_url":"https://api.github.com/users/pangaea-data-publisher/following{/other_user}","gists_url":"https://api.github.com/users/pangaea-data-publisher/gists{/gist_id}","starred_url":"https://api.github.com/users/pangaea-data-publisher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pangaea-data-publisher/subscriptions","organizations_url":"https://api.github.com/users/pangaea-data-publisher/orgs","repos_url":"https://api.github.com/users/pangaea-data-publisher/repos","events_url":"https://api.github.com/users/pangaea-data-publisher/events{/privacy}","received_events_url":"https://api.github.com/users/pangaea-data-publisher/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/pangaea-data-publisher/fuji","description":"FAIRsFAIR Research Data Object Assessment Service","fork":false,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji","forks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/forks","keys_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/teams","hooks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/hooks","issue_events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/events{/number}","events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/events","assignees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/assignees{/user}","branches_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/branches{/branch}","tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/tags","blobs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/refs{/sha}","trees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/statuses/{sha}","languages_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/languages","stargazers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/stargazers","contributors_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contributors","subscribers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscribers","subscription_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscription","commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/commits{/sha}","git_commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/commits{/sha}","comments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/comments{/number}","issue_comment_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/comments{/number}","contents_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/{+path}","compare_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/merges","archive_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/downloads","issues_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues{/number}","pulls_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/pulls{/number}","milestones_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/milestones{/number}","notifications_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/labels{/name}","releases_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/releases{/id}","deployments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/deployments"},"score":1.0},{"name":"conf.py","path":"docs/source/conf.py","sha":"95e0e43e9ff99c7f1ddc5dc7f4445bbe994ee2b2","url":"https://api.github.com/repositories/259678183/contents/docs/source/conf.py?ref=708fe43a1ee5f4557368dcd66622ec869fe854f9","git_url":"https://api.github.com/repositories/259678183/git/blobs/95e0e43e9ff99c7f1ddc5dc7f4445bbe994ee2b2","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/708fe43a1ee5f4557368dcd66622ec869fe854f9/docs/source/conf.py","repository":{"id":259678183,"node_id":"MDEwOlJlcG9zaXRvcnkyNTk2NzgxODM=","name":"fuji","full_name":"pangaea-data-publisher/fuji","private":false,"owner":{"login":"pangaea-data-publisher","id":47568830,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3NTY4ODMw","avatar_url":"https://avatars.githubusercontent.com/u/47568830?v=4","gravatar_id":"","url":"https://api.github.com/users/pangaea-data-publisher","html_url":"https://github.com/pangaea-data-publisher","followers_url":"https://api.github.com/users/pangaea-data-publisher/followers","following_url":"https://api.github.com/users/pangaea-data-publisher/following{/other_user}","gists_url":"https://api.github.com/users/pangaea-data-publisher/gists{/gist_id}","starred_url":"https://api.github.com/users/pangaea-data-publisher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pangaea-data-publisher/subscriptions","organizations_url":"https://api.github.com/users/pangaea-data-publisher/orgs","repos_url":"https://api.github.com/users/pangaea-data-publisher/repos","events_url":"https://api.github.com/users/pangaea-data-publisher/events{/privacy}","received_events_url":"https://api.github.com/users/pangaea-data-publisher/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/pangaea-data-publisher/fuji","description":"FAIRsFAIR Research Data Object Assessment Service","fork":false,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji","forks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/forks","keys_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/teams","hooks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/hooks","issue_events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/events{/number}","events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/events","assignees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/assignees{/user}","branches_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/branches{/branch}","tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/tags","blobs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/refs{/sha}","trees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/statuses/{sha}","languages_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/languages","stargazers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/stargazers","contributors_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contributors","subscribers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscribers","subscription_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscription","commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/commits{/sha}","git_commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/commits{/sha}","comments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/comments{/number}","issue_comment_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/comments{/number}","contents_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/{+path}","compare_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/merges","archive_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/downloads","issues_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues{/number}","pulls_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/pulls{/number}","milestones_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/milestones{/number}","notifications_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/labels{/name}","releases_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/releases{/id}","deployments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/deployments"},"score":1.0},{"name":"encoder.py","path":"fuji_server/encoder.py","sha":"0536ef3fbc331bfc0a83b769dacb0df405d48e9a","url":"https://api.github.com/repositories/259678183/contents/fuji_server/encoder.py?ref=708fe43a1ee5f4557368dcd66622ec869fe854f9","git_url":"https://api.github.com/repositories/259678183/git/blobs/0536ef3fbc331bfc0a83b769dacb0df405d48e9a","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/708fe43a1ee5f4557368dcd66622ec869fe854f9/fuji_server/encoder.py","repository":{"id":259678183,"node_id":"MDEwOlJlcG9zaXRvcnkyNTk2NzgxODM=","name":"fuji","full_name":"pangaea-data-publisher/fuji","private":false,"owner":{"login":"pangaea-data-publisher","id":47568830,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3NTY4ODMw","avatar_url":"https://avatars.githubusercontent.com/u/47568830?v=4","gravatar_id":"","url":"https://api.github.com/users/pangaea-data-publisher","html_url":"https://github.com/pangaea-data-publisher","followers_url":"https://api.github.com/users/pangaea-data-publisher/followers","following_url":"https://api.github.com/users/pangaea-data-publisher/following{/other_user}","gists_url":"https://api.github.com/users/pangaea-data-publisher/gists{/gist_id}","starred_url":"https://api.github.com/users/pangaea-data-publisher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pangaea-data-publisher/subscriptions","organizations_url":"https://api.github.com/users/pangaea-data-publisher/orgs","repos_url":"https://api.github.com/users/pangaea-data-publisher/repos","events_url":"https://api.github.com/users/pangaea-data-publisher/events{/privacy}","received_events_url":"https://api.github.com/users/pangaea-data-publisher/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/pangaea-data-publisher/fuji","description":"FAIRsFAIR Research Data Object Assessment Service","fork":false,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji","forks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/forks","keys_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/teams","hooks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/hooks","issue_events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/events{/number}","events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/events","assignees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/assignees{/user}","branches_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/branches{/branch}","tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/tags","blobs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/refs{/sha}","trees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/statuses/{sha}","languages_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/languages","stargazers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/stargazers","contributors_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contributors","subscribers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscribers","subscription_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscription","commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/commits{/sha}","git_commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/commits{/sha}","comments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/comments{/number}","issue_comment_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/comments{/number}","contents_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/{+path}","compare_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/merges","archive_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/downloads","issues_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues{/number}","pulls_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/pulls{/number}","milestones_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/milestones{/number}","notifications_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/labels{/name}","releases_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/releases{/id}","deployments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/deployments"},"score":1.0},{"name":"__init__.py","path":"fuji_server/__init__.py","sha":"bfec0e01e89e507a05c789a9b4c9758f8cb57fb1","url":"https://api.github.com/repositories/259678183/contents/fuji_server/__init__.py?ref=708fe43a1ee5f4557368dcd66622ec869fe854f9","git_url":"https://api.github.com/repositories/259678183/git/blobs/bfec0e01e89e507a05c789a9b4c9758f8cb57fb1","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/708fe43a1ee5f4557368dcd66622ec869fe854f9/fuji_server/__init__.py","repository":{"id":259678183,"node_id":"MDEwOlJlcG9zaXRvcnkyNTk2NzgxODM=","name":"fuji","full_name":"pangaea-data-publisher/fuji","private":false,"owner":{"login":"pangaea-data-publisher","id":47568830,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3NTY4ODMw","avatar_url":"https://avatars.githubusercontent.com/u/47568830?v=4","gravatar_id":"","url":"https://api.github.com/users/pangaea-data-publisher","html_url":"https://github.com/pangaea-data-publisher","followers_url":"https://api.github.com/users/pangaea-data-publisher/followers","following_url":"https://api.github.com/users/pangaea-data-publisher/following{/other_user}","gists_url":"https://api.github.com/users/pangaea-data-publisher/gists{/gist_id}","starred_url":"https://api.github.com/users/pangaea-data-publisher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pangaea-data-publisher/subscriptions","organizations_url":"https://api.github.com/users/pangaea-data-publisher/orgs","repos_url":"https://api.github.com/users/pangaea-data-publisher/repos","events_url":"https://api.github.com/users/pangaea-data-publisher/events{/privacy}","received_events_url":"https://api.github.com/users/pangaea-data-publisher/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/pangaea-data-publisher/fuji","description":"FAIRsFAIR Research Data Object Assessment Service","fork":false,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji","forks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/forks","keys_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/teams","hooks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/hooks","issue_events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/events{/number}","events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/events","assignees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/assignees{/user}","branches_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/branches{/branch}","tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/tags","blobs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/refs{/sha}","trees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/statuses/{sha}","languages_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/languages","stargazers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/stargazers","contributors_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contributors","subscribers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscribers","subscription_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscription","commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/commits{/sha}","git_commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/commits{/sha}","comments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/comments{/number}","issue_comment_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/comments{/number}","contents_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/{+path}","compare_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/merges","archive_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/downloads","issues_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues{/number}","pulls_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/pulls{/number}","milestones_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/milestones{/number}","notifications_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/labels{/name}","releases_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/releases{/id}","deployments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/deployments"},"score":1.0},{"name":"__main__.py","path":"fuji_server/__main__.py","sha":"b6393d59b041fd80dd5679447a14e4de3185a0a1","url":"https://api.github.com/repositories/259678183/contents/fuji_server/__main__.py?ref=708fe43a1ee5f4557368dcd66622ec869fe854f9","git_url":"https://api.github.com/repositories/259678183/git/blobs/b6393d59b041fd80dd5679447a14e4de3185a0a1","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/708fe43a1ee5f4557368dcd66622ec869fe854f9/fuji_server/__main__.py","repository":{"id":259678183,"node_id":"MDEwOlJlcG9zaXRvcnkyNTk2NzgxODM=","name":"fuji","full_name":"pangaea-data-publisher/fuji","private":false,"owner":{"login":"pangaea-data-publisher","id":47568830,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3NTY4ODMw","avatar_url":"https://avatars.githubusercontent.com/u/47568830?v=4","gravatar_id":"","url":"https://api.github.com/users/pangaea-data-publisher","html_url":"https://github.com/pangaea-data-publisher","followers_url":"https://api.github.com/users/pangaea-data-publisher/followers","following_url":"https://api.github.com/users/pangaea-data-publisher/following{/other_user}","gists_url":"https://api.github.com/users/pangaea-data-publisher/gists{/gist_id}","starred_url":"https://api.github.com/users/pangaea-data-publisher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pangaea-data-publisher/subscriptions","organizations_url":"https://api.github.com/users/pangaea-data-publisher/orgs","repos_url":"https://api.github.com/users/pangaea-data-publisher/repos","events_url":"https://api.github.com/users/pangaea-data-publisher/events{/privacy}","received_events_url":"https://api.github.com/users/pangaea-data-publisher/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/pangaea-data-publisher/fuji","description":"FAIRsFAIR Research Data Object Assessment Service","fork":false,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji","forks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/forks","keys_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/teams","hooks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/hooks","issue_events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/events{/number}","events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/events","assignees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/assignees{/user}","branches_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/branches{/branch}","tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/tags","blobs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/refs{/sha}","trees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/statuses/{sha}","languages_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/languages","stargazers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/stargazers","contributors_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contributors","subscribers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscribers","subscription_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscription","commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/commits{/sha}","git_commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/commits{/sha}","comments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/comments{/number}","issue_comment_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/comments{/number}","contents_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/{+path}","compare_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/merges","archive_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/downloads","issues_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues{/number}","pulls_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/pulls{/number}","milestones_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/milestones{/number}","notifications_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/labels{/name}","releases_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/releases{/id}","deployments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/deployments"},"score":1.0},{"name":"body.py","path":"fuji_server/models/body.py","sha":"8ddd15a63b4fed4cd814a9780a394245842e04c2","url":"https://api.github.com/repositories/259678183/contents/fuji_server/models/body.py?ref=708fe43a1ee5f4557368dcd66622ec869fe854f9","git_url":"https://api.github.com/repositories/259678183/git/blobs/8ddd15a63b4fed4cd814a9780a394245842e04c2","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/708fe43a1ee5f4557368dcd66622ec869fe854f9/fuji_server/models/body.py","repository":{"id":259678183,"node_id":"MDEwOlJlcG9zaXRvcnkyNTk2NzgxODM=","name":"fuji","full_name":"pangaea-data-publisher/fuji","private":false,"owner":{"login":"pangaea-data-publisher","id":47568830,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3NTY4ODMw","avatar_url":"https://avatars.githubusercontent.com/u/47568830?v=4","gravatar_id":"","url":"https://api.github.com/users/pangaea-data-publisher","html_url":"https://github.com/pangaea-data-publisher","followers_url":"https://api.github.com/users/pangaea-data-publisher/followers","following_url":"https://api.github.com/users/pangaea-data-publisher/following{/other_user}","gists_url":"https://api.github.com/users/pangaea-data-publisher/gists{/gist_id}","starred_url":"https://api.github.com/users/pangaea-data-publisher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pangaea-data-publisher/subscriptions","organizations_url":"https://api.github.com/users/pangaea-data-publisher/orgs","repos_url":"https://api.github.com/users/pangaea-data-publisher/repos","events_url":"https://api.github.com/users/pangaea-data-publisher/events{/privacy}","received_events_url":"https://api.github.com/users/pangaea-data-publisher/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/pangaea-data-publisher/fuji","description":"FAIRsFAIR Research Data Object Assessment Service","fork":false,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji","forks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/forks","keys_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/teams","hooks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/hooks","issue_events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/events{/number}","events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/events","assignees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/assignees{/user}","branches_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/branches{/branch}","tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/tags","blobs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/refs{/sha}","trees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/statuses/{sha}","languages_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/languages","stargazers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/stargazers","contributors_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contributors","subscribers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscribers","subscription_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscription","commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/commits{/sha}","git_commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/commits{/sha}","comments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/comments{/number}","issue_comment_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/comments{/number}","contents_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/{+path}","compare_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/merges","archive_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/downloads","issues_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues{/number}","pulls_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/pulls{/number}","milestones_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/milestones{/number}","notifications_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/labels{/name}","releases_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/releases{/id}","deployments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/deployments"},"score":1.0},{"name":"metric.py","path":"fuji_server/models/metric.py","sha":"b2ad559486c252b340d723776dcfcf9814e26b60","url":"https://api.github.com/repositories/259678183/contents/fuji_server/models/metric.py?ref=708fe43a1ee5f4557368dcd66622ec869fe854f9","git_url":"https://api.github.com/repositories/259678183/git/blobs/b2ad559486c252b340d723776dcfcf9814e26b60","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/708fe43a1ee5f4557368dcd66622ec869fe854f9/fuji_server/models/metric.py","repository":{"id":259678183,"node_id":"MDEwOlJlcG9zaXRvcnkyNTk2NzgxODM=","name":"fuji","full_name":"pangaea-data-publisher/fuji","private":false,"owner":{"login":"pangaea-data-publisher","id":47568830,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3NTY4ODMw","avatar_url":"https://avatars.githubusercontent.com/u/47568830?v=4","gravatar_id":"","url":"https://api.github.com/users/pangaea-data-publisher","html_url":"https://github.com/pangaea-data-publisher","followers_url":"https://api.github.com/users/pangaea-data-publisher/followers","following_url":"https://api.github.com/users/pangaea-data-publisher/following{/other_user}","gists_url":"https://api.github.com/users/pangaea-data-publisher/gists{/gist_id}","starred_url":"https://api.github.com/users/pangaea-data-publisher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pangaea-data-publisher/subscriptions","organizations_url":"https://api.github.com/users/pangaea-data-publisher/orgs","repos_url":"https://api.github.com/users/pangaea-data-publisher/repos","events_url":"https://api.github.com/users/pangaea-data-publisher/events{/privacy}","received_events_url":"https://api.github.com/users/pangaea-data-publisher/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/pangaea-data-publisher/fuji","description":"FAIRsFAIR Research Data Object Assessment Service","fork":false,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji","forks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/forks","keys_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/teams","hooks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/hooks","issue_events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/events{/number}","events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/events","assignees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/assignees{/user}","branches_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/branches{/branch}","tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/tags","blobs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/refs{/sha}","trees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/statuses/{sha}","languages_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/languages","stargazers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/stargazers","contributors_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contributors","subscribers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscribers","subscription_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscription","commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/commits{/sha}","git_commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/commits{/sha}","comments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/comments{/number}","issue_comment_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/comments{/number}","contents_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/{+path}","compare_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/merges","archive_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/downloads","issues_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues{/number}","pulls_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/pulls{/number}","milestones_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/milestones{/number}","notifications_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/labels{/name}","releases_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/releases{/id}","deployments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/deployments"},"score":1.0},{"name":"core_metadata.py","path":"fuji_server/models/core_metadata.py","sha":"d580710a733376212981063006e1daf22574eaba","url":"https://api.github.com/repositories/259678183/contents/fuji_server/models/core_metadata.py?ref=708fe43a1ee5f4557368dcd66622ec869fe854f9","git_url":"https://api.github.com/repositories/259678183/git/blobs/d580710a733376212981063006e1daf22574eaba","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/708fe43a1ee5f4557368dcd66622ec869fe854f9/fuji_server/models/core_metadata.py","repository":{"id":259678183,"node_id":"MDEwOlJlcG9zaXRvcnkyNTk2NzgxODM=","name":"fuji","full_name":"pangaea-data-publisher/fuji","private":false,"owner":{"login":"pangaea-data-publisher","id":47568830,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3NTY4ODMw","avatar_url":"https://avatars.githubusercontent.com/u/47568830?v=4","gravatar_id":"","url":"https://api.github.com/users/pangaea-data-publisher","html_url":"https://github.com/pangaea-data-publisher","followers_url":"https://api.github.com/users/pangaea-data-publisher/followers","following_url":"https://api.github.com/users/pangaea-data-publisher/following{/other_user}","gists_url":"https://api.github.com/users/pangaea-data-publisher/gists{/gist_id}","starred_url":"https://api.github.com/users/pangaea-data-publisher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pangaea-data-publisher/subscriptions","organizations_url":"https://api.github.com/users/pangaea-data-publisher/orgs","repos_url":"https://api.github.com/users/pangaea-data-publisher/repos","events_url":"https://api.github.com/users/pangaea-data-publisher/events{/privacy}","received_events_url":"https://api.github.com/users/pangaea-data-publisher/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/pangaea-data-publisher/fuji","description":"FAIRsFAIR Research Data Object Assessment Service","fork":false,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji","forks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/forks","keys_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/teams","hooks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/hooks","issue_events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/events{/number}","events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/events","assignees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/assignees{/user}","branches_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/branches{/branch}","tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/tags","blobs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/refs{/sha}","trees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/statuses/{sha}","languages_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/languages","stargazers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/stargazers","contributors_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contributors","subscribers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscribers","subscription_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscription","commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/commits{/sha}","git_commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/commits{/sha}","comments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/comments{/number}","issue_comment_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/comments{/number}","contents_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/{+path}","compare_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/merges","archive_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/downloads","issues_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues{/number}","pulls_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/pulls{/number}","milestones_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/milestones{/number}","notifications_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/labels{/name}","releases_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/releases{/id}","deployments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/deployments"},"score":1.0},{"name":"formal_metadata_output.py","path":"fuji_server/models/formal_metadata_output.py","sha":"ea571eb5839f4cf917b1706d93b5e8b0856d5884","url":"https://api.github.com/repositories/259678183/contents/fuji_server/models/formal_metadata_output.py?ref=708fe43a1ee5f4557368dcd66622ec869fe854f9","git_url":"https://api.github.com/repositories/259678183/git/blobs/ea571eb5839f4cf917b1706d93b5e8b0856d5884","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/708fe43a1ee5f4557368dcd66622ec869fe854f9/fuji_server/models/formal_metadata_output.py","repository":{"id":259678183,"node_id":"MDEwOlJlcG9zaXRvcnkyNTk2NzgxODM=","name":"fuji","full_name":"pangaea-data-publisher/fuji","private":false,"owner":{"login":"pangaea-data-publisher","id":47568830,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3NTY4ODMw","avatar_url":"https://avatars.githubusercontent.com/u/47568830?v=4","gravatar_id":"","url":"https://api.github.com/users/pangaea-data-publisher","html_url":"https://github.com/pangaea-data-publisher","followers_url":"https://api.github.com/users/pangaea-data-publisher/followers","following_url":"https://api.github.com/users/pangaea-data-publisher/following{/other_user}","gists_url":"https://api.github.com/users/pangaea-data-publisher/gists{/gist_id}","starred_url":"https://api.github.com/users/pangaea-data-publisher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pangaea-data-publisher/subscriptions","organizations_url":"https://api.github.com/users/pangaea-data-publisher/orgs","repos_url":"https://api.github.com/users/pangaea-data-publisher/repos","events_url":"https://api.github.com/users/pangaea-data-publisher/events{/privacy}","received_events_url":"https://api.github.com/users/pangaea-data-publisher/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/pangaea-data-publisher/fuji","description":"FAIRsFAIR Research Data Object Assessment Service","fork":false,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji","forks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/forks","keys_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/teams","hooks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/hooks","issue_events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/events{/number}","events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/events","assignees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/assignees{/user}","branches_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/branches{/branch}","tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/tags","blobs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/refs{/sha}","trees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/statuses/{sha}","languages_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/languages","stargazers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/stargazers","contributors_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contributors","subscribers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscribers","subscription_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscription","commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/commits{/sha}","git_commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/commits{/sha}","comments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/comments{/number}","issue_comment_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/comments{/number}","contents_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/{+path}","compare_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/merges","archive_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/downloads","issues_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues{/number}","pulls_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/pulls{/number}","milestones_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/milestones{/number}","notifications_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/labels{/name}","releases_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/releases{/id}","deployments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/deployments"},"score":1.0},{"name":"catalogue_helper_datacite.py","path":"fuji_server/helper/catalogue_helper_datacite.py","sha":"317253d1233d3f2eede2843c746fb7f06803b370","url":"https://api.github.com/repositories/259678183/contents/fuji_server/helper/catalogue_helper_datacite.py?ref=708fe43a1ee5f4557368dcd66622ec869fe854f9","git_url":"https://api.github.com/repositories/259678183/git/blobs/317253d1233d3f2eede2843c746fb7f06803b370","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/708fe43a1ee5f4557368dcd66622ec869fe854f9/fuji_server/helper/catalogue_helper_datacite.py","repository":{"id":259678183,"node_id":"MDEwOlJlcG9zaXRvcnkyNTk2NzgxODM=","name":"fuji","full_name":"pangaea-data-publisher/fuji","private":false,"owner":{"login":"pangaea-data-publisher","id":47568830,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3NTY4ODMw","avatar_url":"https://avatars.githubusercontent.com/u/47568830?v=4","gravatar_id":"","url":"https://api.github.com/users/pangaea-data-publisher","html_url":"https://github.com/pangaea-data-publisher","followers_url":"https://api.github.com/users/pangaea-data-publisher/followers","following_url":"https://api.github.com/users/pangaea-data-publisher/following{/other_user}","gists_url":"https://api.github.com/users/pangaea-data-publisher/gists{/gist_id}","starred_url":"https://api.github.com/users/pangaea-data-publisher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pangaea-data-publisher/subscriptions","organizations_url":"https://api.github.com/users/pangaea-data-publisher/orgs","repos_url":"https://api.github.com/users/pangaea-data-publisher/repos","events_url":"https://api.github.com/users/pangaea-data-publisher/events{/privacy}","received_events_url":"https://api.github.com/users/pangaea-data-publisher/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/pangaea-data-publisher/fuji","description":"FAIRsFAIR Research Data Object Assessment Service","fork":false,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji","forks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/forks","keys_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/teams","hooks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/hooks","issue_events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/events{/number}","events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/events","assignees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/assignees{/user}","branches_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/branches{/branch}","tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/tags","blobs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/refs{/sha}","trees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/statuses/{sha}","languages_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/languages","stargazers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/stargazers","contributors_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contributors","subscribers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscribers","subscription_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscription","commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/commits{/sha}","git_commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/commits{/sha}","comments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/comments{/number}","issue_comment_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/comments{/number}","contents_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/{+path}","compare_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/merges","archive_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/downloads","issues_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues{/number}","pulls_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/pulls{/number}","milestones_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/milestones{/number}","notifications_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/labels{/name}","releases_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/releases{/id}","deployments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/deployments"},"score":1.0},{"name":"metadata_provider_sparql.py","path":"fuji_server/helper/metadata_provider_sparql.py","sha":"dc2dde370223a2902b2c4d5bd866efde745df4d8","url":"https://api.github.com/repositories/259678183/contents/fuji_server/helper/metadata_provider_sparql.py?ref=708fe43a1ee5f4557368dcd66622ec869fe854f9","git_url":"https://api.github.com/repositories/259678183/git/blobs/dc2dde370223a2902b2c4d5bd866efde745df4d8","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/708fe43a1ee5f4557368dcd66622ec869fe854f9/fuji_server/helper/metadata_provider_sparql.py","repository":{"id":259678183,"node_id":"MDEwOlJlcG9zaXRvcnkyNTk2NzgxODM=","name":"fuji","full_name":"pangaea-data-publisher/fuji","private":false,"owner":{"login":"pangaea-data-publisher","id":47568830,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3NTY4ODMw","avatar_url":"https://avatars.githubusercontent.com/u/47568830?v=4","gravatar_id":"","url":"https://api.github.com/users/pangaea-data-publisher","html_url":"https://github.com/pangaea-data-publisher","followers_url":"https://api.github.com/users/pangaea-data-publisher/followers","following_url":"https://api.github.com/users/pangaea-data-publisher/following{/other_user}","gists_url":"https://api.github.com/users/pangaea-data-publisher/gists{/gist_id}","starred_url":"https://api.github.com/users/pangaea-data-publisher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pangaea-data-publisher/subscriptions","organizations_url":"https://api.github.com/users/pangaea-data-publisher/orgs","repos_url":"https://api.github.com/users/pangaea-data-publisher/repos","events_url":"https://api.github.com/users/pangaea-data-publisher/events{/privacy}","received_events_url":"https://api.github.com/users/pangaea-data-publisher/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/pangaea-data-publisher/fuji","description":"FAIRsFAIR Research Data Object Assessment Service","fork":false,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji","forks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/forks","keys_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/teams","hooks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/hooks","issue_events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/events{/number}","events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/events","assignees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/assignees{/user}","branches_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/branches{/branch}","tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/tags","blobs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/refs{/sha}","trees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/statuses/{sha}","languages_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/languages","stargazers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/stargazers","contributors_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contributors","subscribers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscribers","subscription_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscription","commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/commits{/sha}","git_commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/commits{/sha}","comments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/comments{/number}","issue_comment_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/comments{/number}","contents_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/{+path}","compare_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/merges","archive_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/downloads","issues_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues{/number}","pulls_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/pulls{/number}","milestones_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/milestones{/number}","notifications_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/labels{/name}","releases_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/releases{/id}","deployments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/deployments"},"score":1.0},{"name":"community_endorsed_standard_output.py","path":"fuji_server/models/community_endorsed_standard_output.py","sha":"bdc441ba9773b913dc2a8c2031cbf651bcd25635","url":"https://api.github.com/repositories/259678183/contents/fuji_server/models/community_endorsed_standard_output.py?ref=708fe43a1ee5f4557368dcd66622ec869fe854f9","git_url":"https://api.github.com/repositories/259678183/git/blobs/bdc441ba9773b913dc2a8c2031cbf651bcd25635","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/708fe43a1ee5f4557368dcd66622ec869fe854f9/fuji_server/models/community_endorsed_standard_output.py","repository":{"id":259678183,"node_id":"MDEwOlJlcG9zaXRvcnkyNTk2NzgxODM=","name":"fuji","full_name":"pangaea-data-publisher/fuji","private":false,"owner":{"login":"pangaea-data-publisher","id":47568830,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3NTY4ODMw","avatar_url":"https://avatars.githubusercontent.com/u/47568830?v=4","gravatar_id":"","url":"https://api.github.com/users/pangaea-data-publisher","html_url":"https://github.com/pangaea-data-publisher","followers_url":"https://api.github.com/users/pangaea-data-publisher/followers","following_url":"https://api.github.com/users/pangaea-data-publisher/following{/other_user}","gists_url":"https://api.github.com/users/pangaea-data-publisher/gists{/gist_id}","starred_url":"https://api.github.com/users/pangaea-data-publisher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pangaea-data-publisher/subscriptions","organizations_url":"https://api.github.com/users/pangaea-data-publisher/orgs","repos_url":"https://api.github.com/users/pangaea-data-publisher/repos","events_url":"https://api.github.com/users/pangaea-data-publisher/events{/privacy}","received_events_url":"https://api.github.com/users/pangaea-data-publisher/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/pangaea-data-publisher/fuji","description":"FAIRsFAIR Research Data Object Assessment Service","fork":false,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji","forks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/forks","keys_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/teams","hooks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/hooks","issue_events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/events{/number}","events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/events","assignees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/assignees{/user}","branches_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/branches{/branch}","tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/tags","blobs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/refs{/sha}","trees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/statuses/{sha}","languages_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/languages","stargazers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/stargazers","contributors_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contributors","subscribers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscribers","subscription_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscription","commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/commits{/sha}","git_commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/commits{/sha}","comments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/comments{/number}","issue_comment_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/comments{/number}","contents_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/{+path}","compare_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/merges","archive_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/downloads","issues_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues{/number}","pulls_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/pulls{/number}","milestones_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/milestones{/number}","notifications_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/labels{/name}","releases_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/releases{/id}","deployments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/deployments"},"score":1.0},{"name":"fair_metric_controller.py","path":"fuji_server/controllers/fair_metric_controller.py","sha":"ebda59b1725bc31861adff9bc3bd61b6fdbd9b44","url":"https://api.github.com/repositories/259678183/contents/fuji_server/controllers/fair_metric_controller.py?ref=708fe43a1ee5f4557368dcd66622ec869fe854f9","git_url":"https://api.github.com/repositories/259678183/git/blobs/ebda59b1725bc31861adff9bc3bd61b6fdbd9b44","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/708fe43a1ee5f4557368dcd66622ec869fe854f9/fuji_server/controllers/fair_metric_controller.py","repository":{"id":259678183,"node_id":"MDEwOlJlcG9zaXRvcnkyNTk2NzgxODM=","name":"fuji","full_name":"pangaea-data-publisher/fuji","private":false,"owner":{"login":"pangaea-data-publisher","id":47568830,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3NTY4ODMw","avatar_url":"https://avatars.githubusercontent.com/u/47568830?v=4","gravatar_id":"","url":"https://api.github.com/users/pangaea-data-publisher","html_url":"https://github.com/pangaea-data-publisher","followers_url":"https://api.github.com/users/pangaea-data-publisher/followers","following_url":"https://api.github.com/users/pangaea-data-publisher/following{/other_user}","gists_url":"https://api.github.com/users/pangaea-data-publisher/gists{/gist_id}","starred_url":"https://api.github.com/users/pangaea-data-publisher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pangaea-data-publisher/subscriptions","organizations_url":"https://api.github.com/users/pangaea-data-publisher/orgs","repos_url":"https://api.github.com/users/pangaea-data-publisher/repos","events_url":"https://api.github.com/users/pangaea-data-publisher/events{/privacy}","received_events_url":"https://api.github.com/users/pangaea-data-publisher/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/pangaea-data-publisher/fuji","description":"FAIRsFAIR Research Data Object Assessment Service","fork":false,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji","forks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/forks","keys_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/teams","hooks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/hooks","issue_events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/events{/number}","events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/events","assignees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/assignees{/user}","branches_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/branches{/branch}","tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/tags","blobs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/refs{/sha}","trees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/statuses/{sha}","languages_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/languages","stargazers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/stargazers","contributors_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contributors","subscribers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscribers","subscription_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscription","commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/commits{/sha}","git_commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/commits{/sha}","comments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/comments{/number}","issue_comment_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/comments{/number}","contents_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/{+path}","compare_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/merges","archive_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/downloads","issues_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues{/number}","pulls_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/pulls{/number}","milestones_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/milestones{/number}","notifications_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/labels{/name}","releases_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/releases{/id}","deployments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/deployments"},"score":1.0},{"name":"metadata_provider_csw.py","path":"fuji_server/helper/metadata_provider_csw.py","sha":"2488e100ec2779accefb17fe0259a195b78d157b","url":"https://api.github.com/repositories/259678183/contents/fuji_server/helper/metadata_provider_csw.py?ref=708fe43a1ee5f4557368dcd66622ec869fe854f9","git_url":"https://api.github.com/repositories/259678183/git/blobs/2488e100ec2779accefb17fe0259a195b78d157b","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/708fe43a1ee5f4557368dcd66622ec869fe854f9/fuji_server/helper/metadata_provider_csw.py","repository":{"id":259678183,"node_id":"MDEwOlJlcG9zaXRvcnkyNTk2NzgxODM=","name":"fuji","full_name":"pangaea-data-publisher/fuji","private":false,"owner":{"login":"pangaea-data-publisher","id":47568830,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3NTY4ODMw","avatar_url":"https://avatars.githubusercontent.com/u/47568830?v=4","gravatar_id":"","url":"https://api.github.com/users/pangaea-data-publisher","html_url":"https://github.com/pangaea-data-publisher","followers_url":"https://api.github.com/users/pangaea-data-publisher/followers","following_url":"https://api.github.com/users/pangaea-data-publisher/following{/other_user}","gists_url":"https://api.github.com/users/pangaea-data-publisher/gists{/gist_id}","starred_url":"https://api.github.com/users/pangaea-data-publisher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pangaea-data-publisher/subscriptions","organizations_url":"https://api.github.com/users/pangaea-data-publisher/orgs","repos_url":"https://api.github.com/users/pangaea-data-publisher/repos","events_url":"https://api.github.com/users/pangaea-data-publisher/events{/privacy}","received_events_url":"https://api.github.com/users/pangaea-data-publisher/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/pangaea-data-publisher/fuji","description":"FAIRsFAIR Research Data Object Assessment Service","fork":false,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji","forks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/forks","keys_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/teams","hooks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/hooks","issue_events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/events{/number}","events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/events","assignees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/assignees{/user}","branches_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/branches{/branch}","tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/tags","blobs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/refs{/sha}","trees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/statuses/{sha}","languages_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/languages","stargazers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/stargazers","contributors_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contributors","subscribers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscribers","subscription_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscription","commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/commits{/sha}","git_commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/commits{/sha}","comments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/comments{/number}","issue_comment_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/comments{/number}","contents_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/{+path}","compare_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/merges","archive_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/downloads","issues_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues{/number}","pulls_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/pulls{/number}","milestones_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/milestones{/number}","notifications_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/labels{/name}","releases_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/releases{/id}","deployments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/deployments"},"score":1.0},{"name":"related_resource_output.py","path":"fuji_server/models/related_resource_output.py","sha":"d0a714d122896f7c92a1f4ae143dadd7d2caa117","url":"https://api.github.com/repositories/259678183/contents/fuji_server/models/related_resource_output.py?ref=708fe43a1ee5f4557368dcd66622ec869fe854f9","git_url":"https://api.github.com/repositories/259678183/git/blobs/d0a714d122896f7c92a1f4ae143dadd7d2caa117","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/708fe43a1ee5f4557368dcd66622ec869fe854f9/fuji_server/models/related_resource_output.py","repository":{"id":259678183,"node_id":"MDEwOlJlcG9zaXRvcnkyNTk2NzgxODM=","name":"fuji","full_name":"pangaea-data-publisher/fuji","private":false,"owner":{"login":"pangaea-data-publisher","id":47568830,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3NTY4ODMw","avatar_url":"https://avatars.githubusercontent.com/u/47568830?v=4","gravatar_id":"","url":"https://api.github.com/users/pangaea-data-publisher","html_url":"https://github.com/pangaea-data-publisher","followers_url":"https://api.github.com/users/pangaea-data-publisher/followers","following_url":"https://api.github.com/users/pangaea-data-publisher/following{/other_user}","gists_url":"https://api.github.com/users/pangaea-data-publisher/gists{/gist_id}","starred_url":"https://api.github.com/users/pangaea-data-publisher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pangaea-data-publisher/subscriptions","organizations_url":"https://api.github.com/users/pangaea-data-publisher/orgs","repos_url":"https://api.github.com/users/pangaea-data-publisher/repos","events_url":"https://api.github.com/users/pangaea-data-publisher/events{/privacy}","received_events_url":"https://api.github.com/users/pangaea-data-publisher/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/pangaea-data-publisher/fuji","description":"FAIRsFAIR Research Data Object Assessment Service","fork":false,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji","forks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/forks","keys_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/teams","hooks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/hooks","issue_events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/events{/number}","events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/events","assignees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/assignees{/user}","branches_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/branches{/branch}","tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/tags","blobs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/refs{/sha}","trees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/statuses/{sha}","languages_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/languages","stargazers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/stargazers","contributors_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contributors","subscribers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscribers","subscription_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscription","commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/commits{/sha}","git_commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/commits{/sha}","comments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/comments{/number}","issue_comment_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/comments{/number}","contents_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/{+path}","compare_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/merges","archive_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/downloads","issues_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues{/number}","pulls_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/pulls{/number}","milestones_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/milestones{/number}","notifications_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/labels{/name}","releases_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/releases{/id}","deployments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/deployments"},"score":1.0},{"name":"identifier_included.py","path":"fuji_server/models/identifier_included.py","sha":"8bc5c7618096853f937c3386d3df1df584958303","url":"https://api.github.com/repositories/259678183/contents/fuji_server/models/identifier_included.py?ref=708fe43a1ee5f4557368dcd66622ec869fe854f9","git_url":"https://api.github.com/repositories/259678183/git/blobs/8bc5c7618096853f937c3386d3df1df584958303","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/708fe43a1ee5f4557368dcd66622ec869fe854f9/fuji_server/models/identifier_included.py","repository":{"id":259678183,"node_id":"MDEwOlJlcG9zaXRvcnkyNTk2NzgxODM=","name":"fuji","full_name":"pangaea-data-publisher/fuji","private":false,"owner":{"login":"pangaea-data-publisher","id":47568830,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3NTY4ODMw","avatar_url":"https://avatars.githubusercontent.com/u/47568830?v=4","gravatar_id":"","url":"https://api.github.com/users/pangaea-data-publisher","html_url":"https://github.com/pangaea-data-publisher","followers_url":"https://api.github.com/users/pangaea-data-publisher/followers","following_url":"https://api.github.com/users/pangaea-data-publisher/following{/other_user}","gists_url":"https://api.github.com/users/pangaea-data-publisher/gists{/gist_id}","starred_url":"https://api.github.com/users/pangaea-data-publisher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pangaea-data-publisher/subscriptions","organizations_url":"https://api.github.com/users/pangaea-data-publisher/orgs","repos_url":"https://api.github.com/users/pangaea-data-publisher/repos","events_url":"https://api.github.com/users/pangaea-data-publisher/events{/privacy}","received_events_url":"https://api.github.com/users/pangaea-data-publisher/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/pangaea-data-publisher/fuji","description":"FAIRsFAIR Research Data Object Assessment Service","fork":false,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji","forks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/forks","keys_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/teams","hooks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/hooks","issue_events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/events{/number}","events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/events","assignees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/assignees{/user}","branches_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/branches{/branch}","tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/tags","blobs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/refs{/sha}","trees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/statuses/{sha}","languages_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/languages","stargazers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/stargazers","contributors_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contributors","subscribers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscribers","subscription_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscription","commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/commits{/sha}","git_commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/commits{/sha}","comments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/comments{/number}","issue_comment_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/comments{/number}","contents_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/{+path}","compare_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/merges","archive_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/downloads","issues_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues{/number}","pulls_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/pulls{/number}","milestones_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/milestones{/number}","notifications_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/labels{/name}","releases_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/releases{/id}","deployments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/deployments"},"score":1.0},{"name":"data_file_format_output_inner.py","path":"fuji_server/models/data_file_format_output_inner.py","sha":"1f585cf895b11a39a829e2f547726d620c843a31","url":"https://api.github.com/repositories/259678183/contents/fuji_server/models/data_file_format_output_inner.py?ref=708fe43a1ee5f4557368dcd66622ec869fe854f9","git_url":"https://api.github.com/repositories/259678183/git/blobs/1f585cf895b11a39a829e2f547726d620c843a31","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/708fe43a1ee5f4557368dcd66622ec869fe854f9/fuji_server/models/data_file_format_output_inner.py","repository":{"id":259678183,"node_id":"MDEwOlJlcG9zaXRvcnkyNTk2NzgxODM=","name":"fuji","full_name":"pangaea-data-publisher/fuji","private":false,"owner":{"login":"pangaea-data-publisher","id":47568830,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3NTY4ODMw","avatar_url":"https://avatars.githubusercontent.com/u/47568830?v=4","gravatar_id":"","url":"https://api.github.com/users/pangaea-data-publisher","html_url":"https://github.com/pangaea-data-publisher","followers_url":"https://api.github.com/users/pangaea-data-publisher/followers","following_url":"https://api.github.com/users/pangaea-data-publisher/following{/other_user}","gists_url":"https://api.github.com/users/pangaea-data-publisher/gists{/gist_id}","starred_url":"https://api.github.com/users/pangaea-data-publisher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pangaea-data-publisher/subscriptions","organizations_url":"https://api.github.com/users/pangaea-data-publisher/orgs","repos_url":"https://api.github.com/users/pangaea-data-publisher/repos","events_url":"https://api.github.com/users/pangaea-data-publisher/events{/privacy}","received_events_url":"https://api.github.com/users/pangaea-data-publisher/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/pangaea-data-publisher/fuji","description":"FAIRsFAIR Research Data Object Assessment Service","fork":false,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji","forks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/forks","keys_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/teams","hooks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/hooks","issue_events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/events{/number}","events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/events","assignees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/assignees{/user}","branches_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/branches{/branch}","tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/tags","blobs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/refs{/sha}","trees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/statuses/{sha}","languages_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/languages","stargazers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/stargazers","contributors_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contributors","subscribers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscribers","subscription_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscription","commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/commits{/sha}","git_commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/commits{/sha}","comments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/comments{/number}","issue_comment_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/comments{/number}","contents_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/{+path}","compare_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/merges","archive_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/downloads","issues_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues{/number}","pulls_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/pulls{/number}","milestones_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/milestones{/number}","notifications_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/labels{/name}","releases_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/releases{/id}","deployments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/deployments"},"score":1.0},{"name":"data_provenance_output.py","path":"fuji_server/models/data_provenance_output.py","sha":"1514d4a4485371be7f75ebf4280dbb4b5838fcd6","url":"https://api.github.com/repositories/259678183/contents/fuji_server/models/data_provenance_output.py?ref=708fe43a1ee5f4557368dcd66622ec869fe854f9","git_url":"https://api.github.com/repositories/259678183/git/blobs/1514d4a4485371be7f75ebf4280dbb4b5838fcd6","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/708fe43a1ee5f4557368dcd66622ec869fe854f9/fuji_server/models/data_provenance_output.py","repository":{"id":259678183,"node_id":"MDEwOlJlcG9zaXRvcnkyNTk2NzgxODM=","name":"fuji","full_name":"pangaea-data-publisher/fuji","private":false,"owner":{"login":"pangaea-data-publisher","id":47568830,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3NTY4ODMw","avatar_url":"https://avatars.githubusercontent.com/u/47568830?v=4","gravatar_id":"","url":"https://api.github.com/users/pangaea-data-publisher","html_url":"https://github.com/pangaea-data-publisher","followers_url":"https://api.github.com/users/pangaea-data-publisher/followers","following_url":"https://api.github.com/users/pangaea-data-publisher/following{/other_user}","gists_url":"https://api.github.com/users/pangaea-data-publisher/gists{/gist_id}","starred_url":"https://api.github.com/users/pangaea-data-publisher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pangaea-data-publisher/subscriptions","organizations_url":"https://api.github.com/users/pangaea-data-publisher/orgs","repos_url":"https://api.github.com/users/pangaea-data-publisher/repos","events_url":"https://api.github.com/users/pangaea-data-publisher/events{/privacy}","received_events_url":"https://api.github.com/users/pangaea-data-publisher/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/pangaea-data-publisher/fuji","description":"FAIRsFAIR Research Data Object Assessment Service","fork":false,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji","forks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/forks","keys_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/teams","hooks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/hooks","issue_events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/events{/number}","events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/events","assignees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/assignees{/user}","branches_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/branches{/branch}","tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/tags","blobs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/refs{/sha}","trees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/statuses/{sha}","languages_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/languages","stargazers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/stargazers","contributors_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contributors","subscribers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscribers","subscription_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscription","commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/commits{/sha}","git_commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/commits{/sha}","comments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/comments{/number}","issue_comment_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/comments{/number}","contents_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/{+path}","compare_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/merges","archive_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/downloads","issues_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues{/number}","pulls_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/pulls{/number}","milestones_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/milestones{/number}","notifications_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/labels{/name}","releases_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/releases{/id}","deployments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/deployments"},"score":1.0},{"name":"harvest_results.py","path":"fuji_server/models/harvest_results.py","sha":"5892b5b7ee31715b37dcd79da21478c494261768","url":"https://api.github.com/repositories/259678183/contents/fuji_server/models/harvest_results.py?ref=708fe43a1ee5f4557368dcd66622ec869fe854f9","git_url":"https://api.github.com/repositories/259678183/git/blobs/5892b5b7ee31715b37dcd79da21478c494261768","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/708fe43a1ee5f4557368dcd66622ec869fe854f9/fuji_server/models/harvest_results.py","repository":{"id":259678183,"node_id":"MDEwOlJlcG9zaXRvcnkyNTk2NzgxODM=","name":"fuji","full_name":"pangaea-data-publisher/fuji","private":false,"owner":{"login":"pangaea-data-publisher","id":47568830,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3NTY4ODMw","avatar_url":"https://avatars.githubusercontent.com/u/47568830?v=4","gravatar_id":"","url":"https://api.github.com/users/pangaea-data-publisher","html_url":"https://github.com/pangaea-data-publisher","followers_url":"https://api.github.com/users/pangaea-data-publisher/followers","following_url":"https://api.github.com/users/pangaea-data-publisher/following{/other_user}","gists_url":"https://api.github.com/users/pangaea-data-publisher/gists{/gist_id}","starred_url":"https://api.github.com/users/pangaea-data-publisher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pangaea-data-publisher/subscriptions","organizations_url":"https://api.github.com/users/pangaea-data-publisher/orgs","repos_url":"https://api.github.com/users/pangaea-data-publisher/repos","events_url":"https://api.github.com/users/pangaea-data-publisher/events{/privacy}","received_events_url":"https://api.github.com/users/pangaea-data-publisher/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/pangaea-data-publisher/fuji","description":"FAIRsFAIR Research Data Object Assessment Service","fork":false,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji","forks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/forks","keys_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/teams","hooks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/hooks","issue_events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/events{/number}","events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/events","assignees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/assignees{/user}","branches_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/branches{/branch}","tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/tags","blobs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/refs{/sha}","trees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/statuses/{sha}","languages_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/languages","stargazers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/stargazers","contributors_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contributors","subscribers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscribers","subscription_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscription","commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/commits{/sha}","git_commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/commits{/sha}","comments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/comments{/number}","issue_comment_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/comments{/number}","contents_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/{+path}","compare_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/merges","archive_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/downloads","issues_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues{/number}","pulls_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/pulls{/number}","milestones_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/milestones{/number}","notifications_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/labels{/name}","releases_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/releases{/id}","deployments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/deployments"},"score":1.0},{"name":"fair_result_common.py","path":"fuji_server/models/fair_result_common.py","sha":"93e51326e014ce78fed728c4ae0afa1cc258e360","url":"https://api.github.com/repositories/259678183/contents/fuji_server/models/fair_result_common.py?ref=708fe43a1ee5f4557368dcd66622ec869fe854f9","git_url":"https://api.github.com/repositories/259678183/git/blobs/93e51326e014ce78fed728c4ae0afa1cc258e360","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/708fe43a1ee5f4557368dcd66622ec869fe854f9/fuji_server/models/fair_result_common.py","repository":{"id":259678183,"node_id":"MDEwOlJlcG9zaXRvcnkyNTk2NzgxODM=","name":"fuji","full_name":"pangaea-data-publisher/fuji","private":false,"owner":{"login":"pangaea-data-publisher","id":47568830,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3NTY4ODMw","avatar_url":"https://avatars.githubusercontent.com/u/47568830?v=4","gravatar_id":"","url":"https://api.github.com/users/pangaea-data-publisher","html_url":"https://github.com/pangaea-data-publisher","followers_url":"https://api.github.com/users/pangaea-data-publisher/followers","following_url":"https://api.github.com/users/pangaea-data-publisher/following{/other_user}","gists_url":"https://api.github.com/users/pangaea-data-publisher/gists{/gist_id}","starred_url":"https://api.github.com/users/pangaea-data-publisher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pangaea-data-publisher/subscriptions","organizations_url":"https://api.github.com/users/pangaea-data-publisher/orgs","repos_url":"https://api.github.com/users/pangaea-data-publisher/repos","events_url":"https://api.github.com/users/pangaea-data-publisher/events{/privacy}","received_events_url":"https://api.github.com/users/pangaea-data-publisher/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/pangaea-data-publisher/fuji","description":"FAIRsFAIR Research Data Object Assessment Service","fork":false,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji","forks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/forks","keys_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/teams","hooks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/hooks","issue_events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/events{/number}","events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/events","assignees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/assignees{/user}","branches_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/branches{/branch}","tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/tags","blobs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/refs{/sha}","trees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/statuses/{sha}","languages_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/languages","stargazers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/stargazers","contributors_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contributors","subscribers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscribers","subscription_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscription","commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/commits{/sha}","git_commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/commits{/sha}","comments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/comments{/number}","issue_comment_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/comments{/number}","contents_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/{+path}","compare_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/merges","archive_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/downloads","issues_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues{/number}","pulls_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/pulls{/number}","milestones_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/milestones{/number}","notifications_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/labels{/name}","releases_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/releases{/id}","deployments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/deployments"},"score":1.0},{"name":"fair_evaluator_data_provenance.py","path":"fuji_server/evaluators/fair_evaluator_data_provenance.py","sha":"1f2c3d7211a42874549c372209b5bd763822a1c2","url":"https://api.github.com/repositories/259678183/contents/fuji_server/evaluators/fair_evaluator_data_provenance.py?ref=708fe43a1ee5f4557368dcd66622ec869fe854f9","git_url":"https://api.github.com/repositories/259678183/git/blobs/1f2c3d7211a42874549c372209b5bd763822a1c2","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/708fe43a1ee5f4557368dcd66622ec869fe854f9/fuji_server/evaluators/fair_evaluator_data_provenance.py","repository":{"id":259678183,"node_id":"MDEwOlJlcG9zaXRvcnkyNTk2NzgxODM=","name":"fuji","full_name":"pangaea-data-publisher/fuji","private":false,"owner":{"login":"pangaea-data-publisher","id":47568830,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3NTY4ODMw","avatar_url":"https://avatars.githubusercontent.com/u/47568830?v=4","gravatar_id":"","url":"https://api.github.com/users/pangaea-data-publisher","html_url":"https://github.com/pangaea-data-publisher","followers_url":"https://api.github.com/users/pangaea-data-publisher/followers","following_url":"https://api.github.com/users/pangaea-data-publisher/following{/other_user}","gists_url":"https://api.github.com/users/pangaea-data-publisher/gists{/gist_id}","starred_url":"https://api.github.com/users/pangaea-data-publisher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pangaea-data-publisher/subscriptions","organizations_url":"https://api.github.com/users/pangaea-data-publisher/orgs","repos_url":"https://api.github.com/users/pangaea-data-publisher/repos","events_url":"https://api.github.com/users/pangaea-data-publisher/events{/privacy}","received_events_url":"https://api.github.com/users/pangaea-data-publisher/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/pangaea-data-publisher/fuji","description":"FAIRsFAIR Research Data Object Assessment Service","fork":false,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji","forks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/forks","keys_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/teams","hooks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/hooks","issue_events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/events{/number}","events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/events","assignees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/assignees{/user}","branches_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/branches{/branch}","tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/tags","blobs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/refs{/sha}","trees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/statuses/{sha}","languages_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/languages","stargazers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/stargazers","contributors_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contributors","subscribers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscribers","subscription_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscription","commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/commits{/sha}","git_commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/commits{/sha}","comments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/comments{/number}","issue_comment_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/comments{/number}","contents_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/{+path}","compare_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/merges","archive_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/downloads","issues_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues{/number}","pulls_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/pulls{/number}","milestones_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/milestones{/number}","notifications_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/labels{/name}","releases_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/releases{/id}","deployments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/deployments"},"score":1.0},{"name":"fair_evaluator_unique_identifier_metadata.py","path":"fuji_server/evaluators/fair_evaluator_unique_identifier_metadata.py","sha":"1a379099dee718beb3a443484488eed590726dd3","url":"https://api.github.com/repositories/259678183/contents/fuji_server/evaluators/fair_evaluator_unique_identifier_metadata.py?ref=708fe43a1ee5f4557368dcd66622ec869fe854f9","git_url":"https://api.github.com/repositories/259678183/git/blobs/1a379099dee718beb3a443484488eed590726dd3","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/708fe43a1ee5f4557368dcd66622ec869fe854f9/fuji_server/evaluators/fair_evaluator_unique_identifier_metadata.py","repository":{"id":259678183,"node_id":"MDEwOlJlcG9zaXRvcnkyNTk2NzgxODM=","name":"fuji","full_name":"pangaea-data-publisher/fuji","private":false,"owner":{"login":"pangaea-data-publisher","id":47568830,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3NTY4ODMw","avatar_url":"https://avatars.githubusercontent.com/u/47568830?v=4","gravatar_id":"","url":"https://api.github.com/users/pangaea-data-publisher","html_url":"https://github.com/pangaea-data-publisher","followers_url":"https://api.github.com/users/pangaea-data-publisher/followers","following_url":"https://api.github.com/users/pangaea-data-publisher/following{/other_user}","gists_url":"https://api.github.com/users/pangaea-data-publisher/gists{/gist_id}","starred_url":"https://api.github.com/users/pangaea-data-publisher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pangaea-data-publisher/subscriptions","organizations_url":"https://api.github.com/users/pangaea-data-publisher/orgs","repos_url":"https://api.github.com/users/pangaea-data-publisher/repos","events_url":"https://api.github.com/users/pangaea-data-publisher/events{/privacy}","received_events_url":"https://api.github.com/users/pangaea-data-publisher/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/pangaea-data-publisher/fuji","description":"FAIRsFAIR Research Data Object Assessment Service","fork":false,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji","forks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/forks","keys_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/teams","hooks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/hooks","issue_events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/events{/number}","events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/events","assignees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/assignees{/user}","branches_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/branches{/branch}","tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/tags","blobs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/refs{/sha}","trees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/statuses/{sha}","languages_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/languages","stargazers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/stargazers","contributors_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contributors","subscribers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscribers","subscription_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscription","commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/commits{/sha}","git_commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/commits{/sha}","comments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/comments{/number}","issue_comment_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/comments{/number}","contents_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/{+path}","compare_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/merges","archive_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/downloads","issues_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues{/number}","pulls_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/pulls{/number}","milestones_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/milestones{/number}","notifications_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/labels{/name}","releases_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/releases{/id}","deployments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/deployments"},"score":1.0},{"name":"fair_evaluator_semantic_vocabulary.py","path":"fuji_server/evaluators/fair_evaluator_semantic_vocabulary.py","sha":"324dc36ba45ad6cf28215408dfeaf03eec62a175","url":"https://api.github.com/repositories/259678183/contents/fuji_server/evaluators/fair_evaluator_semantic_vocabulary.py?ref=708fe43a1ee5f4557368dcd66622ec869fe854f9","git_url":"https://api.github.com/repositories/259678183/git/blobs/324dc36ba45ad6cf28215408dfeaf03eec62a175","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/708fe43a1ee5f4557368dcd66622ec869fe854f9/fuji_server/evaluators/fair_evaluator_semantic_vocabulary.py","repository":{"id":259678183,"node_id":"MDEwOlJlcG9zaXRvcnkyNTk2NzgxODM=","name":"fuji","full_name":"pangaea-data-publisher/fuji","private":false,"owner":{"login":"pangaea-data-publisher","id":47568830,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3NTY4ODMw","avatar_url":"https://avatars.githubusercontent.com/u/47568830?v=4","gravatar_id":"","url":"https://api.github.com/users/pangaea-data-publisher","html_url":"https://github.com/pangaea-data-publisher","followers_url":"https://api.github.com/users/pangaea-data-publisher/followers","following_url":"https://api.github.com/users/pangaea-data-publisher/following{/other_user}","gists_url":"https://api.github.com/users/pangaea-data-publisher/gists{/gist_id}","starred_url":"https://api.github.com/users/pangaea-data-publisher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pangaea-data-publisher/subscriptions","organizations_url":"https://api.github.com/users/pangaea-data-publisher/orgs","repos_url":"https://api.github.com/users/pangaea-data-publisher/repos","events_url":"https://api.github.com/users/pangaea-data-publisher/events{/privacy}","received_events_url":"https://api.github.com/users/pangaea-data-publisher/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/pangaea-data-publisher/fuji","description":"FAIRsFAIR Research Data Object Assessment Service","fork":false,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji","forks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/forks","keys_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/teams","hooks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/hooks","issue_events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/events{/number}","events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/events","assignees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/assignees{/user}","branches_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/branches{/branch}","tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/tags","blobs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/refs{/sha}","trees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/statuses/{sha}","languages_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/languages","stargazers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/stargazers","contributors_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contributors","subscribers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscribers","subscription_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscription","commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/commits{/sha}","git_commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/commits{/sha}","comments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/comments{/number}","issue_comment_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/comments{/number}","contents_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/{+path}","compare_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/merges","archive_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/downloads","issues_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues{/number}","pulls_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/pulls{/number}","milestones_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/milestones{/number}","notifications_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/labels{/name}","releases_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/releases{/id}","deployments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/deployments"},"score":1.0},{"name":"related_resource.py","path":"fuji_server/models/related_resource.py","sha":"e0333d31d21ee0cbfe09e4e42263bb5c0cb5e24d","url":"https://api.github.com/repositories/259678183/contents/fuji_server/models/related_resource.py?ref=708fe43a1ee5f4557368dcd66622ec869fe854f9","git_url":"https://api.github.com/repositories/259678183/git/blobs/e0333d31d21ee0cbfe09e4e42263bb5c0cb5e24d","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/708fe43a1ee5f4557368dcd66622ec869fe854f9/fuji_server/models/related_resource.py","repository":{"id":259678183,"node_id":"MDEwOlJlcG9zaXRvcnkyNTk2NzgxODM=","name":"fuji","full_name":"pangaea-data-publisher/fuji","private":false,"owner":{"login":"pangaea-data-publisher","id":47568830,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3NTY4ODMw","avatar_url":"https://avatars.githubusercontent.com/u/47568830?v=4","gravatar_id":"","url":"https://api.github.com/users/pangaea-data-publisher","html_url":"https://github.com/pangaea-data-publisher","followers_url":"https://api.github.com/users/pangaea-data-publisher/followers","following_url":"https://api.github.com/users/pangaea-data-publisher/following{/other_user}","gists_url":"https://api.github.com/users/pangaea-data-publisher/gists{/gist_id}","starred_url":"https://api.github.com/users/pangaea-data-publisher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pangaea-data-publisher/subscriptions","organizations_url":"https://api.github.com/users/pangaea-data-publisher/orgs","repos_url":"https://api.github.com/users/pangaea-data-publisher/repos","events_url":"https://api.github.com/users/pangaea-data-publisher/events{/privacy}","received_events_url":"https://api.github.com/users/pangaea-data-publisher/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/pangaea-data-publisher/fuji","description":"FAIRsFAIR Research Data Object Assessment Service","fork":false,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji","forks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/forks","keys_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/teams","hooks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/hooks","issue_events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/events{/number}","events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/events","assignees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/assignees{/user}","branches_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/branches{/branch}","tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/tags","blobs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/refs{/sha}","trees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/statuses/{sha}","languages_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/languages","stargazers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/stargazers","contributors_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contributors","subscribers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscribers","subscription_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscription","commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/commits{/sha}","git_commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/commits{/sha}","comments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/comments{/number}","issue_comment_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/comments{/number}","contents_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/{+path}","compare_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/merges","archive_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/downloads","issues_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues{/number}","pulls_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/pulls{/number}","milestones_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/milestones{/number}","notifications_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/labels{/name}","releases_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/releases{/id}","deployments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/deployments"},"score":1.0},{"name":"metadata_mapper.py","path":"fuji_server/helper/metadata_mapper.py","sha":"448eb7864b91d8a428d23fb85bfb0398afe37c46","url":"https://api.github.com/repositories/259678183/contents/fuji_server/helper/metadata_mapper.py?ref=708fe43a1ee5f4557368dcd66622ec869fe854f9","git_url":"https://api.github.com/repositories/259678183/git/blobs/448eb7864b91d8a428d23fb85bfb0398afe37c46","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/708fe43a1ee5f4557368dcd66622ec869fe854f9/fuji_server/helper/metadata_mapper.py","repository":{"id":259678183,"node_id":"MDEwOlJlcG9zaXRvcnkyNTk2NzgxODM=","name":"fuji","full_name":"pangaea-data-publisher/fuji","private":false,"owner":{"login":"pangaea-data-publisher","id":47568830,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3NTY4ODMw","avatar_url":"https://avatars.githubusercontent.com/u/47568830?v=4","gravatar_id":"","url":"https://api.github.com/users/pangaea-data-publisher","html_url":"https://github.com/pangaea-data-publisher","followers_url":"https://api.github.com/users/pangaea-data-publisher/followers","following_url":"https://api.github.com/users/pangaea-data-publisher/following{/other_user}","gists_url":"https://api.github.com/users/pangaea-data-publisher/gists{/gist_id}","starred_url":"https://api.github.com/users/pangaea-data-publisher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pangaea-data-publisher/subscriptions","organizations_url":"https://api.github.com/users/pangaea-data-publisher/orgs","repos_url":"https://api.github.com/users/pangaea-data-publisher/repos","events_url":"https://api.github.com/users/pangaea-data-publisher/events{/privacy}","received_events_url":"https://api.github.com/users/pangaea-data-publisher/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/pangaea-data-publisher/fuji","description":"FAIRsFAIR Research Data Object Assessment Service","fork":false,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji","forks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/forks","keys_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/teams","hooks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/hooks","issue_events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/events{/number}","events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/events","assignees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/assignees{/user}","branches_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/branches{/branch}","tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/tags","blobs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/refs{/sha}","trees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/statuses/{sha}","languages_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/languages","stargazers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/stargazers","contributors_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contributors","subscribers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscribers","subscription_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscription","commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/commits{/sha}","git_commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/commits{/sha}","comments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/comments{/number}","issue_comment_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/comments{/number}","contents_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/{+path}","compare_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/merges","archive_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/downloads","issues_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues{/number}","pulls_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/pulls{/number}","milestones_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/milestones{/number}","notifications_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/labels{/name}","releases_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/releases{/id}","deployments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/deployments"},"score":1.0},{"name":"harvest.py","path":"fuji_server/models/harvest.py","sha":"8bfa244b78b42722d8932d38c238cfdfff3c0d2f","url":"https://api.github.com/repositories/259678183/contents/fuji_server/models/harvest.py?ref=708fe43a1ee5f4557368dcd66622ec869fe854f9","git_url":"https://api.github.com/repositories/259678183/git/blobs/8bfa244b78b42722d8932d38c238cfdfff3c0d2f","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/708fe43a1ee5f4557368dcd66622ec869fe854f9/fuji_server/models/harvest.py","repository":{"id":259678183,"node_id":"MDEwOlJlcG9zaXRvcnkyNTk2NzgxODM=","name":"fuji","full_name":"pangaea-data-publisher/fuji","private":false,"owner":{"login":"pangaea-data-publisher","id":47568830,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3NTY4ODMw","avatar_url":"https://avatars.githubusercontent.com/u/47568830?v=4","gravatar_id":"","url":"https://api.github.com/users/pangaea-data-publisher","html_url":"https://github.com/pangaea-data-publisher","followers_url":"https://api.github.com/users/pangaea-data-publisher/followers","following_url":"https://api.github.com/users/pangaea-data-publisher/following{/other_user}","gists_url":"https://api.github.com/users/pangaea-data-publisher/gists{/gist_id}","starred_url":"https://api.github.com/users/pangaea-data-publisher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pangaea-data-publisher/subscriptions","organizations_url":"https://api.github.com/users/pangaea-data-publisher/orgs","repos_url":"https://api.github.com/users/pangaea-data-publisher/repos","events_url":"https://api.github.com/users/pangaea-data-publisher/events{/privacy}","received_events_url":"https://api.github.com/users/pangaea-data-publisher/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/pangaea-data-publisher/fuji","description":"FAIRsFAIR Research Data Object Assessment Service","fork":false,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji","forks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/forks","keys_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/teams","hooks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/hooks","issue_events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/events{/number}","events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/events","assignees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/assignees{/user}","branches_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/branches{/branch}","tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/tags","blobs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/refs{/sha}","trees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/statuses/{sha}","languages_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/languages","stargazers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/stargazers","contributors_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contributors","subscribers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscribers","subscription_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscription","commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/commits{/sha}","git_commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/commits{/sha}","comments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/comments{/number}","issue_comment_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/comments{/number}","contents_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/{+path}","compare_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/merges","archive_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/downloads","issues_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues{/number}","pulls_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/pulls{/number}","milestones_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/milestones{/number}","notifications_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/labels{/name}","releases_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/releases{/id}","deployments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/deployments"},"score":1.0},{"name":"fair_evaluator_metadata_identifier_included.py","path":"fuji_server/evaluators/fair_evaluator_metadata_identifier_included.py","sha":"b062d8e07611f9fa69d244de4d561069fd220efb","url":"https://api.github.com/repositories/259678183/contents/fuji_server/evaluators/fair_evaluator_metadata_identifier_included.py?ref=708fe43a1ee5f4557368dcd66622ec869fe854f9","git_url":"https://api.github.com/repositories/259678183/git/blobs/b062d8e07611f9fa69d244de4d561069fd220efb","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/708fe43a1ee5f4557368dcd66622ec869fe854f9/fuji_server/evaluators/fair_evaluator_metadata_identifier_included.py","repository":{"id":259678183,"node_id":"MDEwOlJlcG9zaXRvcnkyNTk2NzgxODM=","name":"fuji","full_name":"pangaea-data-publisher/fuji","private":false,"owner":{"login":"pangaea-data-publisher","id":47568830,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3NTY4ODMw","avatar_url":"https://avatars.githubusercontent.com/u/47568830?v=4","gravatar_id":"","url":"https://api.github.com/users/pangaea-data-publisher","html_url":"https://github.com/pangaea-data-publisher","followers_url":"https://api.github.com/users/pangaea-data-publisher/followers","following_url":"https://api.github.com/users/pangaea-data-publisher/following{/other_user}","gists_url":"https://api.github.com/users/pangaea-data-publisher/gists{/gist_id}","starred_url":"https://api.github.com/users/pangaea-data-publisher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pangaea-data-publisher/subscriptions","organizations_url":"https://api.github.com/users/pangaea-data-publisher/orgs","repos_url":"https://api.github.com/users/pangaea-data-publisher/repos","events_url":"https://api.github.com/users/pangaea-data-publisher/events{/privacy}","received_events_url":"https://api.github.com/users/pangaea-data-publisher/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/pangaea-data-publisher/fuji","description":"FAIRsFAIR Research Data Object Assessment Service","fork":false,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji","forks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/forks","keys_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/teams","hooks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/hooks","issue_events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/events{/number}","events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/events","assignees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/assignees{/user}","branches_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/branches{/branch}","tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/tags","blobs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/refs{/sha}","trees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/statuses/{sha}","languages_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/languages","stargazers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/stargazers","contributors_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contributors","subscribers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscribers","subscription_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscription","commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/commits{/sha}","git_commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/commits{/sha}","comments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/comments{/number}","issue_comment_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/comments{/number}","contents_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/{+path}","compare_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/merges","archive_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/downloads","issues_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues{/number}","pulls_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/pulls{/number}","milestones_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/milestones{/number}","notifications_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/labels{/name}","releases_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/releases{/id}","deployments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/deployments"},"score":1.0},{"name":"fair_evaluator_minimal_metadata.py","path":"fuji_server/evaluators/fair_evaluator_minimal_metadata.py","sha":"c81d1b76bc44c9a04f3787ca71a7cb40ff1a697a","url":"https://api.github.com/repositories/259678183/contents/fuji_server/evaluators/fair_evaluator_minimal_metadata.py?ref=708fe43a1ee5f4557368dcd66622ec869fe854f9","git_url":"https://api.github.com/repositories/259678183/git/blobs/c81d1b76bc44c9a04f3787ca71a7cb40ff1a697a","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/708fe43a1ee5f4557368dcd66622ec869fe854f9/fuji_server/evaluators/fair_evaluator_minimal_metadata.py","repository":{"id":259678183,"node_id":"MDEwOlJlcG9zaXRvcnkyNTk2NzgxODM=","name":"fuji","full_name":"pangaea-data-publisher/fuji","private":false,"owner":{"login":"pangaea-data-publisher","id":47568830,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3NTY4ODMw","avatar_url":"https://avatars.githubusercontent.com/u/47568830?v=4","gravatar_id":"","url":"https://api.github.com/users/pangaea-data-publisher","html_url":"https://github.com/pangaea-data-publisher","followers_url":"https://api.github.com/users/pangaea-data-publisher/followers","following_url":"https://api.github.com/users/pangaea-data-publisher/following{/other_user}","gists_url":"https://api.github.com/users/pangaea-data-publisher/gists{/gist_id}","starred_url":"https://api.github.com/users/pangaea-data-publisher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pangaea-data-publisher/subscriptions","organizations_url":"https://api.github.com/users/pangaea-data-publisher/orgs","repos_url":"https://api.github.com/users/pangaea-data-publisher/repos","events_url":"https://api.github.com/users/pangaea-data-publisher/events{/privacy}","received_events_url":"https://api.github.com/users/pangaea-data-publisher/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/pangaea-data-publisher/fuji","description":"FAIRsFAIR Research Data Object Assessment Service","fork":false,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji","forks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/forks","keys_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/teams","hooks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/hooks","issue_events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/events{/number}","events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/events","assignees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/assignees{/user}","branches_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/branches{/branch}","tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/tags","blobs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/refs{/sha}","trees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/statuses/{sha}","languages_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/languages","stargazers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/stargazers","contributors_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contributors","subscribers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscribers","subscription_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscription","commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/commits{/sha}","git_commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/commits{/sha}","comments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/comments{/number}","issue_comment_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/comments{/number}","contents_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/{+path}","compare_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/merges","archive_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/downloads","issues_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues{/number}","pulls_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/pulls{/number}","milestones_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/milestones{/number}","notifications_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/labels{/name}","releases_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/releases{/id}","deployments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/deployments"},"score":1.0},{"name":"output_search_mechanisms.py","path":"fuji_server/models/output_search_mechanisms.py","sha":"e97c9350ffa17330bb35628810a7afed5d06eb6f","url":"https://api.github.com/repositories/259678183/contents/fuji_server/models/output_search_mechanisms.py?ref=708fe43a1ee5f4557368dcd66622ec869fe854f9","git_url":"https://api.github.com/repositories/259678183/git/blobs/e97c9350ffa17330bb35628810a7afed5d06eb6f","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/708fe43a1ee5f4557368dcd66622ec869fe854f9/fuji_server/models/output_search_mechanisms.py","repository":{"id":259678183,"node_id":"MDEwOlJlcG9zaXRvcnkyNTk2NzgxODM=","name":"fuji","full_name":"pangaea-data-publisher/fuji","private":false,"owner":{"login":"pangaea-data-publisher","id":47568830,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3NTY4ODMw","avatar_url":"https://avatars.githubusercontent.com/u/47568830?v=4","gravatar_id":"","url":"https://api.github.com/users/pangaea-data-publisher","html_url":"https://github.com/pangaea-data-publisher","followers_url":"https://api.github.com/users/pangaea-data-publisher/followers","following_url":"https://api.github.com/users/pangaea-data-publisher/following{/other_user}","gists_url":"https://api.github.com/users/pangaea-data-publisher/gists{/gist_id}","starred_url":"https://api.github.com/users/pangaea-data-publisher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pangaea-data-publisher/subscriptions","organizations_url":"https://api.github.com/users/pangaea-data-publisher/orgs","repos_url":"https://api.github.com/users/pangaea-data-publisher/repos","events_url":"https://api.github.com/users/pangaea-data-publisher/events{/privacy}","received_events_url":"https://api.github.com/users/pangaea-data-publisher/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/pangaea-data-publisher/fuji","description":"FAIRsFAIR Research Data Object Assessment Service","fork":false,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji","forks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/forks","keys_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/teams","hooks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/hooks","issue_events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/events{/number}","events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/events","assignees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/assignees{/user}","branches_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/branches{/branch}","tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/tags","blobs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/refs{/sha}","trees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/statuses/{sha}","languages_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/languages","stargazers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/stargazers","contributors_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contributors","subscribers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscribers","subscription_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscription","commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/commits{/sha}","git_commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/commits{/sha}","comments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/comments{/number}","issue_comment_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/comments{/number}","contents_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/{+path}","compare_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/merges","archive_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/downloads","issues_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues{/number}","pulls_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/pulls{/number}","milestones_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/milestones{/number}","notifications_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/labels{/name}","releases_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/releases{/id}","deployments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/deployments"},"score":1.0},{"name":"searchable.py","path":"fuji_server/models/searchable.py","sha":"7512ab21f18510c8451b2716525ad393d498259b","url":"https://api.github.com/repositories/259678183/contents/fuji_server/models/searchable.py?ref=708fe43a1ee5f4557368dcd66622ec869fe854f9","git_url":"https://api.github.com/repositories/259678183/git/blobs/7512ab21f18510c8451b2716525ad393d498259b","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/708fe43a1ee5f4557368dcd66622ec869fe854f9/fuji_server/models/searchable.py","repository":{"id":259678183,"node_id":"MDEwOlJlcG9zaXRvcnkyNTk2NzgxODM=","name":"fuji","full_name":"pangaea-data-publisher/fuji","private":false,"owner":{"login":"pangaea-data-publisher","id":47568830,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3NTY4ODMw","avatar_url":"https://avatars.githubusercontent.com/u/47568830?v=4","gravatar_id":"","url":"https://api.github.com/users/pangaea-data-publisher","html_url":"https://github.com/pangaea-data-publisher","followers_url":"https://api.github.com/users/pangaea-data-publisher/followers","following_url":"https://api.github.com/users/pangaea-data-publisher/following{/other_user}","gists_url":"https://api.github.com/users/pangaea-data-publisher/gists{/gist_id}","starred_url":"https://api.github.com/users/pangaea-data-publisher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pangaea-data-publisher/subscriptions","organizations_url":"https://api.github.com/users/pangaea-data-publisher/orgs","repos_url":"https://api.github.com/users/pangaea-data-publisher/repos","events_url":"https://api.github.com/users/pangaea-data-publisher/events{/privacy}","received_events_url":"https://api.github.com/users/pangaea-data-publisher/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/pangaea-data-publisher/fuji","description":"FAIRsFAIR Research Data Object Assessment Service","fork":false,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji","forks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/forks","keys_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/teams","hooks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/hooks","issue_events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/events{/number}","events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/events","assignees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/assignees{/user}","branches_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/branches{/branch}","tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/tags","blobs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/refs{/sha}","trees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/statuses/{sha}","languages_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/languages","stargazers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/stargazers","contributors_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contributors","subscribers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscribers","subscription_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscription","commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/commits{/sha}","git_commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/commits{/sha}","comments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/comments{/number}","issue_comment_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/comments{/number}","contents_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/{+path}","compare_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/merges","archive_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/downloads","issues_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues{/number}","pulls_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/pulls{/number}","milestones_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/milestones{/number}","notifications_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/labels{/name}","releases_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/releases{/id}","deployments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/deployments"},"score":1.0}]}' + string: '{"total_count":126,"incomplete_results":false,"items":[{"name":"app.py","path":"fuji_server/app.py","sha":"26a77ee3946819fff0bccaf22df1265ea32bc7dc","url":"https://api.github.com/repositories/259678183/contents/fuji_server/app.py?ref=9f419b8b1d239da31e09b105f593581cc78e2f15","git_url":"https://api.github.com/repositories/259678183/git/blobs/26a77ee3946819fff0bccaf22df1265ea32bc7dc","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/9f419b8b1d239da31e09b105f593581cc78e2f15/fuji_server/app.py","repository":{"id":259678183,"node_id":"MDEwOlJlcG9zaXRvcnkyNTk2NzgxODM=","name":"fuji","full_name":"pangaea-data-publisher/fuji","private":false,"owner":{"login":"pangaea-data-publisher","id":47568830,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3NTY4ODMw","avatar_url":"https://avatars.githubusercontent.com/u/47568830?v=4","gravatar_id":"","url":"https://api.github.com/users/pangaea-data-publisher","html_url":"https://github.com/pangaea-data-publisher","followers_url":"https://api.github.com/users/pangaea-data-publisher/followers","following_url":"https://api.github.com/users/pangaea-data-publisher/following{/other_user}","gists_url":"https://api.github.com/users/pangaea-data-publisher/gists{/gist_id}","starred_url":"https://api.github.com/users/pangaea-data-publisher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pangaea-data-publisher/subscriptions","organizations_url":"https://api.github.com/users/pangaea-data-publisher/orgs","repos_url":"https://api.github.com/users/pangaea-data-publisher/repos","events_url":"https://api.github.com/users/pangaea-data-publisher/events{/privacy}","received_events_url":"https://api.github.com/users/pangaea-data-publisher/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/pangaea-data-publisher/fuji","description":"FAIRsFAIR Research Data Object Assessment Service","fork":false,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji","forks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/forks","keys_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/teams","hooks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/hooks","issue_events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/events{/number}","events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/events","assignees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/assignees{/user}","branches_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/branches{/branch}","tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/tags","blobs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/refs{/sha}","trees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/statuses/{sha}","languages_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/languages","stargazers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/stargazers","contributors_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contributors","subscribers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscribers","subscription_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscription","commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/commits{/sha}","git_commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/commits{/sha}","comments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/comments{/number}","issue_comment_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/comments{/number}","contents_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/{+path}","compare_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/merges","archive_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/downloads","issues_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues{/number}","pulls_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/pulls{/number}","milestones_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/milestones{/number}","notifications_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/labels{/name}","releases_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/releases{/id}","deployments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/deployments"},"score":1.0},{"name":"conf.py","path":"docs/source/conf.py","sha":"95e0e43e9ff99c7f1ddc5dc7f4445bbe994ee2b2","url":"https://api.github.com/repositories/259678183/contents/docs/source/conf.py?ref=9f419b8b1d239da31e09b105f593581cc78e2f15","git_url":"https://api.github.com/repositories/259678183/git/blobs/95e0e43e9ff99c7f1ddc5dc7f4445bbe994ee2b2","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/9f419b8b1d239da31e09b105f593581cc78e2f15/docs/source/conf.py","repository":{"id":259678183,"node_id":"MDEwOlJlcG9zaXRvcnkyNTk2NzgxODM=","name":"fuji","full_name":"pangaea-data-publisher/fuji","private":false,"owner":{"login":"pangaea-data-publisher","id":47568830,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3NTY4ODMw","avatar_url":"https://avatars.githubusercontent.com/u/47568830?v=4","gravatar_id":"","url":"https://api.github.com/users/pangaea-data-publisher","html_url":"https://github.com/pangaea-data-publisher","followers_url":"https://api.github.com/users/pangaea-data-publisher/followers","following_url":"https://api.github.com/users/pangaea-data-publisher/following{/other_user}","gists_url":"https://api.github.com/users/pangaea-data-publisher/gists{/gist_id}","starred_url":"https://api.github.com/users/pangaea-data-publisher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pangaea-data-publisher/subscriptions","organizations_url":"https://api.github.com/users/pangaea-data-publisher/orgs","repos_url":"https://api.github.com/users/pangaea-data-publisher/repos","events_url":"https://api.github.com/users/pangaea-data-publisher/events{/privacy}","received_events_url":"https://api.github.com/users/pangaea-data-publisher/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/pangaea-data-publisher/fuji","description":"FAIRsFAIR Research Data Object Assessment Service","fork":false,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji","forks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/forks","keys_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/teams","hooks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/hooks","issue_events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/events{/number}","events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/events","assignees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/assignees{/user}","branches_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/branches{/branch}","tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/tags","blobs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/refs{/sha}","trees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/statuses/{sha}","languages_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/languages","stargazers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/stargazers","contributors_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contributors","subscribers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscribers","subscription_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscription","commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/commits{/sha}","git_commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/commits{/sha}","comments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/comments{/number}","issue_comment_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/comments{/number}","contents_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/{+path}","compare_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/merges","archive_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/downloads","issues_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues{/number}","pulls_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/pulls{/number}","milestones_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/milestones{/number}","notifications_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/labels{/name}","releases_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/releases{/id}","deployments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/deployments"},"score":1.0},{"name":"encoder.py","path":"fuji_server/encoder.py","sha":"0536ef3fbc331bfc0a83b769dacb0df405d48e9a","url":"https://api.github.com/repositories/259678183/contents/fuji_server/encoder.py?ref=9f419b8b1d239da31e09b105f593581cc78e2f15","git_url":"https://api.github.com/repositories/259678183/git/blobs/0536ef3fbc331bfc0a83b769dacb0df405d48e9a","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/9f419b8b1d239da31e09b105f593581cc78e2f15/fuji_server/encoder.py","repository":{"id":259678183,"node_id":"MDEwOlJlcG9zaXRvcnkyNTk2NzgxODM=","name":"fuji","full_name":"pangaea-data-publisher/fuji","private":false,"owner":{"login":"pangaea-data-publisher","id":47568830,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3NTY4ODMw","avatar_url":"https://avatars.githubusercontent.com/u/47568830?v=4","gravatar_id":"","url":"https://api.github.com/users/pangaea-data-publisher","html_url":"https://github.com/pangaea-data-publisher","followers_url":"https://api.github.com/users/pangaea-data-publisher/followers","following_url":"https://api.github.com/users/pangaea-data-publisher/following{/other_user}","gists_url":"https://api.github.com/users/pangaea-data-publisher/gists{/gist_id}","starred_url":"https://api.github.com/users/pangaea-data-publisher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pangaea-data-publisher/subscriptions","organizations_url":"https://api.github.com/users/pangaea-data-publisher/orgs","repos_url":"https://api.github.com/users/pangaea-data-publisher/repos","events_url":"https://api.github.com/users/pangaea-data-publisher/events{/privacy}","received_events_url":"https://api.github.com/users/pangaea-data-publisher/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/pangaea-data-publisher/fuji","description":"FAIRsFAIR Research Data Object Assessment Service","fork":false,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji","forks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/forks","keys_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/teams","hooks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/hooks","issue_events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/events{/number}","events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/events","assignees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/assignees{/user}","branches_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/branches{/branch}","tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/tags","blobs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/refs{/sha}","trees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/statuses/{sha}","languages_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/languages","stargazers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/stargazers","contributors_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contributors","subscribers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscribers","subscription_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscription","commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/commits{/sha}","git_commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/commits{/sha}","comments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/comments{/number}","issue_comment_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/comments{/number}","contents_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/{+path}","compare_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/merges","archive_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/downloads","issues_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues{/number}","pulls_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/pulls{/number}","milestones_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/milestones{/number}","notifications_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/labels{/name}","releases_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/releases{/id}","deployments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/deployments"},"score":1.0},{"name":"__main__.py","path":"fuji_server/__main__.py","sha":"b6393d59b041fd80dd5679447a14e4de3185a0a1","url":"https://api.github.com/repositories/259678183/contents/fuji_server/__main__.py?ref=9f419b8b1d239da31e09b105f593581cc78e2f15","git_url":"https://api.github.com/repositories/259678183/git/blobs/b6393d59b041fd80dd5679447a14e4de3185a0a1","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/9f419b8b1d239da31e09b105f593581cc78e2f15/fuji_server/__main__.py","repository":{"id":259678183,"node_id":"MDEwOlJlcG9zaXRvcnkyNTk2NzgxODM=","name":"fuji","full_name":"pangaea-data-publisher/fuji","private":false,"owner":{"login":"pangaea-data-publisher","id":47568830,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3NTY4ODMw","avatar_url":"https://avatars.githubusercontent.com/u/47568830?v=4","gravatar_id":"","url":"https://api.github.com/users/pangaea-data-publisher","html_url":"https://github.com/pangaea-data-publisher","followers_url":"https://api.github.com/users/pangaea-data-publisher/followers","following_url":"https://api.github.com/users/pangaea-data-publisher/following{/other_user}","gists_url":"https://api.github.com/users/pangaea-data-publisher/gists{/gist_id}","starred_url":"https://api.github.com/users/pangaea-data-publisher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pangaea-data-publisher/subscriptions","organizations_url":"https://api.github.com/users/pangaea-data-publisher/orgs","repos_url":"https://api.github.com/users/pangaea-data-publisher/repos","events_url":"https://api.github.com/users/pangaea-data-publisher/events{/privacy}","received_events_url":"https://api.github.com/users/pangaea-data-publisher/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/pangaea-data-publisher/fuji","description":"FAIRsFAIR Research Data Object Assessment Service","fork":false,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji","forks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/forks","keys_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/teams","hooks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/hooks","issue_events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/events{/number}","events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/events","assignees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/assignees{/user}","branches_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/branches{/branch}","tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/tags","blobs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/refs{/sha}","trees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/statuses/{sha}","languages_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/languages","stargazers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/stargazers","contributors_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contributors","subscribers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscribers","subscription_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscription","commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/commits{/sha}","git_commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/commits{/sha}","comments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/comments{/number}","issue_comment_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/comments{/number}","contents_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/{+path}","compare_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/merges","archive_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/downloads","issues_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues{/number}","pulls_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/pulls{/number}","milestones_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/milestones{/number}","notifications_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/labels{/name}","releases_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/releases{/id}","deployments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/deployments"},"score":1.0},{"name":"__init__.py","path":"fuji_server/__init__.py","sha":"a69f396f755bf5775f5c37815cd46e69d04bf360","url":"https://api.github.com/repositories/259678183/contents/fuji_server/__init__.py?ref=9f419b8b1d239da31e09b105f593581cc78e2f15","git_url":"https://api.github.com/repositories/259678183/git/blobs/a69f396f755bf5775f5c37815cd46e69d04bf360","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/9f419b8b1d239da31e09b105f593581cc78e2f15/fuji_server/__init__.py","repository":{"id":259678183,"node_id":"MDEwOlJlcG9zaXRvcnkyNTk2NzgxODM=","name":"fuji","full_name":"pangaea-data-publisher/fuji","private":false,"owner":{"login":"pangaea-data-publisher","id":47568830,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3NTY4ODMw","avatar_url":"https://avatars.githubusercontent.com/u/47568830?v=4","gravatar_id":"","url":"https://api.github.com/users/pangaea-data-publisher","html_url":"https://github.com/pangaea-data-publisher","followers_url":"https://api.github.com/users/pangaea-data-publisher/followers","following_url":"https://api.github.com/users/pangaea-data-publisher/following{/other_user}","gists_url":"https://api.github.com/users/pangaea-data-publisher/gists{/gist_id}","starred_url":"https://api.github.com/users/pangaea-data-publisher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pangaea-data-publisher/subscriptions","organizations_url":"https://api.github.com/users/pangaea-data-publisher/orgs","repos_url":"https://api.github.com/users/pangaea-data-publisher/repos","events_url":"https://api.github.com/users/pangaea-data-publisher/events{/privacy}","received_events_url":"https://api.github.com/users/pangaea-data-publisher/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/pangaea-data-publisher/fuji","description":"FAIRsFAIR Research Data Object Assessment Service","fork":false,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji","forks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/forks","keys_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/teams","hooks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/hooks","issue_events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/events{/number}","events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/events","assignees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/assignees{/user}","branches_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/branches{/branch}","tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/tags","blobs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/refs{/sha}","trees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/statuses/{sha}","languages_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/languages","stargazers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/stargazers","contributors_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contributors","subscribers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscribers","subscription_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscription","commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/commits{/sha}","git_commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/commits{/sha}","comments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/comments{/number}","issue_comment_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/comments{/number}","contents_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/{+path}","compare_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/merges","archive_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/downloads","issues_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues{/number}","pulls_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/pulls{/number}","milestones_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/milestones{/number}","notifications_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/labels{/name}","releases_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/releases{/id}","deployments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/deployments"},"score":1.0},{"name":"body.py","path":"fuji_server/models/body.py","sha":"96582174c750b7648d0e8170d486a4c9d75d39aa","url":"https://api.github.com/repositories/259678183/contents/fuji_server/models/body.py?ref=9f419b8b1d239da31e09b105f593581cc78e2f15","git_url":"https://api.github.com/repositories/259678183/git/blobs/96582174c750b7648d0e8170d486a4c9d75d39aa","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/9f419b8b1d239da31e09b105f593581cc78e2f15/fuji_server/models/body.py","repository":{"id":259678183,"node_id":"MDEwOlJlcG9zaXRvcnkyNTk2NzgxODM=","name":"fuji","full_name":"pangaea-data-publisher/fuji","private":false,"owner":{"login":"pangaea-data-publisher","id":47568830,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3NTY4ODMw","avatar_url":"https://avatars.githubusercontent.com/u/47568830?v=4","gravatar_id":"","url":"https://api.github.com/users/pangaea-data-publisher","html_url":"https://github.com/pangaea-data-publisher","followers_url":"https://api.github.com/users/pangaea-data-publisher/followers","following_url":"https://api.github.com/users/pangaea-data-publisher/following{/other_user}","gists_url":"https://api.github.com/users/pangaea-data-publisher/gists{/gist_id}","starred_url":"https://api.github.com/users/pangaea-data-publisher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pangaea-data-publisher/subscriptions","organizations_url":"https://api.github.com/users/pangaea-data-publisher/orgs","repos_url":"https://api.github.com/users/pangaea-data-publisher/repos","events_url":"https://api.github.com/users/pangaea-data-publisher/events{/privacy}","received_events_url":"https://api.github.com/users/pangaea-data-publisher/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/pangaea-data-publisher/fuji","description":"FAIRsFAIR Research Data Object Assessment Service","fork":false,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji","forks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/forks","keys_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/teams","hooks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/hooks","issue_events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/events{/number}","events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/events","assignees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/assignees{/user}","branches_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/branches{/branch}","tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/tags","blobs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/refs{/sha}","trees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/statuses/{sha}","languages_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/languages","stargazers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/stargazers","contributors_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contributors","subscribers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscribers","subscription_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscription","commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/commits{/sha}","git_commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/commits{/sha}","comments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/comments{/number}","issue_comment_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/comments{/number}","contents_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/{+path}","compare_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/merges","archive_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/downloads","issues_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues{/number}","pulls_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/pulls{/number}","milestones_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/milestones{/number}","notifications_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/labels{/name}","releases_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/releases{/id}","deployments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/deployments"},"score":1.0},{"name":"debug.py","path":"fuji_server/models/debug.py","sha":"8e9007c7483dd1bf97b8aa0d40336393a4ec13ea","url":"https://api.github.com/repositories/259678183/contents/fuji_server/models/debug.py?ref=9f419b8b1d239da31e09b105f593581cc78e2f15","git_url":"https://api.github.com/repositories/259678183/git/blobs/8e9007c7483dd1bf97b8aa0d40336393a4ec13ea","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/9f419b8b1d239da31e09b105f593581cc78e2f15/fuji_server/models/debug.py","repository":{"id":259678183,"node_id":"MDEwOlJlcG9zaXRvcnkyNTk2NzgxODM=","name":"fuji","full_name":"pangaea-data-publisher/fuji","private":false,"owner":{"login":"pangaea-data-publisher","id":47568830,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3NTY4ODMw","avatar_url":"https://avatars.githubusercontent.com/u/47568830?v=4","gravatar_id":"","url":"https://api.github.com/users/pangaea-data-publisher","html_url":"https://github.com/pangaea-data-publisher","followers_url":"https://api.github.com/users/pangaea-data-publisher/followers","following_url":"https://api.github.com/users/pangaea-data-publisher/following{/other_user}","gists_url":"https://api.github.com/users/pangaea-data-publisher/gists{/gist_id}","starred_url":"https://api.github.com/users/pangaea-data-publisher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pangaea-data-publisher/subscriptions","organizations_url":"https://api.github.com/users/pangaea-data-publisher/orgs","repos_url":"https://api.github.com/users/pangaea-data-publisher/repos","events_url":"https://api.github.com/users/pangaea-data-publisher/events{/privacy}","received_events_url":"https://api.github.com/users/pangaea-data-publisher/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/pangaea-data-publisher/fuji","description":"FAIRsFAIR Research Data Object Assessment Service","fork":false,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji","forks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/forks","keys_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/teams","hooks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/hooks","issue_events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/events{/number}","events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/events","assignees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/assignees{/user}","branches_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/branches{/branch}","tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/tags","blobs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/refs{/sha}","trees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/statuses/{sha}","languages_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/languages","stargazers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/stargazers","contributors_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contributors","subscribers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscribers","subscription_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscription","commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/commits{/sha}","git_commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/commits{/sha}","comments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/comments{/number}","issue_comment_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/comments{/number}","contents_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/{+path}","compare_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/merges","archive_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/downloads","issues_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues{/number}","pulls_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/pulls{/number}","milestones_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/milestones{/number}","notifications_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/labels{/name}","releases_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/releases{/id}","deployments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/deployments"},"score":1.0},{"name":"formal_metadata.py","path":"fuji_server/models/formal_metadata.py","sha":"f4cb128f27da7fdd6107bf3ce6b7ac0dbfafde98","url":"https://api.github.com/repositories/259678183/contents/fuji_server/models/formal_metadata.py?ref=9f419b8b1d239da31e09b105f593581cc78e2f15","git_url":"https://api.github.com/repositories/259678183/git/blobs/f4cb128f27da7fdd6107bf3ce6b7ac0dbfafde98","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/9f419b8b1d239da31e09b105f593581cc78e2f15/fuji_server/models/formal_metadata.py","repository":{"id":259678183,"node_id":"MDEwOlJlcG9zaXRvcnkyNTk2NzgxODM=","name":"fuji","full_name":"pangaea-data-publisher/fuji","private":false,"owner":{"login":"pangaea-data-publisher","id":47568830,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3NTY4ODMw","avatar_url":"https://avatars.githubusercontent.com/u/47568830?v=4","gravatar_id":"","url":"https://api.github.com/users/pangaea-data-publisher","html_url":"https://github.com/pangaea-data-publisher","followers_url":"https://api.github.com/users/pangaea-data-publisher/followers","following_url":"https://api.github.com/users/pangaea-data-publisher/following{/other_user}","gists_url":"https://api.github.com/users/pangaea-data-publisher/gists{/gist_id}","starred_url":"https://api.github.com/users/pangaea-data-publisher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pangaea-data-publisher/subscriptions","organizations_url":"https://api.github.com/users/pangaea-data-publisher/orgs","repos_url":"https://api.github.com/users/pangaea-data-publisher/repos","events_url":"https://api.github.com/users/pangaea-data-publisher/events{/privacy}","received_events_url":"https://api.github.com/users/pangaea-data-publisher/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/pangaea-data-publisher/fuji","description":"FAIRsFAIR Research Data Object Assessment Service","fork":false,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji","forks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/forks","keys_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/teams","hooks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/hooks","issue_events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/events{/number}","events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/events","assignees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/assignees{/user}","branches_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/branches{/branch}","tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/tags","blobs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/refs{/sha}","trees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/statuses/{sha}","languages_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/languages","stargazers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/stargazers","contributors_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contributors","subscribers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscribers","subscription_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscription","commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/commits{/sha}","git_commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/commits{/sha}","comments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/comments{/number}","issue_comment_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/comments{/number}","contents_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/{+path}","compare_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/merges","archive_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/downloads","issues_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues{/number}","pulls_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/pulls{/number}","milestones_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/milestones{/number}","notifications_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/labels{/name}","releases_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/releases{/id}","deployments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/deployments"},"score":1.0},{"name":"metadata_provider_sparql.py","path":"fuji_server/helper/metadata_provider_sparql.py","sha":"dc2dde370223a2902b2c4d5bd866efde745df4d8","url":"https://api.github.com/repositories/259678183/contents/fuji_server/helper/metadata_provider_sparql.py?ref=9f419b8b1d239da31e09b105f593581cc78e2f15","git_url":"https://api.github.com/repositories/259678183/git/blobs/dc2dde370223a2902b2c4d5bd866efde745df4d8","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/9f419b8b1d239da31e09b105f593581cc78e2f15/fuji_server/helper/metadata_provider_sparql.py","repository":{"id":259678183,"node_id":"MDEwOlJlcG9zaXRvcnkyNTk2NzgxODM=","name":"fuji","full_name":"pangaea-data-publisher/fuji","private":false,"owner":{"login":"pangaea-data-publisher","id":47568830,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3NTY4ODMw","avatar_url":"https://avatars.githubusercontent.com/u/47568830?v=4","gravatar_id":"","url":"https://api.github.com/users/pangaea-data-publisher","html_url":"https://github.com/pangaea-data-publisher","followers_url":"https://api.github.com/users/pangaea-data-publisher/followers","following_url":"https://api.github.com/users/pangaea-data-publisher/following{/other_user}","gists_url":"https://api.github.com/users/pangaea-data-publisher/gists{/gist_id}","starred_url":"https://api.github.com/users/pangaea-data-publisher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pangaea-data-publisher/subscriptions","organizations_url":"https://api.github.com/users/pangaea-data-publisher/orgs","repos_url":"https://api.github.com/users/pangaea-data-publisher/repos","events_url":"https://api.github.com/users/pangaea-data-publisher/events{/privacy}","received_events_url":"https://api.github.com/users/pangaea-data-publisher/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/pangaea-data-publisher/fuji","description":"FAIRsFAIR Research Data Object Assessment Service","fork":false,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji","forks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/forks","keys_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/teams","hooks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/hooks","issue_events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/events{/number}","events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/events","assignees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/assignees{/user}","branches_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/branches{/branch}","tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/tags","blobs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/refs{/sha}","trees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/statuses/{sha}","languages_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/languages","stargazers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/stargazers","contributors_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contributors","subscribers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscribers","subscription_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscription","commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/commits{/sha}","git_commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/commits{/sha}","comments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/comments{/number}","issue_comment_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/comments{/number}","contents_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/{+path}","compare_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/merges","archive_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/downloads","issues_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues{/number}","pulls_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/pulls{/number}","milestones_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/milestones{/number}","notifications_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/labels{/name}","releases_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/releases{/id}","deployments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/deployments"},"score":1.0},{"name":"metrics.py","path":"fuji_server/models/metrics.py","sha":"d0628c05d565b3b860bd09393295f15d3f569f7f","url":"https://api.github.com/repositories/259678183/contents/fuji_server/models/metrics.py?ref=9f419b8b1d239da31e09b105f593581cc78e2f15","git_url":"https://api.github.com/repositories/259678183/git/blobs/d0628c05d565b3b860bd09393295f15d3f569f7f","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/9f419b8b1d239da31e09b105f593581cc78e2f15/fuji_server/models/metrics.py","repository":{"id":259678183,"node_id":"MDEwOlJlcG9zaXRvcnkyNTk2NzgxODM=","name":"fuji","full_name":"pangaea-data-publisher/fuji","private":false,"owner":{"login":"pangaea-data-publisher","id":47568830,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3NTY4ODMw","avatar_url":"https://avatars.githubusercontent.com/u/47568830?v=4","gravatar_id":"","url":"https://api.github.com/users/pangaea-data-publisher","html_url":"https://github.com/pangaea-data-publisher","followers_url":"https://api.github.com/users/pangaea-data-publisher/followers","following_url":"https://api.github.com/users/pangaea-data-publisher/following{/other_user}","gists_url":"https://api.github.com/users/pangaea-data-publisher/gists{/gist_id}","starred_url":"https://api.github.com/users/pangaea-data-publisher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pangaea-data-publisher/subscriptions","organizations_url":"https://api.github.com/users/pangaea-data-publisher/orgs","repos_url":"https://api.github.com/users/pangaea-data-publisher/repos","events_url":"https://api.github.com/users/pangaea-data-publisher/events{/privacy}","received_events_url":"https://api.github.com/users/pangaea-data-publisher/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/pangaea-data-publisher/fuji","description":"FAIRsFAIR Research Data Object Assessment Service","fork":false,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji","forks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/forks","keys_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/teams","hooks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/hooks","issue_events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/events{/number}","events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/events","assignees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/assignees{/user}","branches_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/branches{/branch}","tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/tags","blobs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/refs{/sha}","trees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/statuses/{sha}","languages_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/languages","stargazers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/stargazers","contributors_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contributors","subscribers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscribers","subscription_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscription","commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/commits{/sha}","git_commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/commits{/sha}","comments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/comments{/number}","issue_comment_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/comments{/number}","contents_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/{+path}","compare_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/merges","archive_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/downloads","issues_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues{/number}","pulls_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/pulls{/number}","milestones_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/milestones{/number}","notifications_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/labels{/name}","releases_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/releases{/id}","deployments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/deployments"},"score":1.0},{"name":"standardised_protocol_data_output.py","path":"fuji_server/models/standardised_protocol_data_output.py","sha":"cc8f69e38d6eba8a9cd76bf17095584219e5bb4b","url":"https://api.github.com/repositories/259678183/contents/fuji_server/models/standardised_protocol_data_output.py?ref=9f419b8b1d239da31e09b105f593581cc78e2f15","git_url":"https://api.github.com/repositories/259678183/git/blobs/cc8f69e38d6eba8a9cd76bf17095584219e5bb4b","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/9f419b8b1d239da31e09b105f593581cc78e2f15/fuji_server/models/standardised_protocol_data_output.py","repository":{"id":259678183,"node_id":"MDEwOlJlcG9zaXRvcnkyNTk2NzgxODM=","name":"fuji","full_name":"pangaea-data-publisher/fuji","private":false,"owner":{"login":"pangaea-data-publisher","id":47568830,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3NTY4ODMw","avatar_url":"https://avatars.githubusercontent.com/u/47568830?v=4","gravatar_id":"","url":"https://api.github.com/users/pangaea-data-publisher","html_url":"https://github.com/pangaea-data-publisher","followers_url":"https://api.github.com/users/pangaea-data-publisher/followers","following_url":"https://api.github.com/users/pangaea-data-publisher/following{/other_user}","gists_url":"https://api.github.com/users/pangaea-data-publisher/gists{/gist_id}","starred_url":"https://api.github.com/users/pangaea-data-publisher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pangaea-data-publisher/subscriptions","organizations_url":"https://api.github.com/users/pangaea-data-publisher/orgs","repos_url":"https://api.github.com/users/pangaea-data-publisher/repos","events_url":"https://api.github.com/users/pangaea-data-publisher/events{/privacy}","received_events_url":"https://api.github.com/users/pangaea-data-publisher/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/pangaea-data-publisher/fuji","description":"FAIRsFAIR Research Data Object Assessment Service","fork":false,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji","forks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/forks","keys_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/teams","hooks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/hooks","issue_events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/events{/number}","events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/events","assignees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/assignees{/user}","branches_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/branches{/branch}","tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/tags","blobs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/refs{/sha}","trees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/statuses/{sha}","languages_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/languages","stargazers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/stargazers","contributors_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contributors","subscribers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscribers","subscription_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscription","commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/commits{/sha}","git_commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/commits{/sha}","comments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/comments{/number}","issue_comment_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/comments{/number}","contents_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/{+path}","compare_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/merges","archive_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/downloads","issues_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues{/number}","pulls_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/pulls{/number}","milestones_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/milestones{/number}","notifications_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/labels{/name}","releases_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/releases{/id}","deployments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/deployments"},"score":1.0},{"name":"data_provenance.py","path":"fuji_server/models/data_provenance.py","sha":"25040c54452f8e09198ad5df5002dfb9ab373919","url":"https://api.github.com/repositories/259678183/contents/fuji_server/models/data_provenance.py?ref=9f419b8b1d239da31e09b105f593581cc78e2f15","git_url":"https://api.github.com/repositories/259678183/git/blobs/25040c54452f8e09198ad5df5002dfb9ab373919","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/9f419b8b1d239da31e09b105f593581cc78e2f15/fuji_server/models/data_provenance.py","repository":{"id":259678183,"node_id":"MDEwOlJlcG9zaXRvcnkyNTk2NzgxODM=","name":"fuji","full_name":"pangaea-data-publisher/fuji","private":false,"owner":{"login":"pangaea-data-publisher","id":47568830,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3NTY4ODMw","avatar_url":"https://avatars.githubusercontent.com/u/47568830?v=4","gravatar_id":"","url":"https://api.github.com/users/pangaea-data-publisher","html_url":"https://github.com/pangaea-data-publisher","followers_url":"https://api.github.com/users/pangaea-data-publisher/followers","following_url":"https://api.github.com/users/pangaea-data-publisher/following{/other_user}","gists_url":"https://api.github.com/users/pangaea-data-publisher/gists{/gist_id}","starred_url":"https://api.github.com/users/pangaea-data-publisher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pangaea-data-publisher/subscriptions","organizations_url":"https://api.github.com/users/pangaea-data-publisher/orgs","repos_url":"https://api.github.com/users/pangaea-data-publisher/repos","events_url":"https://api.github.com/users/pangaea-data-publisher/events{/privacy}","received_events_url":"https://api.github.com/users/pangaea-data-publisher/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/pangaea-data-publisher/fuji","description":"FAIRsFAIR Research Data Object Assessment Service","fork":false,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji","forks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/forks","keys_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/teams","hooks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/hooks","issue_events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/events{/number}","events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/events","assignees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/assignees{/user}","branches_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/branches{/branch}","tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/tags","blobs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/refs{/sha}","trees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/statuses/{sha}","languages_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/languages","stargazers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/stargazers","contributors_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contributors","subscribers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscribers","subscription_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscription","commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/commits{/sha}","git_commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/commits{/sha}","comments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/comments{/number}","issue_comment_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/comments{/number}","contents_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/{+path}","compare_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/merges","archive_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/downloads","issues_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues{/number}","pulls_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/pulls{/number}","milestones_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/milestones{/number}","notifications_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/labels{/name}","releases_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/releases{/id}","deployments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/deployments"},"score":1.0},{"name":"metadata_preserved.py","path":"fuji_server/models/metadata_preserved.py","sha":"f47ef95c00ab2b0a17ec94376e5cab1b339edbb6","url":"https://api.github.com/repositories/259678183/contents/fuji_server/models/metadata_preserved.py?ref=9f419b8b1d239da31e09b105f593581cc78e2f15","git_url":"https://api.github.com/repositories/259678183/git/blobs/f47ef95c00ab2b0a17ec94376e5cab1b339edbb6","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/9f419b8b1d239da31e09b105f593581cc78e2f15/fuji_server/models/metadata_preserved.py","repository":{"id":259678183,"node_id":"MDEwOlJlcG9zaXRvcnkyNTk2NzgxODM=","name":"fuji","full_name":"pangaea-data-publisher/fuji","private":false,"owner":{"login":"pangaea-data-publisher","id":47568830,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3NTY4ODMw","avatar_url":"https://avatars.githubusercontent.com/u/47568830?v=4","gravatar_id":"","url":"https://api.github.com/users/pangaea-data-publisher","html_url":"https://github.com/pangaea-data-publisher","followers_url":"https://api.github.com/users/pangaea-data-publisher/followers","following_url":"https://api.github.com/users/pangaea-data-publisher/following{/other_user}","gists_url":"https://api.github.com/users/pangaea-data-publisher/gists{/gist_id}","starred_url":"https://api.github.com/users/pangaea-data-publisher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pangaea-data-publisher/subscriptions","organizations_url":"https://api.github.com/users/pangaea-data-publisher/orgs","repos_url":"https://api.github.com/users/pangaea-data-publisher/repos","events_url":"https://api.github.com/users/pangaea-data-publisher/events{/privacy}","received_events_url":"https://api.github.com/users/pangaea-data-publisher/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/pangaea-data-publisher/fuji","description":"FAIRsFAIR Research Data Object Assessment Service","fork":false,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji","forks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/forks","keys_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/teams","hooks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/hooks","issue_events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/events{/number}","events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/events","assignees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/assignees{/user}","branches_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/branches{/branch}","tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/tags","blobs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/refs{/sha}","trees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/statuses/{sha}","languages_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/languages","stargazers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/stargazers","contributors_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contributors","subscribers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscribers","subscription_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscription","commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/commits{/sha}","git_commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/commits{/sha}","comments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/comments{/number}","issue_comment_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/comments{/number}","contents_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/{+path}","compare_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/merges","archive_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/downloads","issues_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues{/number}","pulls_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/pulls{/number}","milestones_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/milestones{/number}","notifications_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/labels{/name}","releases_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/releases{/id}","deployments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/deployments"},"score":1.0},{"name":"searchable_output.py","path":"fuji_server/models/searchable_output.py","sha":"c7162cc882b4417e3eea2b658a25e2e49add2657","url":"https://api.github.com/repositories/259678183/contents/fuji_server/models/searchable_output.py?ref=9f419b8b1d239da31e09b105f593581cc78e2f15","git_url":"https://api.github.com/repositories/259678183/git/blobs/c7162cc882b4417e3eea2b658a25e2e49add2657","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/9f419b8b1d239da31e09b105f593581cc78e2f15/fuji_server/models/searchable_output.py","repository":{"id":259678183,"node_id":"MDEwOlJlcG9zaXRvcnkyNTk2NzgxODM=","name":"fuji","full_name":"pangaea-data-publisher/fuji","private":false,"owner":{"login":"pangaea-data-publisher","id":47568830,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3NTY4ODMw","avatar_url":"https://avatars.githubusercontent.com/u/47568830?v=4","gravatar_id":"","url":"https://api.github.com/users/pangaea-data-publisher","html_url":"https://github.com/pangaea-data-publisher","followers_url":"https://api.github.com/users/pangaea-data-publisher/followers","following_url":"https://api.github.com/users/pangaea-data-publisher/following{/other_user}","gists_url":"https://api.github.com/users/pangaea-data-publisher/gists{/gist_id}","starred_url":"https://api.github.com/users/pangaea-data-publisher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pangaea-data-publisher/subscriptions","organizations_url":"https://api.github.com/users/pangaea-data-publisher/orgs","repos_url":"https://api.github.com/users/pangaea-data-publisher/repos","events_url":"https://api.github.com/users/pangaea-data-publisher/events{/privacy}","received_events_url":"https://api.github.com/users/pangaea-data-publisher/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/pangaea-data-publisher/fuji","description":"FAIRsFAIR Research Data Object Assessment Service","fork":false,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji","forks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/forks","keys_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/teams","hooks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/hooks","issue_events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/events{/number}","events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/events","assignees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/assignees{/user}","branches_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/branches{/branch}","tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/tags","blobs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/refs{/sha}","trees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/statuses/{sha}","languages_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/languages","stargazers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/stargazers","contributors_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contributors","subscribers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscribers","subscription_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscription","commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/commits{/sha}","git_commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/commits{/sha}","comments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/comments{/number}","issue_comment_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/comments{/number}","contents_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/{+path}","compare_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/merges","archive_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/downloads","issues_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues{/number}","pulls_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/pulls{/number}","milestones_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/milestones{/number}","notifications_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/labels{/name}","releases_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/releases{/id}","deployments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/deployments"},"score":1.0},{"name":"core_metadata_output.py","path":"fuji_server/models/core_metadata_output.py","sha":"41ca50478ef774b4c7c7d259782f0f1509435328","url":"https://api.github.com/repositories/259678183/contents/fuji_server/models/core_metadata_output.py?ref=9f419b8b1d239da31e09b105f593581cc78e2f15","git_url":"https://api.github.com/repositories/259678183/git/blobs/41ca50478ef774b4c7c7d259782f0f1509435328","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/9f419b8b1d239da31e09b105f593581cc78e2f15/fuji_server/models/core_metadata_output.py","repository":{"id":259678183,"node_id":"MDEwOlJlcG9zaXRvcnkyNTk2NzgxODM=","name":"fuji","full_name":"pangaea-data-publisher/fuji","private":false,"owner":{"login":"pangaea-data-publisher","id":47568830,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3NTY4ODMw","avatar_url":"https://avatars.githubusercontent.com/u/47568830?v=4","gravatar_id":"","url":"https://api.github.com/users/pangaea-data-publisher","html_url":"https://github.com/pangaea-data-publisher","followers_url":"https://api.github.com/users/pangaea-data-publisher/followers","following_url":"https://api.github.com/users/pangaea-data-publisher/following{/other_user}","gists_url":"https://api.github.com/users/pangaea-data-publisher/gists{/gist_id}","starred_url":"https://api.github.com/users/pangaea-data-publisher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pangaea-data-publisher/subscriptions","organizations_url":"https://api.github.com/users/pangaea-data-publisher/orgs","repos_url":"https://api.github.com/users/pangaea-data-publisher/repos","events_url":"https://api.github.com/users/pangaea-data-publisher/events{/privacy}","received_events_url":"https://api.github.com/users/pangaea-data-publisher/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/pangaea-data-publisher/fuji","description":"FAIRsFAIR Research Data Object Assessment Service","fork":false,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji","forks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/forks","keys_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/teams","hooks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/hooks","issue_events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/events{/number}","events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/events","assignees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/assignees{/user}","branches_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/branches{/branch}","tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/tags","blobs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/refs{/sha}","trees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/statuses/{sha}","languages_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/languages","stargazers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/stargazers","contributors_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contributors","subscribers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscribers","subscription_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscription","commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/commits{/sha}","git_commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/commits{/sha}","comments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/comments{/number}","issue_comment_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/comments{/number}","contents_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/{+path}","compare_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/merges","archive_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/downloads","issues_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues{/number}","pulls_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/pulls{/number}","milestones_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/milestones{/number}","notifications_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/labels{/name}","releases_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/releases{/id}","deployments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/deployments"},"score":1.0},{"name":"data_file_format_output.py","path":"fuji_server/models/data_file_format_output.py","sha":"c2e42b6e1eacd659c30b9aa41a3c16a8343d10ef","url":"https://api.github.com/repositories/259678183/contents/fuji_server/models/data_file_format_output.py?ref=9f419b8b1d239da31e09b105f593581cc78e2f15","git_url":"https://api.github.com/repositories/259678183/git/blobs/c2e42b6e1eacd659c30b9aa41a3c16a8343d10ef","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/9f419b8b1d239da31e09b105f593581cc78e2f15/fuji_server/models/data_file_format_output.py","repository":{"id":259678183,"node_id":"MDEwOlJlcG9zaXRvcnkyNTk2NzgxODM=","name":"fuji","full_name":"pangaea-data-publisher/fuji","private":false,"owner":{"login":"pangaea-data-publisher","id":47568830,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3NTY4ODMw","avatar_url":"https://avatars.githubusercontent.com/u/47568830?v=4","gravatar_id":"","url":"https://api.github.com/users/pangaea-data-publisher","html_url":"https://github.com/pangaea-data-publisher","followers_url":"https://api.github.com/users/pangaea-data-publisher/followers","following_url":"https://api.github.com/users/pangaea-data-publisher/following{/other_user}","gists_url":"https://api.github.com/users/pangaea-data-publisher/gists{/gist_id}","starred_url":"https://api.github.com/users/pangaea-data-publisher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pangaea-data-publisher/subscriptions","organizations_url":"https://api.github.com/users/pangaea-data-publisher/orgs","repos_url":"https://api.github.com/users/pangaea-data-publisher/repos","events_url":"https://api.github.com/users/pangaea-data-publisher/events{/privacy}","received_events_url":"https://api.github.com/users/pangaea-data-publisher/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/pangaea-data-publisher/fuji","description":"FAIRsFAIR Research Data Object Assessment Service","fork":false,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji","forks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/forks","keys_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/teams","hooks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/hooks","issue_events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/events{/number}","events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/events","assignees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/assignees{/user}","branches_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/branches{/branch}","tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/tags","blobs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/refs{/sha}","trees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/statuses/{sha}","languages_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/languages","stargazers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/stargazers","contributors_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contributors","subscribers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscribers","subscription_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscription","commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/commits{/sha}","git_commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/commits{/sha}","comments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/comments{/number}","issue_comment_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/comments{/number}","contents_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/{+path}","compare_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/merges","archive_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/downloads","issues_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues{/number}","pulls_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/pulls{/number}","milestones_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/milestones{/number}","notifications_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/labels{/name}","releases_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/releases{/id}","deployments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/deployments"},"score":1.0},{"name":"linked_vocab_helper.py","path":"fuji_server/helper/linked_vocab_helper.py","sha":"58d38081d54727d595520c5c48d189cd575ba353","url":"https://api.github.com/repositories/259678183/contents/fuji_server/helper/linked_vocab_helper.py?ref=9f419b8b1d239da31e09b105f593581cc78e2f15","git_url":"https://api.github.com/repositories/259678183/git/blobs/58d38081d54727d595520c5c48d189cd575ba353","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/9f419b8b1d239da31e09b105f593581cc78e2f15/fuji_server/helper/linked_vocab_helper.py","repository":{"id":259678183,"node_id":"MDEwOlJlcG9zaXRvcnkyNTk2NzgxODM=","name":"fuji","full_name":"pangaea-data-publisher/fuji","private":false,"owner":{"login":"pangaea-data-publisher","id":47568830,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3NTY4ODMw","avatar_url":"https://avatars.githubusercontent.com/u/47568830?v=4","gravatar_id":"","url":"https://api.github.com/users/pangaea-data-publisher","html_url":"https://github.com/pangaea-data-publisher","followers_url":"https://api.github.com/users/pangaea-data-publisher/followers","following_url":"https://api.github.com/users/pangaea-data-publisher/following{/other_user}","gists_url":"https://api.github.com/users/pangaea-data-publisher/gists{/gist_id}","starred_url":"https://api.github.com/users/pangaea-data-publisher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pangaea-data-publisher/subscriptions","organizations_url":"https://api.github.com/users/pangaea-data-publisher/orgs","repos_url":"https://api.github.com/users/pangaea-data-publisher/repos","events_url":"https://api.github.com/users/pangaea-data-publisher/events{/privacy}","received_events_url":"https://api.github.com/users/pangaea-data-publisher/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/pangaea-data-publisher/fuji","description":"FAIRsFAIR Research Data Object Assessment Service","fork":false,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji","forks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/forks","keys_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/teams","hooks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/hooks","issue_events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/events{/number}","events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/events","assignees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/assignees{/user}","branches_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/branches{/branch}","tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/tags","blobs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/refs{/sha}","trees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/statuses/{sha}","languages_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/languages","stargazers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/stargazers","contributors_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contributors","subscribers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscribers","subscription_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscription","commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/commits{/sha}","git_commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/commits{/sha}","comments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/comments{/number}","issue_comment_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/comments{/number}","contents_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/{+path}","compare_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/merges","archive_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/downloads","issues_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues{/number}","pulls_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/pulls{/number}","milestones_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/milestones{/number}","notifications_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/labels{/name}","releases_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/releases{/id}","deployments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/deployments"},"score":1.0},{"name":"data_harvester.py","path":"fuji_server/harvester/data_harvester.py","sha":"daf2dc1a981f7a70dc238519d9dcd1f0e879a460","url":"https://api.github.com/repositories/259678183/contents/fuji_server/harvester/data_harvester.py?ref=9f419b8b1d239da31e09b105f593581cc78e2f15","git_url":"https://api.github.com/repositories/259678183/git/blobs/daf2dc1a981f7a70dc238519d9dcd1f0e879a460","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/9f419b8b1d239da31e09b105f593581cc78e2f15/fuji_server/harvester/data_harvester.py","repository":{"id":259678183,"node_id":"MDEwOlJlcG9zaXRvcnkyNTk2NzgxODM=","name":"fuji","full_name":"pangaea-data-publisher/fuji","private":false,"owner":{"login":"pangaea-data-publisher","id":47568830,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3NTY4ODMw","avatar_url":"https://avatars.githubusercontent.com/u/47568830?v=4","gravatar_id":"","url":"https://api.github.com/users/pangaea-data-publisher","html_url":"https://github.com/pangaea-data-publisher","followers_url":"https://api.github.com/users/pangaea-data-publisher/followers","following_url":"https://api.github.com/users/pangaea-data-publisher/following{/other_user}","gists_url":"https://api.github.com/users/pangaea-data-publisher/gists{/gist_id}","starred_url":"https://api.github.com/users/pangaea-data-publisher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pangaea-data-publisher/subscriptions","organizations_url":"https://api.github.com/users/pangaea-data-publisher/orgs","repos_url":"https://api.github.com/users/pangaea-data-publisher/repos","events_url":"https://api.github.com/users/pangaea-data-publisher/events{/privacy}","received_events_url":"https://api.github.com/users/pangaea-data-publisher/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/pangaea-data-publisher/fuji","description":"FAIRsFAIR Research Data Object Assessment Service","fork":false,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji","forks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/forks","keys_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/teams","hooks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/hooks","issue_events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/events{/number}","events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/events","assignees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/assignees{/user}","branches_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/branches{/branch}","tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/tags","blobs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/refs{/sha}","trees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/statuses/{sha}","languages_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/languages","stargazers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/stargazers","contributors_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contributors","subscribers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscribers","subscription_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscription","commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/commits{/sha}","git_commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/commits{/sha}","comments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/comments{/number}","issue_comment_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/comments{/number}","contents_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/{+path}","compare_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/merges","archive_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/downloads","issues_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues{/number}","pulls_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/pulls{/number}","milestones_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/milestones{/number}","notifications_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/labels{/name}","releases_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/releases{/id}","deployments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/deployments"},"score":1.0},{"name":"any_of_fair_results_results_items.py","path":"fuji_server/models/any_of_fair_results_results_items.py","sha":"f10c98621dd3758befb0ce97c864abdaa395bd6b","url":"https://api.github.com/repositories/259678183/contents/fuji_server/models/any_of_fair_results_results_items.py?ref=9f419b8b1d239da31e09b105f593581cc78e2f15","git_url":"https://api.github.com/repositories/259678183/git/blobs/f10c98621dd3758befb0ce97c864abdaa395bd6b","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/9f419b8b1d239da31e09b105f593581cc78e2f15/fuji_server/models/any_of_fair_results_results_items.py","repository":{"id":259678183,"node_id":"MDEwOlJlcG9zaXRvcnkyNTk2NzgxODM=","name":"fuji","full_name":"pangaea-data-publisher/fuji","private":false,"owner":{"login":"pangaea-data-publisher","id":47568830,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3NTY4ODMw","avatar_url":"https://avatars.githubusercontent.com/u/47568830?v=4","gravatar_id":"","url":"https://api.github.com/users/pangaea-data-publisher","html_url":"https://github.com/pangaea-data-publisher","followers_url":"https://api.github.com/users/pangaea-data-publisher/followers","following_url":"https://api.github.com/users/pangaea-data-publisher/following{/other_user}","gists_url":"https://api.github.com/users/pangaea-data-publisher/gists{/gist_id}","starred_url":"https://api.github.com/users/pangaea-data-publisher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pangaea-data-publisher/subscriptions","organizations_url":"https://api.github.com/users/pangaea-data-publisher/orgs","repos_url":"https://api.github.com/users/pangaea-data-publisher/repos","events_url":"https://api.github.com/users/pangaea-data-publisher/events{/privacy}","received_events_url":"https://api.github.com/users/pangaea-data-publisher/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/pangaea-data-publisher/fuji","description":"FAIRsFAIR Research Data Object Assessment Service","fork":false,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji","forks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/forks","keys_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/teams","hooks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/hooks","issue_events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/events{/number}","events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/events","assignees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/assignees{/user}","branches_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/branches{/branch}","tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/tags","blobs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/refs{/sha}","trees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/statuses/{sha}","languages_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/languages","stargazers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/stargazers","contributors_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contributors","subscribers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscribers","subscription_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscription","commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/commits{/sha}","git_commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/commits{/sha}","comments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/comments{/number}","issue_comment_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/comments{/number}","contents_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/{+path}","compare_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/merges","archive_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/downloads","issues_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues{/number}","pulls_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/pulls{/number}","milestones_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/milestones{/number}","notifications_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/labels{/name}","releases_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/releases{/id}","deployments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/deployments"},"score":1.0},{"name":"metadata_collector_datacite.py","path":"fuji_server/helper/metadata_collector_datacite.py","sha":"78b592062e4749c6eaa69eafb7f624a202f72cfd","url":"https://api.github.com/repositories/259678183/contents/fuji_server/helper/metadata_collector_datacite.py?ref=9f419b8b1d239da31e09b105f593581cc78e2f15","git_url":"https://api.github.com/repositories/259678183/git/blobs/78b592062e4749c6eaa69eafb7f624a202f72cfd","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/9f419b8b1d239da31e09b105f593581cc78e2f15/fuji_server/helper/metadata_collector_datacite.py","repository":{"id":259678183,"node_id":"MDEwOlJlcG9zaXRvcnkyNTk2NzgxODM=","name":"fuji","full_name":"pangaea-data-publisher/fuji","private":false,"owner":{"login":"pangaea-data-publisher","id":47568830,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3NTY4ODMw","avatar_url":"https://avatars.githubusercontent.com/u/47568830?v=4","gravatar_id":"","url":"https://api.github.com/users/pangaea-data-publisher","html_url":"https://github.com/pangaea-data-publisher","followers_url":"https://api.github.com/users/pangaea-data-publisher/followers","following_url":"https://api.github.com/users/pangaea-data-publisher/following{/other_user}","gists_url":"https://api.github.com/users/pangaea-data-publisher/gists{/gist_id}","starred_url":"https://api.github.com/users/pangaea-data-publisher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pangaea-data-publisher/subscriptions","organizations_url":"https://api.github.com/users/pangaea-data-publisher/orgs","repos_url":"https://api.github.com/users/pangaea-data-publisher/repos","events_url":"https://api.github.com/users/pangaea-data-publisher/events{/privacy}","received_events_url":"https://api.github.com/users/pangaea-data-publisher/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/pangaea-data-publisher/fuji","description":"FAIRsFAIR Research Data Object Assessment Service","fork":false,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji","forks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/forks","keys_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/teams","hooks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/hooks","issue_events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/events{/number}","events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/events","assignees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/assignees{/user}","branches_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/branches{/branch}","tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/tags","blobs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/refs{/sha}","trees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/statuses/{sha}","languages_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/languages","stargazers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/stargazers","contributors_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contributors","subscribers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscribers","subscription_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscription","commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/commits{/sha}","git_commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/commits{/sha}","comments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/comments{/number}","issue_comment_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/comments{/number}","contents_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/{+path}","compare_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/merges","archive_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/downloads","issues_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues{/number}","pulls_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/pulls{/number}","milestones_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/milestones{/number}","notifications_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/labels{/name}","releases_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/releases{/id}","deployments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/deployments"},"score":1.0},{"name":"output_core_metadata_found.py","path":"fuji_server/models/output_core_metadata_found.py","sha":"9c895c642c92b7386070c8b0ec888e80238e3cb4","url":"https://api.github.com/repositories/259678183/contents/fuji_server/models/output_core_metadata_found.py?ref=9f419b8b1d239da31e09b105f593581cc78e2f15","git_url":"https://api.github.com/repositories/259678183/git/blobs/9c895c642c92b7386070c8b0ec888e80238e3cb4","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/9f419b8b1d239da31e09b105f593581cc78e2f15/fuji_server/models/output_core_metadata_found.py","repository":{"id":259678183,"node_id":"MDEwOlJlcG9zaXRvcnkyNTk2NzgxODM=","name":"fuji","full_name":"pangaea-data-publisher/fuji","private":false,"owner":{"login":"pangaea-data-publisher","id":47568830,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3NTY4ODMw","avatar_url":"https://avatars.githubusercontent.com/u/47568830?v=4","gravatar_id":"","url":"https://api.github.com/users/pangaea-data-publisher","html_url":"https://github.com/pangaea-data-publisher","followers_url":"https://api.github.com/users/pangaea-data-publisher/followers","following_url":"https://api.github.com/users/pangaea-data-publisher/following{/other_user}","gists_url":"https://api.github.com/users/pangaea-data-publisher/gists{/gist_id}","starred_url":"https://api.github.com/users/pangaea-data-publisher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pangaea-data-publisher/subscriptions","organizations_url":"https://api.github.com/users/pangaea-data-publisher/orgs","repos_url":"https://api.github.com/users/pangaea-data-publisher/repos","events_url":"https://api.github.com/users/pangaea-data-publisher/events{/privacy}","received_events_url":"https://api.github.com/users/pangaea-data-publisher/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/pangaea-data-publisher/fuji","description":"FAIRsFAIR Research Data Object Assessment Service","fork":false,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji","forks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/forks","keys_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/teams","hooks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/hooks","issue_events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/events{/number}","events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/events","assignees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/assignees{/user}","branches_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/branches{/branch}","tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/tags","blobs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/refs{/sha}","trees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/statuses/{sha}","languages_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/languages","stargazers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/stargazers","contributors_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contributors","subscribers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscribers","subscription_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscription","commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/commits{/sha}","git_commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/commits{/sha}","comments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/comments{/number}","issue_comment_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/comments{/number}","contents_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/{+path}","compare_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/merges","archive_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/downloads","issues_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues{/number}","pulls_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/pulls{/number}","milestones_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/milestones{/number}","notifications_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/labels{/name}","releases_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/releases{/id}","deployments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/deployments"},"score":1.0},{"name":"create_google_lists.py","path":"fuji_server/helper/create_google_lists.py","sha":"9f3d48a1c4e48ade902e6b8868af1a7ee99cbe2a","url":"https://api.github.com/repositories/259678183/contents/fuji_server/helper/create_google_lists.py?ref=9f419b8b1d239da31e09b105f593581cc78e2f15","git_url":"https://api.github.com/repositories/259678183/git/blobs/9f3d48a1c4e48ade902e6b8868af1a7ee99cbe2a","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/9f419b8b1d239da31e09b105f593581cc78e2f15/fuji_server/helper/create_google_lists.py","repository":{"id":259678183,"node_id":"MDEwOlJlcG9zaXRvcnkyNTk2NzgxODM=","name":"fuji","full_name":"pangaea-data-publisher/fuji","private":false,"owner":{"login":"pangaea-data-publisher","id":47568830,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3NTY4ODMw","avatar_url":"https://avatars.githubusercontent.com/u/47568830?v=4","gravatar_id":"","url":"https://api.github.com/users/pangaea-data-publisher","html_url":"https://github.com/pangaea-data-publisher","followers_url":"https://api.github.com/users/pangaea-data-publisher/followers","following_url":"https://api.github.com/users/pangaea-data-publisher/following{/other_user}","gists_url":"https://api.github.com/users/pangaea-data-publisher/gists{/gist_id}","starred_url":"https://api.github.com/users/pangaea-data-publisher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pangaea-data-publisher/subscriptions","organizations_url":"https://api.github.com/users/pangaea-data-publisher/orgs","repos_url":"https://api.github.com/users/pangaea-data-publisher/repos","events_url":"https://api.github.com/users/pangaea-data-publisher/events{/privacy}","received_events_url":"https://api.github.com/users/pangaea-data-publisher/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/pangaea-data-publisher/fuji","description":"FAIRsFAIR Research Data Object Assessment Service","fork":false,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji","forks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/forks","keys_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/teams","hooks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/hooks","issue_events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/events{/number}","events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/events","assignees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/assignees{/user}","branches_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/branches{/branch}","tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/tags","blobs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/refs{/sha}","trees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/statuses/{sha}","languages_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/languages","stargazers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/stargazers","contributors_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contributors","subscribers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscribers","subscription_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscription","commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/commits{/sha}","git_commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/commits{/sha}","comments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/comments{/number}","issue_comment_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/comments{/number}","contents_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/{+path}","compare_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/merges","archive_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/downloads","issues_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues{/number}","pulls_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/pulls{/number}","milestones_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/milestones{/number}","notifications_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/labels{/name}","releases_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/releases{/id}","deployments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/deployments"},"score":1.0},{"name":"fair_results.py","path":"fuji_server/models/fair_results.py","sha":"a774447303c08e232e18e88d835c50eab2d7c949","url":"https://api.github.com/repositories/259678183/contents/fuji_server/models/fair_results.py?ref=9f419b8b1d239da31e09b105f593581cc78e2f15","git_url":"https://api.github.com/repositories/259678183/git/blobs/a774447303c08e232e18e88d835c50eab2d7c949","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/9f419b8b1d239da31e09b105f593581cc78e2f15/fuji_server/models/fair_results.py","repository":{"id":259678183,"node_id":"MDEwOlJlcG9zaXRvcnkyNTk2NzgxODM=","name":"fuji","full_name":"pangaea-data-publisher/fuji","private":false,"owner":{"login":"pangaea-data-publisher","id":47568830,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3NTY4ODMw","avatar_url":"https://avatars.githubusercontent.com/u/47568830?v=4","gravatar_id":"","url":"https://api.github.com/users/pangaea-data-publisher","html_url":"https://github.com/pangaea-data-publisher","followers_url":"https://api.github.com/users/pangaea-data-publisher/followers","following_url":"https://api.github.com/users/pangaea-data-publisher/following{/other_user}","gists_url":"https://api.github.com/users/pangaea-data-publisher/gists{/gist_id}","starred_url":"https://api.github.com/users/pangaea-data-publisher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pangaea-data-publisher/subscriptions","organizations_url":"https://api.github.com/users/pangaea-data-publisher/orgs","repos_url":"https://api.github.com/users/pangaea-data-publisher/repos","events_url":"https://api.github.com/users/pangaea-data-publisher/events{/privacy}","received_events_url":"https://api.github.com/users/pangaea-data-publisher/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/pangaea-data-publisher/fuji","description":"FAIRsFAIR Research Data Object Assessment Service","fork":false,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji","forks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/forks","keys_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/teams","hooks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/hooks","issue_events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/events{/number}","events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/events","assignees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/assignees{/user}","branches_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/branches{/branch}","tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/tags","blobs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/refs{/sha}","trees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/statuses/{sha}","languages_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/languages","stargazers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/stargazers","contributors_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contributors","subscribers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscribers","subscription_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscription","commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/commits{/sha}","git_commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/commits{/sha}","comments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/comments{/number}","issue_comment_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/comments{/number}","contents_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/{+path}","compare_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/merges","archive_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/downloads","issues_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues{/number}","pulls_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/pulls{/number}","milestones_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/milestones{/number}","notifications_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/labels{/name}","releases_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/releases{/id}","deployments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/deployments"},"score":1.0},{"name":"standardised_protocol_metadata_output.py","path":"fuji_server/models/standardised_protocol_metadata_output.py","sha":"bbd987427c7cf7e727af50789a096e21441cd4d0","url":"https://api.github.com/repositories/259678183/contents/fuji_server/models/standardised_protocol_metadata_output.py?ref=9f419b8b1d239da31e09b105f593581cc78e2f15","git_url":"https://api.github.com/repositories/259678183/git/blobs/bbd987427c7cf7e727af50789a096e21441cd4d0","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/9f419b8b1d239da31e09b105f593581cc78e2f15/fuji_server/models/standardised_protocol_metadata_output.py","repository":{"id":259678183,"node_id":"MDEwOlJlcG9zaXRvcnkyNTk2NzgxODM=","name":"fuji","full_name":"pangaea-data-publisher/fuji","private":false,"owner":{"login":"pangaea-data-publisher","id":47568830,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3NTY4ODMw","avatar_url":"https://avatars.githubusercontent.com/u/47568830?v=4","gravatar_id":"","url":"https://api.github.com/users/pangaea-data-publisher","html_url":"https://github.com/pangaea-data-publisher","followers_url":"https://api.github.com/users/pangaea-data-publisher/followers","following_url":"https://api.github.com/users/pangaea-data-publisher/following{/other_user}","gists_url":"https://api.github.com/users/pangaea-data-publisher/gists{/gist_id}","starred_url":"https://api.github.com/users/pangaea-data-publisher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pangaea-data-publisher/subscriptions","organizations_url":"https://api.github.com/users/pangaea-data-publisher/orgs","repos_url":"https://api.github.com/users/pangaea-data-publisher/repos","events_url":"https://api.github.com/users/pangaea-data-publisher/events{/privacy}","received_events_url":"https://api.github.com/users/pangaea-data-publisher/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/pangaea-data-publisher/fuji","description":"FAIRsFAIR Research Data Object Assessment Service","fork":false,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji","forks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/forks","keys_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/teams","hooks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/hooks","issue_events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/events{/number}","events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/events","assignees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/assignees{/user}","branches_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/branches{/branch}","tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/tags","blobs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/refs{/sha}","trees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/statuses/{sha}","languages_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/languages","stargazers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/stargazers","contributors_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contributors","subscribers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscribers","subscription_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscription","commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/commits{/sha}","git_commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/commits{/sha}","comments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/comments{/number}","issue_comment_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/comments{/number}","contents_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/{+path}","compare_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/merges","archive_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/downloads","issues_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues{/number}","pulls_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/pulls{/number}","milestones_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/milestones{/number}","notifications_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/labels{/name}","releases_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/releases{/id}","deployments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/deployments"},"score":1.0},{"name":"data_provenance_output.py","path":"fuji_server/models/data_provenance_output.py","sha":"9fc62858ef609a830bee04f45ac2a9e1e5136c49","url":"https://api.github.com/repositories/259678183/contents/fuji_server/models/data_provenance_output.py?ref=9f419b8b1d239da31e09b105f593581cc78e2f15","git_url":"https://api.github.com/repositories/259678183/git/blobs/9fc62858ef609a830bee04f45ac2a9e1e5136c49","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/9f419b8b1d239da31e09b105f593581cc78e2f15/fuji_server/models/data_provenance_output.py","repository":{"id":259678183,"node_id":"MDEwOlJlcG9zaXRvcnkyNTk2NzgxODM=","name":"fuji","full_name":"pangaea-data-publisher/fuji","private":false,"owner":{"login":"pangaea-data-publisher","id":47568830,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3NTY4ODMw","avatar_url":"https://avatars.githubusercontent.com/u/47568830?v=4","gravatar_id":"","url":"https://api.github.com/users/pangaea-data-publisher","html_url":"https://github.com/pangaea-data-publisher","followers_url":"https://api.github.com/users/pangaea-data-publisher/followers","following_url":"https://api.github.com/users/pangaea-data-publisher/following{/other_user}","gists_url":"https://api.github.com/users/pangaea-data-publisher/gists{/gist_id}","starred_url":"https://api.github.com/users/pangaea-data-publisher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pangaea-data-publisher/subscriptions","organizations_url":"https://api.github.com/users/pangaea-data-publisher/orgs","repos_url":"https://api.github.com/users/pangaea-data-publisher/repos","events_url":"https://api.github.com/users/pangaea-data-publisher/events{/privacy}","received_events_url":"https://api.github.com/users/pangaea-data-publisher/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/pangaea-data-publisher/fuji","description":"FAIRsFAIR Research Data Object Assessment Service","fork":false,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji","forks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/forks","keys_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/teams","hooks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/hooks","issue_events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/events{/number}","events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/events","assignees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/assignees{/user}","branches_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/branches{/branch}","tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/tags","blobs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/refs{/sha}","trees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/statuses/{sha}","languages_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/languages","stargazers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/stargazers","contributors_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contributors","subscribers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscribers","subscription_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscription","commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/commits{/sha}","git_commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/commits{/sha}","comments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/comments{/number}","issue_comment_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/comments{/number}","contents_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/{+path}","compare_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/merges","archive_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/downloads","issues_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues{/number}","pulls_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/pulls{/number}","milestones_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/milestones{/number}","notifications_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/labels{/name}","releases_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/releases{/id}","deployments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/deployments"},"score":1.0},{"name":"metadata_collector_microdata.py","path":"fuji_server/helper/metadata_collector_microdata.py","sha":"aece9390fc8c684cf277dd6a78f020d911c75246","url":"https://api.github.com/repositories/259678183/contents/fuji_server/helper/metadata_collector_microdata.py?ref=9f419b8b1d239da31e09b105f593581cc78e2f15","git_url":"https://api.github.com/repositories/259678183/git/blobs/aece9390fc8c684cf277dd6a78f020d911c75246","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/9f419b8b1d239da31e09b105f593581cc78e2f15/fuji_server/helper/metadata_collector_microdata.py","repository":{"id":259678183,"node_id":"MDEwOlJlcG9zaXRvcnkyNTk2NzgxODM=","name":"fuji","full_name":"pangaea-data-publisher/fuji","private":false,"owner":{"login":"pangaea-data-publisher","id":47568830,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3NTY4ODMw","avatar_url":"https://avatars.githubusercontent.com/u/47568830?v=4","gravatar_id":"","url":"https://api.github.com/users/pangaea-data-publisher","html_url":"https://github.com/pangaea-data-publisher","followers_url":"https://api.github.com/users/pangaea-data-publisher/followers","following_url":"https://api.github.com/users/pangaea-data-publisher/following{/other_user}","gists_url":"https://api.github.com/users/pangaea-data-publisher/gists{/gist_id}","starred_url":"https://api.github.com/users/pangaea-data-publisher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pangaea-data-publisher/subscriptions","organizations_url":"https://api.github.com/users/pangaea-data-publisher/orgs","repos_url":"https://api.github.com/users/pangaea-data-publisher/repos","events_url":"https://api.github.com/users/pangaea-data-publisher/events{/privacy}","received_events_url":"https://api.github.com/users/pangaea-data-publisher/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/pangaea-data-publisher/fuji","description":"FAIRsFAIR Research Data Object Assessment Service","fork":false,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji","forks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/forks","keys_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/teams","hooks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/hooks","issue_events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/events{/number}","events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/events","assignees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/assignees{/user}","branches_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/branches{/branch}","tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/tags","blobs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/refs{/sha}","trees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/statuses/{sha}","languages_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/languages","stargazers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/stargazers","contributors_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contributors","subscribers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscribers","subscription_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscription","commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/commits{/sha}","git_commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/commits{/sha}","comments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/comments{/number}","issue_comment_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/comments{/number}","contents_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/{+path}","compare_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/merges","archive_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/downloads","issues_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues{/number}","pulls_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/pulls{/number}","milestones_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/milestones{/number}","notifications_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/labels{/name}","releases_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/releases{/id}","deployments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/deployments"},"score":1.0},{"name":"core_metadata.py","path":"fuji_server/models/core_metadata.py","sha":"404abbbb039cf11f1be047a43036f3feb44a6276","url":"https://api.github.com/repositories/259678183/contents/fuji_server/models/core_metadata.py?ref=9f419b8b1d239da31e09b105f593581cc78e2f15","git_url":"https://api.github.com/repositories/259678183/git/blobs/404abbbb039cf11f1be047a43036f3feb44a6276","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/9f419b8b1d239da31e09b105f593581cc78e2f15/fuji_server/models/core_metadata.py","repository":{"id":259678183,"node_id":"MDEwOlJlcG9zaXRvcnkyNTk2NzgxODM=","name":"fuji","full_name":"pangaea-data-publisher/fuji","private":false,"owner":{"login":"pangaea-data-publisher","id":47568830,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3NTY4ODMw","avatar_url":"https://avatars.githubusercontent.com/u/47568830?v=4","gravatar_id":"","url":"https://api.github.com/users/pangaea-data-publisher","html_url":"https://github.com/pangaea-data-publisher","followers_url":"https://api.github.com/users/pangaea-data-publisher/followers","following_url":"https://api.github.com/users/pangaea-data-publisher/following{/other_user}","gists_url":"https://api.github.com/users/pangaea-data-publisher/gists{/gist_id}","starred_url":"https://api.github.com/users/pangaea-data-publisher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pangaea-data-publisher/subscriptions","organizations_url":"https://api.github.com/users/pangaea-data-publisher/orgs","repos_url":"https://api.github.com/users/pangaea-data-publisher/repos","events_url":"https://api.github.com/users/pangaea-data-publisher/events{/privacy}","received_events_url":"https://api.github.com/users/pangaea-data-publisher/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/pangaea-data-publisher/fuji","description":"FAIRsFAIR Research Data Object Assessment Service","fork":false,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji","forks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/forks","keys_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/teams","hooks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/hooks","issue_events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/events{/number}","events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/events","assignees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/assignees{/user}","branches_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/branches{/branch}","tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/tags","blobs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/refs{/sha}","trees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/statuses/{sha}","languages_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/languages","stargazers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/stargazers","contributors_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contributors","subscribers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscribers","subscription_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscription","commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/commits{/sha}","git_commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/commits{/sha}","comments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/comments{/number}","issue_comment_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/comments{/number}","contents_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/{+path}","compare_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/merges","archive_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/downloads","issues_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues{/number}","pulls_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/pulls{/number}","milestones_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/milestones{/number}","notifications_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/labels{/name}","releases_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/releases{/id}","deployments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/deployments"},"score":1.0},{"name":"uniqueness_output.py","path":"fuji_server/models/uniqueness_output.py","sha":"994e00e9749c71aa2a5144e913199904fab0a50f","url":"https://api.github.com/repositories/259678183/contents/fuji_server/models/uniqueness_output.py?ref=9f419b8b1d239da31e09b105f593581cc78e2f15","git_url":"https://api.github.com/repositories/259678183/git/blobs/994e00e9749c71aa2a5144e913199904fab0a50f","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/9f419b8b1d239da31e09b105f593581cc78e2f15/fuji_server/models/uniqueness_output.py","repository":{"id":259678183,"node_id":"MDEwOlJlcG9zaXRvcnkyNTk2NzgxODM=","name":"fuji","full_name":"pangaea-data-publisher/fuji","private":false,"owner":{"login":"pangaea-data-publisher","id":47568830,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3NTY4ODMw","avatar_url":"https://avatars.githubusercontent.com/u/47568830?v=4","gravatar_id":"","url":"https://api.github.com/users/pangaea-data-publisher","html_url":"https://github.com/pangaea-data-publisher","followers_url":"https://api.github.com/users/pangaea-data-publisher/followers","following_url":"https://api.github.com/users/pangaea-data-publisher/following{/other_user}","gists_url":"https://api.github.com/users/pangaea-data-publisher/gists{/gist_id}","starred_url":"https://api.github.com/users/pangaea-data-publisher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pangaea-data-publisher/subscriptions","organizations_url":"https://api.github.com/users/pangaea-data-publisher/orgs","repos_url":"https://api.github.com/users/pangaea-data-publisher/repos","events_url":"https://api.github.com/users/pangaea-data-publisher/events{/privacy}","received_events_url":"https://api.github.com/users/pangaea-data-publisher/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/pangaea-data-publisher/fuji","description":"FAIRsFAIR Research Data Object Assessment Service","fork":false,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji","forks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/forks","keys_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/teams","hooks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/hooks","issue_events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/events{/number}","events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/events","assignees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/assignees{/user}","branches_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/branches{/branch}","tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/tags","blobs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/refs{/sha}","trees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/statuses/{sha}","languages_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/languages","stargazers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/stargazers","contributors_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contributors","subscribers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscribers","subscription_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscription","commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/commits{/sha}","git_commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/commits{/sha}","comments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/comments{/number}","issue_comment_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/comments{/number}","contents_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/{+path}","compare_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/merges","archive_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/downloads","issues_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues{/number}","pulls_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/pulls{/number}","milestones_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/milestones{/number}","notifications_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/labels{/name}","releases_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/releases{/id}","deployments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/deployments"},"score":1.0},{"name":"license_output_inner.py","path":"fuji_server/models/license_output_inner.py","sha":"81e6bd3d7936c25fd566fe4b75e91bda5210c520","url":"https://api.github.com/repositories/259678183/contents/fuji_server/models/license_output_inner.py?ref=9f419b8b1d239da31e09b105f593581cc78e2f15","git_url":"https://api.github.com/repositories/259678183/git/blobs/81e6bd3d7936c25fd566fe4b75e91bda5210c520","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/9f419b8b1d239da31e09b105f593581cc78e2f15/fuji_server/models/license_output_inner.py","repository":{"id":259678183,"node_id":"MDEwOlJlcG9zaXRvcnkyNTk2NzgxODM=","name":"fuji","full_name":"pangaea-data-publisher/fuji","private":false,"owner":{"login":"pangaea-data-publisher","id":47568830,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3NTY4ODMw","avatar_url":"https://avatars.githubusercontent.com/u/47568830?v=4","gravatar_id":"","url":"https://api.github.com/users/pangaea-data-publisher","html_url":"https://github.com/pangaea-data-publisher","followers_url":"https://api.github.com/users/pangaea-data-publisher/followers","following_url":"https://api.github.com/users/pangaea-data-publisher/following{/other_user}","gists_url":"https://api.github.com/users/pangaea-data-publisher/gists{/gist_id}","starred_url":"https://api.github.com/users/pangaea-data-publisher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pangaea-data-publisher/subscriptions","organizations_url":"https://api.github.com/users/pangaea-data-publisher/orgs","repos_url":"https://api.github.com/users/pangaea-data-publisher/repos","events_url":"https://api.github.com/users/pangaea-data-publisher/events{/privacy}","received_events_url":"https://api.github.com/users/pangaea-data-publisher/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/pangaea-data-publisher/fuji","description":"FAIRsFAIR Research Data Object Assessment Service","fork":false,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji","forks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/forks","keys_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/teams","hooks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/hooks","issue_events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/events{/number}","events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/events","assignees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/assignees{/user}","branches_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/branches{/branch}","tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/tags","blobs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/refs{/sha}","trees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/statuses/{sha}","languages_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/languages","stargazers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/stargazers","contributors_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contributors","subscribers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscribers","subscription_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscription","commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/commits{/sha}","git_commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/commits{/sha}","comments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/comments{/number}","issue_comment_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/comments{/number}","contents_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/{+path}","compare_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/merges","archive_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/downloads","issues_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues{/number}","pulls_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/pulls{/number}","milestones_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/milestones{/number}","notifications_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/labels{/name}","releases_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/releases{/id}","deployments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/deployments"},"score":1.0},{"name":"harvest_results_metadata.py","path":"fuji_server/models/harvest_results_metadata.py","sha":"e8fa7736e79eab1aa293e88ef2f4d5f3eef4d315","url":"https://api.github.com/repositories/259678183/contents/fuji_server/models/harvest_results_metadata.py?ref=9f419b8b1d239da31e09b105f593581cc78e2f15","git_url":"https://api.github.com/repositories/259678183/git/blobs/e8fa7736e79eab1aa293e88ef2f4d5f3eef4d315","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/9f419b8b1d239da31e09b105f593581cc78e2f15/fuji_server/models/harvest_results_metadata.py","repository":{"id":259678183,"node_id":"MDEwOlJlcG9zaXRvcnkyNTk2NzgxODM=","name":"fuji","full_name":"pangaea-data-publisher/fuji","private":false,"owner":{"login":"pangaea-data-publisher","id":47568830,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3NTY4ODMw","avatar_url":"https://avatars.githubusercontent.com/u/47568830?v=4","gravatar_id":"","url":"https://api.github.com/users/pangaea-data-publisher","html_url":"https://github.com/pangaea-data-publisher","followers_url":"https://api.github.com/users/pangaea-data-publisher/followers","following_url":"https://api.github.com/users/pangaea-data-publisher/following{/other_user}","gists_url":"https://api.github.com/users/pangaea-data-publisher/gists{/gist_id}","starred_url":"https://api.github.com/users/pangaea-data-publisher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pangaea-data-publisher/subscriptions","organizations_url":"https://api.github.com/users/pangaea-data-publisher/orgs","repos_url":"https://api.github.com/users/pangaea-data-publisher/repos","events_url":"https://api.github.com/users/pangaea-data-publisher/events{/privacy}","received_events_url":"https://api.github.com/users/pangaea-data-publisher/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/pangaea-data-publisher/fuji","description":"FAIRsFAIR Research Data Object Assessment Service","fork":false,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji","forks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/forks","keys_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/teams","hooks_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/hooks","issue_events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/events{/number}","events_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/events","assignees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/assignees{/user}","branches_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/branches{/branch}","tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/tags","blobs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/refs{/sha}","trees_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/statuses/{sha}","languages_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/languages","stargazers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/stargazers","contributors_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contributors","subscribers_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscribers","subscription_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/subscription","commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/commits{/sha}","git_commits_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/commits{/sha}","comments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/comments{/number}","issue_comment_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues/comments{/number}","contents_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/{+path}","compare_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/merges","archive_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/downloads","issues_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/issues{/number}","pulls_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/pulls{/number}","milestones_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/milestones{/number}","notifications_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/labels{/name}","releases_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/releases{/id}","deployments_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/deployments"},"score":1.0}]}' headers: Access-Control-Allow-Origin: - '*' @@ -473,9 +611,9 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Fri, 12 Jan 2024 16:17:06 GMT + - Fri, 03 May 2024 13:42:03 GMT Link: - - ; rel="next", ; rel="last" + - ; rel="next", ; rel="last" Referrer-Policy: - origin-when-cross-origin, strict-origin-when-cross-origin Server: @@ -496,7 +634,7 @@ interactions: X-GitHub-Media-Type: - github.v3; format=json X-GitHub-Request-Id: - - 7858:8B570:F3DA815:F68C780:65A16601 + - C6B8:202984:3809E60:3978A8A:6634E9AB X-OAuth-Scopes: - repo X-RateLimit-Limit: @@ -504,7 +642,7 @@ interactions: X-RateLimit-Remaining: - '8' X-RateLimit-Reset: - - '1705076285' + - '1714743782' X-RateLimit-Resource: - code_search X-RateLimit-Used: @@ -512,7 +650,7 @@ interactions: X-XSS-Protection: - '0' github-authentication-token-expiration: - - 2024-03-04 14:01:51 UTC + - 2024-07-08 07:44:52 UTC x-github-api-version-selected: - '2022-11-28' status: @@ -526,16 +664,16 @@ interactions: Accept-Encoding: - gzip, deflate Authorization: - - token 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 + - token ghp_MASKED Connection: - keep-alive User-Agent: - PyGithub/Python method: GET - uri: https://api.github.com/repositories/259678183/contents/fuji_server/app.py?ref=708fe43a1ee5f4557368dcd66622ec869fe854f9 + uri: https://api.github.com/repositories/259678183/contents/fuji_server/app.py?ref=9f419b8b1d239da31e09b105f593581cc78e2f15 response: body: - string: '{"name":"app.py","path":"fuji_server/app.py","sha":"26a77ee3946819fff0bccaf22df1265ea32bc7dc","size":1201,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/app.py?ref=708fe43a1ee5f4557368dcd66622ec869fe854f9","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/708fe43a1ee5f4557368dcd66622ec869fe854f9/fuji_server/app.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/26a77ee3946819fff0bccaf22df1265ea32bc7dc","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/708fe43a1ee5f4557368dcd66622ec869fe854f9/fuji_server/app.py","type":"file","content":"IyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiAyMDIwIFBBTkdBRUEgKGh0dHBz\nOi8vd3d3LnBhbmdhZWEuZGUvKQojCiMgU1BEWC1MaWNlbnNlLUlkZW50aWZp\nZXI6IE1JVAoKaW1wb3J0IGpzb24KaW1wb3J0IG9zCmZyb20gcGF0aGxpYiBp\nbXBvcnQgUGF0aAoKaW1wb3J0IGNvbm5leGlvbgpmcm9tIGNvbm5leGlvbi5q\nc29uaWZpZXIgaW1wb3J0IEpzb25pZmllcgpmcm9tIGZsYXNrX2NvcnMgaW1w\nb3J0IENPUlMKZnJvbSB3ZXJremV1Zy5taWRkbGV3YXJlLnByb3h5X2ZpeCBp\nbXBvcnQgUHJveHlGaXgKCmZyb20gZnVqaV9zZXJ2ZXIgaW1wb3J0IGVuY29k\nZXIKCgpkZWYgY3JlYXRlX2FwcChjb25maWcpOgogICAgIiIiCiAgICBGdW5j\ndGlvbiB3aGljaCBpbml0aWFsaXplcyB0aGUgRlVKSSBjb25uZXhpb24gZmxh\nc2sgYXBwIGFuZCByZXR1cm5zIGl0CiAgICAiIiIKICAgICMgeW91IGNhbiBh\nbHNvIHVzZSBUb3JuYWRvIG9yIGdldmVudCBhcyB0aGUgSFRUUCBzZXJ2ZXIs\nIHRvIGRvIHNvIHNldCBzZXJ2ZXIgdG8gdG9ybmFkbyBvciBnZXZlbnQKICAg\nIFJPT1RfRElSID0gUGF0aChfX2ZpbGVfXykucGFyZW50CiAgICBZQU1MX0RJ\nUiA9IGNvbmZpZ1siU0VSVklDRSJdWyJ5YW1sX2RpcmVjdG9yeSJdCiAgICBt\neWpzb25pZmllciA9IEpzb25pZmllcihqc29uLCBjbHM9ZW5jb2Rlci5DdXN0\nb21KU09ORW5jb2RlcikKICAgICMgYXBwID0gY29ubmV4aW9uLkZsYXNrQXBw\nKF9fbmFtZV9fLCBzcGVjaWZpY2F0aW9uX2Rpcj1ZQU1MX0RJUiwganNvbmlm\naWVyPWVuY29kZXIuQ3VzdG9tSnNvbmlmaWVyKQogICAgYXBwID0gY29ubmV4\naW9uLkFwcChfX25hbWVfXywgc3BlY2lmaWNhdGlvbl9kaXI9WUFNTF9ESVIs\nIGpzb25pZmllcj1teWpzb25pZmllcikKCiAgICBBUElfWUFNTCA9IFJPT1Rf\nRElSLmpvaW5wYXRoKFlBTUxfRElSLCBjb25maWdbIlNFUlZJQ0UiXVsib3Bl\nbmFwaV95YW1sIl0pCgogICAgYXBwLmFkZF9hcGkoQVBJX1lBTUwsIHZhbGlk\nYXRlX3Jlc3BvbnNlcz1UcnVlLCBqc29uaWZpZXI9bXlqc29uaWZpZXIpCgog\nICAgYXBwLmFwcC53c2dpX2FwcCA9IFByb3h5Rml4KGFwcC5hcHAud3NnaV9h\ncHAsIHhfZm9yPTEsIHhfaG9zdD0xKQogICAgaWYgb3MuZ2V0ZW52KCJFTkFC\nTEVfQ09SUyIsICJGYWxzZSIpLmxvd2VyKCkgPT0gInRydWUiOgogICAgICAg\nIENPUlMoYXBwLmFwcCkKCiAgICByZXR1cm4gYXBwCg==\n","encoding":"base64","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/app.py?ref=708fe43a1ee5f4557368dcd66622ec869fe854f9","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/26a77ee3946819fff0bccaf22df1265ea32bc7dc","html":"https://github.com/pangaea-data-publisher/fuji/blob/708fe43a1ee5f4557368dcd66622ec869fe854f9/fuji_server/app.py"}}' + string: '{"name":"app.py","path":"fuji_server/app.py","sha":"26a77ee3946819fff0bccaf22df1265ea32bc7dc","size":1201,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/app.py?ref=9f419b8b1d239da31e09b105f593581cc78e2f15","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/9f419b8b1d239da31e09b105f593581cc78e2f15/fuji_server/app.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/26a77ee3946819fff0bccaf22df1265ea32bc7dc","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/9f419b8b1d239da31e09b105f593581cc78e2f15/fuji_server/app.py","type":"file","content":"IyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiAyMDIwIFBBTkdBRUEgKGh0dHBz\nOi8vd3d3LnBhbmdhZWEuZGUvKQojCiMgU1BEWC1MaWNlbnNlLUlkZW50aWZp\nZXI6IE1JVAoKaW1wb3J0IGpzb24KaW1wb3J0IG9zCmZyb20gcGF0aGxpYiBp\nbXBvcnQgUGF0aAoKaW1wb3J0IGNvbm5leGlvbgpmcm9tIGNvbm5leGlvbi5q\nc29uaWZpZXIgaW1wb3J0IEpzb25pZmllcgpmcm9tIGZsYXNrX2NvcnMgaW1w\nb3J0IENPUlMKZnJvbSB3ZXJremV1Zy5taWRkbGV3YXJlLnByb3h5X2ZpeCBp\nbXBvcnQgUHJveHlGaXgKCmZyb20gZnVqaV9zZXJ2ZXIgaW1wb3J0IGVuY29k\nZXIKCgpkZWYgY3JlYXRlX2FwcChjb25maWcpOgogICAgIiIiCiAgICBGdW5j\ndGlvbiB3aGljaCBpbml0aWFsaXplcyB0aGUgRlVKSSBjb25uZXhpb24gZmxh\nc2sgYXBwIGFuZCByZXR1cm5zIGl0CiAgICAiIiIKICAgICMgeW91IGNhbiBh\nbHNvIHVzZSBUb3JuYWRvIG9yIGdldmVudCBhcyB0aGUgSFRUUCBzZXJ2ZXIs\nIHRvIGRvIHNvIHNldCBzZXJ2ZXIgdG8gdG9ybmFkbyBvciBnZXZlbnQKICAg\nIFJPT1RfRElSID0gUGF0aChfX2ZpbGVfXykucGFyZW50CiAgICBZQU1MX0RJ\nUiA9IGNvbmZpZ1siU0VSVklDRSJdWyJ5YW1sX2RpcmVjdG9yeSJdCiAgICBt\neWpzb25pZmllciA9IEpzb25pZmllcihqc29uLCBjbHM9ZW5jb2Rlci5DdXN0\nb21KU09ORW5jb2RlcikKICAgICMgYXBwID0gY29ubmV4aW9uLkZsYXNrQXBw\nKF9fbmFtZV9fLCBzcGVjaWZpY2F0aW9uX2Rpcj1ZQU1MX0RJUiwganNvbmlm\naWVyPWVuY29kZXIuQ3VzdG9tSnNvbmlmaWVyKQogICAgYXBwID0gY29ubmV4\naW9uLkFwcChfX25hbWVfXywgc3BlY2lmaWNhdGlvbl9kaXI9WUFNTF9ESVIs\nIGpzb25pZmllcj1teWpzb25pZmllcikKCiAgICBBUElfWUFNTCA9IFJPT1Rf\nRElSLmpvaW5wYXRoKFlBTUxfRElSLCBjb25maWdbIlNFUlZJQ0UiXVsib3Bl\nbmFwaV95YW1sIl0pCgogICAgYXBwLmFkZF9hcGkoQVBJX1lBTUwsIHZhbGlk\nYXRlX3Jlc3BvbnNlcz1UcnVlLCBqc29uaWZpZXI9bXlqc29uaWZpZXIpCgog\nICAgYXBwLmFwcC53c2dpX2FwcCA9IFByb3h5Rml4KGFwcC5hcHAud3NnaV9h\ncHAsIHhfZm9yPTEsIHhfaG9zdD0xKQogICAgaWYgb3MuZ2V0ZW52KCJFTkFC\nTEVfQ09SUyIsICJGYWxzZSIpLmxvd2VyKCkgPT0gInRydWUiOgogICAgICAg\nIENPUlMoYXBwLmFwcCkKCiAgICByZXR1cm4gYXBwCg==\n","encoding":"base64","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/app.py?ref=9f419b8b1d239da31e09b105f593581cc78e2f15","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/26a77ee3946819fff0bccaf22df1265ea32bc7dc","html":"https://github.com/pangaea-data-publisher/fuji/blob/9f419b8b1d239da31e09b105f593581cc78e2f15/fuji_server/app.py"}}' headers: Access-Control-Allow-Origin: - '*' @@ -550,11 +688,11 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Fri, 12 Jan 2024 16:17:06 GMT + - Fri, 03 May 2024 13:42:03 GMT ETag: - W/"26a77ee3946819fff0bccaf22df1265ea32bc7dc" Last-Modified: - - Fri, 12 Jan 2024 09:49:41 GMT + - Fri, 03 May 2024 07:27:26 GMT Referrer-Policy: - origin-when-cross-origin, strict-origin-when-cross-origin Server: @@ -575,23 +713,23 @@ interactions: X-GitHub-Media-Type: - github.v3; format=json X-GitHub-Request-Id: - - C704:30375F:FD7900D:1002B081:65A16602 + - 50C9:2D2C78:343BBA1:359C84C:6634E9AB X-OAuth-Scopes: - repo X-RateLimit-Limit: - '5000' X-RateLimit-Remaining: - - '4962' + - '4763' X-RateLimit-Reset: - - '1705078320' + - '1714744789' X-RateLimit-Resource: - core X-RateLimit-Used: - - '38' + - '237' X-XSS-Protection: - '0' github-authentication-token-expiration: - - 2024-03-04 14:01:51 UTC + - 2024-07-08 07:44:52 UTC x-github-api-version-selected: - '2022-11-28' status: @@ -605,16 +743,16 @@ interactions: Accept-Encoding: - gzip, deflate Authorization: - - token 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 + - token ghp_MASKED Connection: - keep-alive User-Agent: - PyGithub/Python method: GET - uri: https://api.github.com/repositories/259678183/contents/docs/source/conf.py?ref=708fe43a1ee5f4557368dcd66622ec869fe854f9 + uri: https://api.github.com/repositories/259678183/contents/docs/source/conf.py?ref=9f419b8b1d239da31e09b105f593581cc78e2f15 response: body: - string: '{"name":"conf.py","path":"docs/source/conf.py","sha":"95e0e43e9ff99c7f1ddc5dc7f4445bbe994ee2b2","size":12443,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/docs/source/conf.py?ref=708fe43a1ee5f4557368dcd66622ec869fe854f9","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/708fe43a1ee5f4557368dcd66622ec869fe854f9/docs/source/conf.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/95e0e43e9ff99c7f1ddc5dc7f4445bbe994ee2b2","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/708fe43a1ee5f4557368dcd66622ec869fe854f9/docs/source/conf.py","type":"file","content":"IwojIEZsZXVyIHBsdWdpbiBkb2N1bWVudGF0aW9uIGJ1aWxkIGNvbmZpZ3Vy\nYXRpb24gZmlsZSwgY3JlYXRlZCBieQojIHNwaGlueC1xdWlja3N0YXJ0IG9u\nIFdlZCBEZWMgIDcgMTY6Mzk6MTIgMjAxNi4KIwojIFRoaXMgZmlsZSBpcyBl\neGVjZmlsZSgpZCB3aXRoIHRoZSBjdXJyZW50IGRpcmVjdG9yeSBzZXQgdG8g\naXRzCiMgY29udGFpbmluZyBkaXIuCiMKIyBOb3RlIHRoYXQgbm90IGFsbCBw\nb3NzaWJsZSBjb25maWd1cmF0aW9uIHZhbHVlcyBhcmUgcHJlc2VudCBpbiB0\naGlzCiMgYXV0b2dlbmVyYXRlZCBmaWxlLgojCiMgQWxsIGNvbmZpZ3VyYXRp\nb24gdmFsdWVzIGhhdmUgYSBkZWZhdWx0OyB2YWx1ZXMgdGhhdCBhcmUgY29t\nbWVudGVkIG91dAojIHNlcnZlIHRvIHNob3cgdGhlIGRlZmF1bHQuCgojIGlt\ncG9ydCBmdWppX3NlcnZlcgppbXBvcnQgb3MKCmZyb20gZnVqaV9zZXJ2ZXIg\naW1wb3J0IF9fdmVyc2lvbl9fCgpQUk9KRUNUTkFNRSA9ICJGdWppIiAgIyB1\nJ0YtdWppIFNlcnZlcicKIyBJZiBleHRlbnNpb25zIChvciBtb2R1bGVzIHRv\nIGRvY3VtZW50IHdpdGggYXV0b2RvYykgYXJlIGluIGFub3RoZXIgZGlyZWN0\nb3J5LAojIGFkZCB0aGVzZSBkaXJlY3RvcmllcyB0byBzeXMucGF0aCBoZXJl\nLiBJZiB0aGUgZGlyZWN0b3J5IGlzIHJlbGF0aXZlIHRvIHRoZQojIGRvY3Vt\nZW50YXRpb24gcm9vdCwgdXNlIG9zLnBhdGguYWJzcGF0aCB0byBtYWtlIGl0\nIGFic29sdXRlLCBsaWtlIHNob3duIGhlcmUuCiMgc3lzLnBhdGguaW5zZXJ0\nKDAsIG9zLnBhdGguYWJzcGF0aCgnLi4vYWlpZGFfZmxldXInKSkKCiMgLS0g\nR2VuZXJhbCBjb25maWd1cmF0aW9uIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t\nLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKIyBJZiB5b3VyIGRvY3VtZW50\nYXRpb24gbmVlZHMgYSBtaW5pbWFsIFNwaGlueCB2ZXJzaW9uLCBzdGF0ZSBp\ndCBoZXJlLgojIG5lZWRzX3NwaGlueCA9ICcxLjAnCgojIEFkZCBhbnkgU3Bo\naW54IGV4dGVuc2lvbiBtb2R1bGUgbmFtZXMgaGVyZSwgYXMgc3RyaW5ncy4g\nVGhleSBjYW4gYmUKIyBleHRlbnNpb25zIGNvbWluZyB3aXRoIFNwaGlueCAo\nbmFtZWQgJ3NwaGlueC5leHQuKicpIG9yIHlvdXIgY3VzdG9tCiMgb25lcy4K\nZXh0ZW5zaW9ucyA9IFsKICAgICJzcGhpbnguZXh0LmF1dG9kb2MiLAogICAg\nInNwaGlueC5leHQubmFwb2xlb24iLAogICAgIydzcGhpbnguZXh0LmRvY3Rl\nc3QnLAogICAgIydzcGhpbnguZXh0LnRvZG8nLAogICAgIydzcGhpbnguZXh0\nLmNvdmVyYWdlJywKICAgICMnc3BoaW54LmV4dC5pbWdtYXRoJywKICAgICMn\nc3BoaW54LmV4dC5pZmNvbmZpZycsCiAgICAic3BoaW54LmV4dC52aWV3Y29k\nZSIsCiAgICAibXlzdF9wYXJzZXIiLAogICAgIydzcGhpbnguZXh0LmludGVy\nc3BoaW54JwpdCgppbnRlcnNwaGlueF9tYXBwaW5nID0geyJudW1weSI6ICgi\naHR0cHM6Ly9udW1weS5vcmcvZG9jL3N0YWJsZS8iLCBOb25lKX0KCnRvZG9f\naW5jbHVkZV90b2RvcyA9IFRydWUKCiMgQWRkIGFueSBwYXRocyB0aGF0IGNv\nbnRhaW4gdGVtcGxhdGVzIGhlcmUsIHJlbGF0aXZlIHRvIHRoaXMgZGlyZWN0\nb3J5Lgp0ZW1wbGF0ZXNfcGF0aCA9IFsiX3RlbXBsYXRlcyJdCgojIFRoZSBz\ndWZmaXggb2Ygc291cmNlIGZpbGVuYW1lcy4Kc291cmNlX3N1ZmZpeCA9ICIu\ncnN0IgoKIyBUaGUgZW5jb2Rpbmcgb2Ygc291cmNlIGZpbGVzLgojIHNvdXJj\nZV9lbmNvZGluZyA9ICd1dGYtOC1zaWcnCgojIFRoZSBtYXN0ZXIgdG9jdHJl\nZSBkb2N1bWVudC4KbWFzdGVyX2RvYyA9ICJpbmRleCIKCiMgR2VuZXJhbCBp\nbmZvcm1hdGlvbiBhYm91dCB0aGUgcHJvamVjdC4KcHJvamVjdCA9IFBST0pF\nQ1ROQU1FCmNvcHlyaWdodCA9ICIyMDIwLXRvZGF5IFBBTkdBRUEiCgojIFRo\nZSB2ZXJzaW9uIGluZm8gZm9yIHRoZSBwcm9qZWN0IHlvdSdyZSBkb2N1bWVu\ndGluZywgYWN0cyBhcyByZXBsYWNlbWVudCBmb3IKIyB8dmVyc2lvbnwgYW5k\nIHxyZWxlYXNlfCwgYWxzbyB1c2VkIGluIHZhcmlvdXMgb3RoZXIgcGxhY2Vz\nIHRocm91Z2hvdXQgdGhlCiMgYnVpbHQgZG9jdW1lbnRzLgp2ZXJzaW9uID0g\nX192ZXJzaW9uX18KcmVsZWFzZSA9IF9fdmVyc2lvbl9fCmF1dGhvciA9ICJU\naGUgRi11amkgYXV0aG9ycyIKCgojIFRoZSBsYW5ndWFnZSBmb3IgY29udGVu\ndCBhdXRvZ2VuZXJhdGVkIGJ5IFNwaGlueC4gUmVmZXIgdG8gZG9jdW1lbnRh\ndGlvbgojIGZvciBhIGxpc3Qgb2Ygc3VwcG9ydGVkIGxhbmd1YWdlcy4KIyBs\nYW5ndWFnZSA9IE5vbmUKCiMgVGhlcmUgYXJlIHR3byBvcHRpb25zIGZvciBy\nZXBsYWNpbmcgfHRvZGF5fDogZWl0aGVyLCB5b3Ugc2V0IHRvZGF5IHRvIHNv\nbWUKIyBub24tZmFsc2UgdmFsdWUsIHRoZW4gaXQgaXMgdXNlZDoKIyB0b2Rh\neSA9ICcnCiMgRWxzZSwgdG9kYXlfZm10IGlzIHVzZWQgYXMgdGhlIGZvcm1h\ndCBmb3IgYSBzdHJmdGltZSBjYWxsLgojIHRvZGF5X2ZtdCA9ICclQiAlZCwg\nJVknCgojIExpc3Qgb2YgcGF0dGVybnMsIHJlbGF0aXZlIHRvIHNvdXJjZSBk\naXJlY3RvcnksIHRoYXQgbWF0Y2ggZmlsZXMgYW5kCiMgZGlyZWN0b3JpZXMg\ndG8gaWdub3JlIHdoZW4gbG9va2luZyBmb3Igc291cmNlIGZpbGVzLgpleGNs\ndWRlX3BhdHRlcm5zID0gWyJfYnVpbGQiXQoKIyBUaGUgcmVTVCBkZWZhdWx0\nIHJvbGUgKHVzZWQgZm9yIHRoaXMgbWFya3VwOiBgdGV4dGApIHRvIHVzZSBm\nb3IgYWxsCiMgZG9jdW1lbnRzLgojIGRlZmF1bHRfcm9sZSA9IE5vbmUKCiMg\nSWYgdHJ1ZSwgJygpJyB3aWxsIGJlIGFwcGVuZGVkIHRvIDpmdW5jOiBldGMu\nIGNyb3NzLXJlZmVyZW5jZSB0ZXh0LgojIGFkZF9mdW5jdGlvbl9wYXJlbnRo\nZXNlcyA9IFRydWUKCiMgSWYgdHJ1ZSwgdGhlIGN1cnJlbnQgbW9kdWxlIG5h\nbWUgd2lsbCBiZSBwcmVwZW5kZWQgdG8gYWxsIGRlc2NyaXB0aW9uCiMgdW5p\ndCB0aXRsZXMgKHN1Y2ggYXMgLi4gZnVuY3Rpb246OikuCiMgYWRkX21vZHVs\nZV9uYW1lcyA9IFRydWUKCiMgSWYgdHJ1ZSwgc2VjdGlvbmF1dGhvciBhbmQg\nbW9kdWxlYXV0aG9yIGRpcmVjdGl2ZXMgd2lsbCBiZSBzaG93biBpbiB0aGUK\nIyBvdXRwdXQuIFRoZXkgYXJlIGlnbm9yZWQgYnkgZGVmYXVsdC4KIyBzaG93\nX2F1dGhvcnMgPSBGYWxzZQoKIyBUaGUgbmFtZSBvZiB0aGUgUHlnbWVudHMg\nKHN5bnRheCBoaWdobGlnaHRpbmcpIHN0eWxlIHRvIHVzZS4KcHlnbWVudHNf\nc3R5bGUgPSAic3BoaW54IgoKIyBBIGxpc3Qgb2YgaWdub3JlZCBwcmVmaXhl\ncyBmb3IgbW9kdWxlIGluZGV4IHNvcnRpbmcuCiMgbW9kaW5kZXhfY29tbW9u\nX3ByZWZpeCA9IFtdCgojIElmIHRydWUsIGtlZXAgd2FybmluZ3MgYXMgInN5\nc3RlbSBtZXNzYWdlIiBwYXJhZ3JhcGhzIGluIHRoZSBidWlsdCBkb2N1bWVu\ndHMuCiMga2VlcF93YXJuaW5ncyA9IEZhbHNlCgoKIyAtLSBPcHRpb25zIGZv\nciBIVE1MIG91dHB1dCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t\nLS0tLS0tLS0tLS0tLS0tCgojIFRoZSB0aGVtZSB0byB1c2UgZm9yIEhUTUwg\nYW5kIEhUTWZMIEhlbHAgcGFnZXMuICBTZWUgdGhlIGRvY3VtZW50YXRpb24g\nZm9yCiMgYSBsaXN0IG9mIGJ1aWx0aW4gdGhlbWVzLgpodG1sX3RoZW1lID0g\nImRlZmF1bHQiCgojIFRoZW1lIG9wdGlvbnMgYXJlIHRoZW1lLXNwZWNpZmlj\nIGFuZCBjdXN0b21pemUgdGhlIGxvb2sgYW5kIGZlZWwgb2YgYSB0aGVtZQoj\nIGZ1cnRoZXIuICBGb3IgYSBsaXN0IG9mIG9wdGlvbnMgYXZhaWxhYmxlIGZv\nciBlYWNoIHRoZW1lLCBzZWUgdGhlCiMgZG9jdW1lbnRhdGlvbi4KIyBodG1s\nX3RoZW1lX29wdGlvbnMgPSB7fQoKIyBBZGQgYW55IHBhdGhzIHRoYXQgY29u\ndGFpbiBjdXN0b20gdGhlbWVzIGhlcmUsIHJlbGF0aXZlIHRvIHRoaXMgZGly\nZWN0b3J5LgojIGh0bWxfdGhlbWVfcGF0aCA9IFtdCgojIFRoZSBuYW1lIGZv\nciB0aGlzIHNldCBvZiBTcGhpbnggZG9jdW1lbnRzLiAgSWYgTm9uZSwgaXQg\nZGVmYXVsdHMgdG8KIyAiPHByb2plY3Q+IHY8cmVsZWFzZT4gZG9jdW1lbnRh\ndGlvbiIuCiMgaHRtbF90aXRsZSA9IE5vbmUKCiMgQSBzaG9ydGVyIHRpdGxl\nIGZvciB0aGUgbmF2aWdhdGlvbiBiYXIuICBEZWZhdWx0IGlzIHRoZSBzYW1l\nIGFzIGh0bWxfdGl0bGUuCiMgaHRtbF9zaG9ydF90aXRsZSA9IE5vbmUKCiMg\nVGhlIG5hbWUgb2YgYW4gaW1hZ2UgZmlsZSAocmVsYXRpdmUgdG8gdGhpcyBk\naXJlY3RvcnkpIHRvIHBsYWNlIGF0IHRoZSB0b3AKIyBvZiB0aGUgc2lkZWJh\nci4KIyBodG1sX2xvZ28gPSBOb25lCgojIFRoZSBuYW1lIG9mIGFuIGltYWdl\nIGZpbGUgKHdpdGhpbiB0aGUgc3RhdGljIHBhdGgpIHRvIHVzZSBhcyBmYXZp\nY29uIG9mIHRoZQojIGRvY3MuICBUaGlzIGZpbGUgc2hvdWxkIGJlIGEgV2lu\nZG93cyBpY29uIGZpbGUgKC5pY28pIGJlaW5nIDE2eDE2IG9yIDMyeDMyCiMg\ncGl4ZWxzIGxhcmdlLgojIGh0bWxfZmF2aWNvbiA9IE5vbmUKCiMgQWRkIGFu\neSBwYXRocyB0aGF0IGNvbnRhaW4gY3VzdG9tIHN0YXRpYyBmaWxlcyAoc3Vj\naCBhcyBzdHlsZSBzaGVldHMpIGhlcmUsCiMgcmVsYXRpdmUgdG8gdGhpcyBk\naXJlY3RvcnkuIFRoZXkgYXJlIGNvcGllZCBhZnRlciB0aGUgYnVpbHRpbiBz\ndGF0aWMgZmlsZXMsCiMgc28gYSBmaWxlIG5hbWVkICJkZWZhdWx0LmNzcyIg\nd2lsbCBvdmVyd3JpdGUgdGhlIGJ1aWx0aW4gImRlZmF1bHQuY3NzIi4KIyBo\ndG1sX3N0YXRpY19wYXRoID0gWydfc3RhdGljJ10KCiMgQWRkIGFueSBleHRy\nYSBwYXRocyB0aGF0IGNvbnRhaW4gY3VzdG9tIGZpbGVzIChzdWNoIGFzIHJv\nYm90cy50eHQgb3IKIyAuaHRhY2Nlc3MpIGhlcmUsIHJlbGF0aXZlIHRvIHRo\naXMgZGlyZWN0b3J5LiBUaGVzZSBmaWxlcyBhcmUgY29waWVkCiMgZGlyZWN0\nbHkgdG8gdGhlIHJvb3Qgb2YgdGhlIGRvY3VtZW50YXRpb24uCiMgaHRtbF9l\neHRyYV9wYXRoID0gW10KCiMgSWYgbm90ICcnLCBhICdMYXN0IHVwZGF0ZWQg\nb246JyB0aW1lc3RhbXAgaXMgaW5zZXJ0ZWQgYXQgZXZlcnkgcGFnZSBib3R0\nb20sCiMgdXNpbmcgdGhlIGdpdmVuIHN0cmZ0aW1lIGZvcm1hdC4KIyBodG1s\nX2xhc3RfdXBkYXRlZF9mbXQgPSAnJWIgJWQsICVZJwoKIyBJZiB0cnVlLCBT\nbWFydHlQYW50cyB3aWxsIGJlIHVzZWQgdG8gY29udmVydCBxdW90ZXMgYW5k\nIGRhc2hlcyB0bwojIHR5cG9ncmFwaGljYWxseSBjb3JyZWN0IGVudGl0aWVz\nLgojIGh0bWxfdXNlX3NtYXJ0eXBhbnRzID0gVHJ1ZQoKIyBDdXN0b20gc2lk\nZWJhciB0ZW1wbGF0ZXMsIG1hcHMgZG9jdW1lbnQgbmFtZXMgdG8gdGVtcGxh\ndGUgbmFtZXMuCiMgaHRtbF9zaWRlYmFycyA9IHt9CgojIEFkZGl0aW9uYWwg\ndGVtcGxhdGVzIHRoYXQgc2hvdWxkIGJlIHJlbmRlcmVkIHRvIHBhZ2VzLCBt\nYXBzIHBhZ2UgbmFtZXMgdG8KIyB0ZW1wbGF0ZSBuYW1lcy4KIyBodG1sX2Fk\nZGl0aW9uYWxfcGFnZXMgPSB7fQoKIyBJZiBmYWxzZSwgbm8gbW9kdWxlIGlu\nZGV4IGlzIGdlbmVyYXRlZC4KIyBodG1sX2RvbWFpbl9pbmRpY2VzID0gVHJ1\nZQoKIyBJZiBmYWxzZSwgbm8gaW5kZXggaXMgZ2VuZXJhdGVkLgojIGh0bWxf\ndXNlX2luZGV4ID0gVHJ1ZQoKIyBJZiB0cnVlLCB0aGUgaW5kZXggaXMgc3Bs\naXQgaW50byBpbmRpdmlkdWFsIHBhZ2VzIGZvciBlYWNoIGxldHRlci4KIyBo\ndG1sX3NwbGl0X2luZGV4ID0gRmFsc2UKCiMgSWYgdHJ1ZSwgbGlua3MgdG8g\ndGhlIHJlU1Qgc291cmNlcyBhcmUgYWRkZWQgdG8gdGhlIHBhZ2VzLgojIGh0\nbWxfc2hvd19zb3VyY2VsaW5rID0gVHJ1ZQoKIyBJZiB0cnVlLCAiQ3JlYXRl\nZCB1c2luZyBTcGhpbngiIGlzIHNob3duIGluIHRoZSBIVE1MIGZvb3Rlci4g\nRGVmYXVsdCBpcyBUcnVlLgojIGh0bWxfc2hvd19zcGhpbnggPSBUcnVlCgoj\nIElmIHRydWUsICIoQykgQ29weXJpZ2h0IC4uLiIgaXMgc2hvd24gaW4gdGhl\nIEhUTUwgZm9vdGVyLiBEZWZhdWx0IGlzIFRydWUuCiMgaHRtbF9zaG93X2Nv\ncHlyaWdodCA9IFRydWUKCiMgSWYgdHJ1ZSwgYW4gT3BlblNlYXJjaCBkZXNj\ncmlwdGlvbiBmaWxlIHdpbGwgYmUgb3V0cHV0LCBhbmQgYWxsIHBhZ2VzIHdp\nbGwKIyBjb250YWluIGEgPGxpbms+IHRhZyByZWZlcnJpbmcgdG8gaXQuICBU\naGUgdmFsdWUgb2YgdGhpcyBvcHRpb24gbXVzdCBiZSB0aGUKIyBiYXNlIFVS\nTCBmcm9tIHdoaWNoIHRoZSBmaW5pc2hlZCBIVE1MIGlzIHNlcnZlZC4KIyBo\ndG1sX3VzZV9vcGVuc2VhcmNoID0gJycKCiMgVGhpcyBpcyB0aGUgZmlsZSBu\nYW1lIHN1ZmZpeCBmb3IgSFRNTCBmaWxlcyAoZS5nLiAiLnhodG1sIikuCiMg\naHRtbF9maWxlX3N1ZmZpeCA9IE5vbmUKCiMgT3V0cHV0IGZpbGUgYmFzZSBu\nYW1lIGZvciBIVE1MIGhlbHAgYnVpbGRlci4KaHRtbGhlbHBfYmFzZW5hbWUg\nPSAiZnVqaS10b29sc2RvYyIKCgojIC0tIE9wdGlvbnMgZm9yIExhVGVYIG91\ndHB1dCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t\nLS0tLS0KCmxhdGV4X2VsZW1lbnRzID0gewogICAgIyBUaGUgcGFwZXIgc2l6\nZSAoJ2xldHRlcnBhcGVyJyBvciAnYTRwYXBlcicpLgogICAgIydwYXBlcnNp\nemUnOiAnbGV0dGVycGFwZXInLAogICAgIyBUaGUgZm9udCBzaXplICgnMTBw\ndCcsICcxMXB0JyBvciAnMTJwdCcpLgogICAgIydwb2ludHNpemUnOiAnMTBw\ndCcsCiAgICAjIEFkZGl0aW9uYWwgc3R1ZmYgZm9yIHRoZSBMYVRlWCBwcmVh\nbWJsZS4KICAgICMncHJlYW1ibGUnOiAnJywKfQoKIyBHcm91cGluZyB0aGUg\nZG9jdW1lbnQgdHJlZSBpbnRvIExhVGVYIGZpbGVzLiBMaXN0IG9mIHR1cGxl\ncwojIChzb3VyY2Ugc3RhcnQgZmlsZSwgdGFyZ2V0IG5hbWUsIHRpdGxlLAoj\nICBhdXRob3IsIGRvY3VtZW50Y2xhc3MgW2hvd3RvLCBtYW51YWwsIG9yIG93\nbiBjbGFzc10pLgpsYXRleF9kb2N1bWVudHMgPSBbCiAgICAoImluZGV4Iiwg\nImZ1amkudGV4IiwgIkZ1amkgRG9jdW1lbnRhdGlvbiIsICJUaGUgRi11amkg\nYXV0aG9ycyIsICJmdWppX21hbnVhbCIpLApdCgojIFRoZSBuYW1lIG9mIGFu\nIGltYWdlIGZpbGUgKHJlbGF0aXZlIHRvIHRoaXMgZGlyZWN0b3J5KSB0byBw\nbGFjZSBhdCB0aGUgdG9wIG9mCiMgdGhlIHRpdGxlIHBhZ2UuCiMgbGF0ZXhf\nbG9nbyA9IE5vbmUKCiMgRm9yICJtYW51YWwiIGRvY3VtZW50cywgaWYgdGhp\ncyBpcyB0cnVlLCB0aGVuIHRvcGxldmVsIGhlYWRpbmdzIGFyZSBwYXJ0cywK\nIyBub3QgY2hhcHRlcnMuCiMgbGF0ZXhfdXNlX3BhcnRzID0gRmFsc2UKCiMg\nSWYgdHJ1ZSwgc2hvdyBwYWdlIHJlZmVyZW5jZXMgYWZ0ZXIgaW50ZXJuYWwg\nbGlua3MuCiMgbGF0ZXhfc2hvd19wYWdlcmVmcyA9IEZhbHNlCgojIElmIHRy\ndWUsIHNob3cgVVJMIGFkZHJlc3NlcyBhZnRlciBleHRlcm5hbCBsaW5rcy4K\nIyBsYXRleF9zaG93X3VybHMgPSBGYWxzZQoKIyBEb2N1bWVudHMgdG8gYXBw\nZW5kIGFzIGFuIGFwcGVuZGl4IHRvIGFsbCBtYW51YWxzLgojIGxhdGV4X2Fw\ncGVuZGljZXMgPSBbXQoKIyBJZiBmYWxzZSwgbm8gbW9kdWxlIGluZGV4IGlz\nIGdlbmVyYXRlZC4KIyBsYXRleF9kb21haW5faW5kaWNlcyA9IFRydWUKCgoj\nIG9uX3J0ZCBpcyB3aGV0aGVyIHdlIGFyZSBvbiByZWFkdGhlZG9jcy5vcmcs\nIHRoaXMgbGluZSBvZiBjb2RlIGdyYWJiZWQKIyBmcm9tIGRvY3MucmVhZHRo\nZWRvY3Mub3JnCm9uX3J0ZCA9IG9zLmVudmlyb24uZ2V0KCJSRUFEVEhFRE9D\nUyIsIE5vbmUpID09ICJUcnVlIiAgIyBweXRob24gMwoKCmlmIG5vdCBvbl9y\ndGQ6ICAjIG9ubHkgaW1wb3J0IGFuZCBzZXQgdGhlIHRoZW1lIGlmIHdlJ3Jl\nIGJ1aWxkaW5nIGRvY3MgbG9jYWxseQogICAgdHJ5OgogICAgICAgIGltcG9y\ndCBzcGhpbnhfcnRkX3RoZW1lCgogICAgICAgIGh0bWxfdGhlbWUgPSAic3Bo\naW54X3J0ZF90aGVtZSIKICAgICAgICBodG1sX3RoZW1lX3BhdGggPSBbc3Bo\naW54X3J0ZF90aGVtZS5nZXRfaHRtbF90aGVtZV9wYXRoKCldCiAgICBleGNl\ncHQgSW1wb3J0RXJyb3I6CiAgICAgICAgIyBObyBzcGhpbnhfcnRkX3RoZW1l\nIGluc3RhbGxlZAogICAgICAgIHBhc3MKCmF1dG9kb2NfbW9ja19pbXBvcnRz\nID0gWyJib2tlaCJdCgojIC0tIE9wdGlvbnMgZm9yIG1hbnVhbCBwYWdlIG91\ndHB1dCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K\nCiMgT25lIGVudHJ5IHBlciBtYW51YWwgcGFnZS4gTGlzdCBvZiB0dXBsZXMK\nIyAoc291cmNlIHN0YXJ0IGZpbGUsIG5hbWUsIGRlc2NyaXB0aW9uLCBhdXRo\nb3JzLCBtYW51YWwgc2VjdGlvbikuCm1hbl9wYWdlcyA9IFsKICAgICgiaW5k\nZXgiLCAiZnVqaS50ZXgiLCAiRnVqaSBEb2N1bWVudGF0aW9uIiwgWyJUaGUg\nRi11amkgYXV0aG9ycyJdLCAxKSwKXQoKIyBJZiB0cnVlLCBzaG93IFVSTCBh\nZGRyZXNzZXMgYWZ0ZXIgZXh0ZXJuYWwgbGlua3MuCiMgbWFuX3Nob3dfdXJs\ncyA9IEZhbHNlCgoKIyAtLSBPcHRpb25zIGZvciBUZXhpbmZvIG91dHB1dCAt\nLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoj\nIEdyb3VwaW5nIHRoZSBkb2N1bWVudCB0cmVlIGludG8gVGV4aW5mbyBmaWxl\ncy4gTGlzdCBvZiB0dXBsZXMKIyAoc291cmNlIHN0YXJ0IGZpbGUsIHRhcmdl\ndCBuYW1lLCB0aXRsZSwgYXV0aG9yLAojICBkaXIgbWVudSBlbnRyeSwgZGVz\nY3JpcHRpb24sIGNhdGVnb3J5KQp0ZXhpbmZvX2RvY3VtZW50cyA9IFsKICAg\nICgKICAgICAgICAiaW5kZXgiLAogICAgICAgICJmdWppIiwKICAgICAgICAi\nRnVqaSBEb2N1bWVudGF0aW9uIiwKICAgICAgICAiVGhlIEZ1amkgYXV0aG9y\ncyIsCiAgICAgICAgImZ1amkiLAogICAgICAgICJGVUpJLCBhIHNlcnZpY2Ug\ndG8gZXZhbHVhdGUgRkFJUiBkYXRhIG9iamVjdHMgYmFzZWQgb24gRkFJUnNG\nQUlSIE1ldHJpY3MiLAogICAgICAgICJNaXNjZWxsYW5lb3VzIiwKICAgICks\nCl0KCiMgRG9jdW1lbnRzIHRvIGFwcGVuZCBhcyBhbiBhcHBlbmRpeCB0byBh\nbGwgbWFudWFscy4KIyB0ZXhpbmZvX2FwcGVuZGljZXMgPSBbXQoKIyBJZiBm\nYWxzZSwgbm8gbW9kdWxlIGluZGV4IGlzIGdlbmVyYXRlZC4KIyB0ZXhpbmZv\nX2RvbWFpbl9pbmRpY2VzID0gVHJ1ZQoKIyBIb3cgdG8gZGlzcGxheSBVUkwg\nYWRkcmVzc2VzOiAnZm9vdG5vdGUnLCAnbm8nLCBvciAnaW5saW5lJy4KIyB0\nZXhpbmZvX3Nob3dfdXJscyA9ICdmb290bm90ZScKCiMgSWYgdHJ1ZSwgZG8g\nbm90IGdlbmVyYXRlIGEgQGRldGFpbG1lbnUgaW4gdGhlICJUb3AiIG5vZGUn\ncyBtZW51LgojIHRleGluZm9fbm9fZGV0YWlsbWVudSA9IEZhbHNlCgojIC0t\nIE9wdGlvbnMgZm9yIEVwdWIgb3V0cHV0IC0tLS0tLS0tLS0tLS0tLS0tLS0t\nLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKIyBCaWJsaW9ncmFw\naGljIER1YmxpbiBDb3JlIGluZm8uCmVwdWJfdGl0bGUgPSBQUk9KRUNUTkFN\nRQplcHViX2F1dGhvciA9IGF1dGhvcgplcHViX3B1Ymxpc2hlciA9IGF1dGhv\ncgplcHViX2NvcHlyaWdodCA9IGNvcHlyaWdodAoKIyBUaGUgbGFuZ3VhZ2Ug\nb2YgdGhlIHRleHQuIEl0IGRlZmF1bHRzIHRvIHRoZSBsYW5ndWFnZSBvcHRp\nb24KIyBvciBlbiBpZiB0aGUgbGFuZ3VhZ2UgaXMgbm90IHNldC4KIyBlcHVi\nX2xhbmd1YWdlID0gJycKCiMgVGhlIHNjaGVtZSBvZiB0aGUgaWRlbnRpZmll\nci4gVHlwaWNhbCBzY2hlbWVzIGFyZSBJU0JOIG9yIFVSTC4KIyBlcHViX3Nj\naGVtZSA9ICcnCgojIFRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgdGV4\ndC4gVGhpcyBjYW4gYmUgYSBJU0JOIG51bWJlcgojIG9yIHRoZSBwcm9qZWN0\nIGhvbWVwYWdlLgojIGVwdWJfaWRlbnRpZmllciA9ICcnCgojIEEgdW5pcXVl\nIGlkZW50aWZpY2F0aW9uIGZvciB0aGUgdGV4dC4KIyBlcHViX3VpZCA9ICcn\nCgojIEEgdHVwbGUgY29udGFpbmluZyB0aGUgY292ZXIgaW1hZ2UgYW5kIGNv\ndmVyIHBhZ2UgaHRtbCB0ZW1wbGF0ZSBmaWxlbmFtZXMuCiMgZXB1Yl9jb3Zl\nciA9ICgpCgojIEhUTUwgZmlsZXMgdGhhdCBzaG91bGQgYmUgaW5zZXJ0ZWQg\nYmVmb3JlIHRoZSBwYWdlcyBjcmVhdGVkIGJ5IHNwaGlueC4KIyBUaGUgZm9y\nbWF0IGlzIGEgbGlzdCBvZiB0dXBsZXMgY29udGFpbmluZyB0aGUgcGF0aCBh\nbmQgdGl0bGUuCiMgZXB1Yl9wcmVfZmlsZXMgPSBbXQoKIyBIVE1MIGZpbGVz\nIHNoYXQgc2hvdWxkIGJlIGluc2VydGVkIGFmdGVyIHRoZSBwYWdlcyBjcmVh\ndGVkIGJ5IHNwaGlueC4KIyBUaGUgZm9ybWF0IGlzIGEgbGlzdCBvZiB0dXBs\nZXMgY29udGFpbmluZyB0aGUgcGF0aCBhbmQgdGl0bGUuCiMgZXB1Yl9wb3N0\nX2ZpbGVzID0gW10KCiMgQSBsaXN0IG9mIGZpbGVzIHRoYXQgc2hvdWxkIG5v\ndCBiZSBwYWNrZWQgaW50byB0aGUgZXB1YiBmaWxlLgojIGVwdWJfZXhjbHVk\nZV9maWxlcyA9IFtdCgojIFRoZSBkZXB0aCBvZiB0aGUgdGFibGUgb2YgY29u\ndGVudHMgaW4gdG9jLm5jeC4KIyBlcHViX3RvY2RlcHRoID0gMwoKCiMgV2Fy\nbmluZ3MgdG8gaWdub3JlIHdoZW4gdXNpbmcgdGhlIC1uIChuaXRwaWNreSkg\nb3B0aW9uCiMgV2Ugc2hvdWxkIGlnbm9yZSBhbnkgcHl0aG9uIGJ1aWx0LWlu\nIGV4Y2VwdGlvbiwgZm9yIGluc3RhbmNlCm5pdHBpY2tfaWdub3JlID0gWwog\nICAgKCJweTpleGMiLCAiQXJpdGhtZXRpY0Vycm9yIiksCiAgICAoInB5OmV4\nYyIsICJBc3NlcnRpb25FcnJvciIpLAogICAgKCJweTpleGMiLCAiQXR0cmli\ndXRlRXJyb3IiKSwKICAgICgicHk6ZXhjIiwgIkJhc2VFeGNlcHRpb24iKSwK\nICAgICgicHk6ZXhjIiwgIkJ1ZmZlckVycm9yIiksCiAgICAoInB5OmV4YyIs\nICJEZXByZWNhdGlvbldhcm5pbmciKSwKICAgICgicHk6ZXhjIiwgIkVPRkVy\ncm9yIiksCiAgICAoInB5OmV4YyIsICJFbnZpcm9ubWVudEVycm9yIiksCiAg\nICAoInB5OmV4YyIsICJFeGNlcHRpb24iKSwKICAgICgicHk6ZXhjIiwgIkZs\nb2F0aW5nUG9pbnRFcnJvciIpLAogICAgKCJweTpleGMiLCAiRnV0dXJlV2Fy\nbmluZyIpLAogICAgKCJweTpleGMiLCAiR2VuZXJhdG9yRXhpdCIpLAogICAg\nKCJweTpleGMiLCAiSU9FcnJvciIpLAogICAgKCJweTpleGMiLCAiSW1wb3J0\nRXJyb3IiKSwKICAgICgicHk6ZXhjIiwgIkltcG9ydFdhcm5pbmciKSwKICAg\nICgicHk6ZXhjIiwgIkluZGVudGF0aW9uRXJyb3IiKSwKICAgICgicHk6ZXhj\nIiwgIkluZGV4RXJyb3IiKSwKICAgICgicHk6ZXhjIiwgIktleUVycm9yIiks\nCiAgICAoInB5OmV4YyIsICJLZXlib2FyZEludGVycnVwdCIpLAogICAgKCJw\neTpleGMiLCAiTG9va3VwRXJyb3IiKSwKICAgICgicHk6ZXhjIiwgIk1lbW9y\neUVycm9yIiksCiAgICAoInB5OmV4YyIsICJOYW1lRXJyb3IiKSwKICAgICgi\ncHk6ZXhjIiwgIk5vdEltcGxlbWVudGVkRXJyb3IiKSwKICAgICgicHk6ZXhj\nIiwgIk9TRXJyb3IiKSwKICAgICgicHk6ZXhjIiwgIk92ZXJmbG93RXJyb3Ii\nKSwKICAgICgicHk6ZXhjIiwgIlBlbmRpbmdEZXByZWNhdGlvbldhcm5pbmci\nKSwKICAgICgicHk6ZXhjIiwgIlJlZmVyZW5jZUVycm9yIiksCiAgICAoInB5\nOmV4YyIsICJSdW50aW1lRXJyb3IiKSwKICAgICgicHk6ZXhjIiwgIlJ1bnRp\nbWVXYXJuaW5nIiksCiAgICAoInB5OmV4YyIsICJTdGFuZGFyZEVycm9yIiks\nCiAgICAoInB5OmV4YyIsICJTdG9wSXRlcmF0aW9uIiksCiAgICAoInB5OmV4\nYyIsICJTeW50YXhFcnJvciIpLAogICAgKCJweTpleGMiLCAiU3ludGF4V2Fy\nbmluZyIpLAogICAgKCJweTpleGMiLCAiU3lzdGVtRXJyb3IiKSwKICAgICgi\ncHk6ZXhjIiwgIlN5c3RlbUV4aXQiKSwKICAgICgicHk6ZXhjIiwgIlRhYkVy\ncm9yIiksCiAgICAoInB5OmV4YyIsICJUeXBlRXJyb3IiKSwKICAgICgicHk6\nZXhjIiwgIlVuYm91bmRMb2NhbEVycm9yIiksCiAgICAoInB5OmV4YyIsICJV\nbmljb2RlRGVjb2RlRXJyb3IiKSwKICAgICgicHk6ZXhjIiwgIlVuaWNvZGVF\nbmNvZGVFcnJvciIpLAogICAgKCJweTpleGMiLCAiVW5pY29kZUVycm9yIiks\nCiAgICAoInB5OmV4YyIsICJVbmljb2RlVHJhbnNsYXRlRXJyb3IiKSwKICAg\nICgicHk6ZXhjIiwgIlVuaWNvZGVXYXJuaW5nIiksCiAgICAoInB5OmV4YyIs\nICJVc2VyV2FybmluZyIpLAogICAgKCJweTpleGMiLCAiVk1TRXJyb3IiKSwK\nICAgICgicHk6ZXhjIiwgIlZhbHVlRXJyb3IiKSwKICAgICgicHk6ZXhjIiwg\nIldhcm5pbmciKSwKICAgICgicHk6ZXhjIiwgIldpbmRvd3NFcnJvciIpLAog\nICAgKCJweTpleGMiLCAiWmVyb0RpdmlzaW9uRXJyb3IiKSwKICAgICgicHk6\nb2JqIiwgInN0ciIpLAogICAgKCJweTpvYmoiLCAibGlzdCIpLAogICAgKCJw\neTpvYmoiLCAidHVwbGUiKSwKICAgICgicHk6b2JqIiwgImludCIpLAogICAg\nKCJweTpvYmoiLCAiZmxvYXQiKSwKICAgICgicHk6b2JqIiwgImJvb2wiKSwK\nICAgICgicHk6b2JqIiwgIk1hcHBpbmciKSwKXQoKIyBodG1sX2NvbnRleHQg\nPSB7CiMgICAgJ2Nzc19maWxlcyc6IFsKIyAgICAgICAgJ19zdGF0aWMvdGhl\nbWVfb3ZlcnJpZGVzLmNzcycsICAjIG92ZXJyaWRlIHdpZGUgdGFibGVzIGlu\nIFJURCB0aGVtZQojICAgIF0sCiMgfQo=\n","encoding":"base64","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/docs/source/conf.py?ref=708fe43a1ee5f4557368dcd66622ec869fe854f9","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/95e0e43e9ff99c7f1ddc5dc7f4445bbe994ee2b2","html":"https://github.com/pangaea-data-publisher/fuji/blob/708fe43a1ee5f4557368dcd66622ec869fe854f9/docs/source/conf.py"}}' + string: '{"name":"conf.py","path":"docs/source/conf.py","sha":"95e0e43e9ff99c7f1ddc5dc7f4445bbe994ee2b2","size":12443,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/docs/source/conf.py?ref=9f419b8b1d239da31e09b105f593581cc78e2f15","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/9f419b8b1d239da31e09b105f593581cc78e2f15/docs/source/conf.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/95e0e43e9ff99c7f1ddc5dc7f4445bbe994ee2b2","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/9f419b8b1d239da31e09b105f593581cc78e2f15/docs/source/conf.py","type":"file","content":"IwojIEZsZXVyIHBsdWdpbiBkb2N1bWVudGF0aW9uIGJ1aWxkIGNvbmZpZ3Vy\nYXRpb24gZmlsZSwgY3JlYXRlZCBieQojIHNwaGlueC1xdWlja3N0YXJ0IG9u\nIFdlZCBEZWMgIDcgMTY6Mzk6MTIgMjAxNi4KIwojIFRoaXMgZmlsZSBpcyBl\neGVjZmlsZSgpZCB3aXRoIHRoZSBjdXJyZW50IGRpcmVjdG9yeSBzZXQgdG8g\naXRzCiMgY29udGFpbmluZyBkaXIuCiMKIyBOb3RlIHRoYXQgbm90IGFsbCBw\nb3NzaWJsZSBjb25maWd1cmF0aW9uIHZhbHVlcyBhcmUgcHJlc2VudCBpbiB0\naGlzCiMgYXV0b2dlbmVyYXRlZCBmaWxlLgojCiMgQWxsIGNvbmZpZ3VyYXRp\nb24gdmFsdWVzIGhhdmUgYSBkZWZhdWx0OyB2YWx1ZXMgdGhhdCBhcmUgY29t\nbWVudGVkIG91dAojIHNlcnZlIHRvIHNob3cgdGhlIGRlZmF1bHQuCgojIGlt\ncG9ydCBmdWppX3NlcnZlcgppbXBvcnQgb3MKCmZyb20gZnVqaV9zZXJ2ZXIg\naW1wb3J0IF9fdmVyc2lvbl9fCgpQUk9KRUNUTkFNRSA9ICJGdWppIiAgIyB1\nJ0YtdWppIFNlcnZlcicKIyBJZiBleHRlbnNpb25zIChvciBtb2R1bGVzIHRv\nIGRvY3VtZW50IHdpdGggYXV0b2RvYykgYXJlIGluIGFub3RoZXIgZGlyZWN0\nb3J5LAojIGFkZCB0aGVzZSBkaXJlY3RvcmllcyB0byBzeXMucGF0aCBoZXJl\nLiBJZiB0aGUgZGlyZWN0b3J5IGlzIHJlbGF0aXZlIHRvIHRoZQojIGRvY3Vt\nZW50YXRpb24gcm9vdCwgdXNlIG9zLnBhdGguYWJzcGF0aCB0byBtYWtlIGl0\nIGFic29sdXRlLCBsaWtlIHNob3duIGhlcmUuCiMgc3lzLnBhdGguaW5zZXJ0\nKDAsIG9zLnBhdGguYWJzcGF0aCgnLi4vYWlpZGFfZmxldXInKSkKCiMgLS0g\nR2VuZXJhbCBjb25maWd1cmF0aW9uIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t\nLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKIyBJZiB5b3VyIGRvY3VtZW50\nYXRpb24gbmVlZHMgYSBtaW5pbWFsIFNwaGlueCB2ZXJzaW9uLCBzdGF0ZSBp\ndCBoZXJlLgojIG5lZWRzX3NwaGlueCA9ICcxLjAnCgojIEFkZCBhbnkgU3Bo\naW54IGV4dGVuc2lvbiBtb2R1bGUgbmFtZXMgaGVyZSwgYXMgc3RyaW5ncy4g\nVGhleSBjYW4gYmUKIyBleHRlbnNpb25zIGNvbWluZyB3aXRoIFNwaGlueCAo\nbmFtZWQgJ3NwaGlueC5leHQuKicpIG9yIHlvdXIgY3VzdG9tCiMgb25lcy4K\nZXh0ZW5zaW9ucyA9IFsKICAgICJzcGhpbnguZXh0LmF1dG9kb2MiLAogICAg\nInNwaGlueC5leHQubmFwb2xlb24iLAogICAgIydzcGhpbnguZXh0LmRvY3Rl\nc3QnLAogICAgIydzcGhpbnguZXh0LnRvZG8nLAogICAgIydzcGhpbnguZXh0\nLmNvdmVyYWdlJywKICAgICMnc3BoaW54LmV4dC5pbWdtYXRoJywKICAgICMn\nc3BoaW54LmV4dC5pZmNvbmZpZycsCiAgICAic3BoaW54LmV4dC52aWV3Y29k\nZSIsCiAgICAibXlzdF9wYXJzZXIiLAogICAgIydzcGhpbnguZXh0LmludGVy\nc3BoaW54JwpdCgppbnRlcnNwaGlueF9tYXBwaW5nID0geyJudW1weSI6ICgi\naHR0cHM6Ly9udW1weS5vcmcvZG9jL3N0YWJsZS8iLCBOb25lKX0KCnRvZG9f\naW5jbHVkZV90b2RvcyA9IFRydWUKCiMgQWRkIGFueSBwYXRocyB0aGF0IGNv\nbnRhaW4gdGVtcGxhdGVzIGhlcmUsIHJlbGF0aXZlIHRvIHRoaXMgZGlyZWN0\nb3J5Lgp0ZW1wbGF0ZXNfcGF0aCA9IFsiX3RlbXBsYXRlcyJdCgojIFRoZSBz\ndWZmaXggb2Ygc291cmNlIGZpbGVuYW1lcy4Kc291cmNlX3N1ZmZpeCA9ICIu\ncnN0IgoKIyBUaGUgZW5jb2Rpbmcgb2Ygc291cmNlIGZpbGVzLgojIHNvdXJj\nZV9lbmNvZGluZyA9ICd1dGYtOC1zaWcnCgojIFRoZSBtYXN0ZXIgdG9jdHJl\nZSBkb2N1bWVudC4KbWFzdGVyX2RvYyA9ICJpbmRleCIKCiMgR2VuZXJhbCBp\nbmZvcm1hdGlvbiBhYm91dCB0aGUgcHJvamVjdC4KcHJvamVjdCA9IFBST0pF\nQ1ROQU1FCmNvcHlyaWdodCA9ICIyMDIwLXRvZGF5IFBBTkdBRUEiCgojIFRo\nZSB2ZXJzaW9uIGluZm8gZm9yIHRoZSBwcm9qZWN0IHlvdSdyZSBkb2N1bWVu\ndGluZywgYWN0cyBhcyByZXBsYWNlbWVudCBmb3IKIyB8dmVyc2lvbnwgYW5k\nIHxyZWxlYXNlfCwgYWxzbyB1c2VkIGluIHZhcmlvdXMgb3RoZXIgcGxhY2Vz\nIHRocm91Z2hvdXQgdGhlCiMgYnVpbHQgZG9jdW1lbnRzLgp2ZXJzaW9uID0g\nX192ZXJzaW9uX18KcmVsZWFzZSA9IF9fdmVyc2lvbl9fCmF1dGhvciA9ICJU\naGUgRi11amkgYXV0aG9ycyIKCgojIFRoZSBsYW5ndWFnZSBmb3IgY29udGVu\ndCBhdXRvZ2VuZXJhdGVkIGJ5IFNwaGlueC4gUmVmZXIgdG8gZG9jdW1lbnRh\ndGlvbgojIGZvciBhIGxpc3Qgb2Ygc3VwcG9ydGVkIGxhbmd1YWdlcy4KIyBs\nYW5ndWFnZSA9IE5vbmUKCiMgVGhlcmUgYXJlIHR3byBvcHRpb25zIGZvciBy\nZXBsYWNpbmcgfHRvZGF5fDogZWl0aGVyLCB5b3Ugc2V0IHRvZGF5IHRvIHNv\nbWUKIyBub24tZmFsc2UgdmFsdWUsIHRoZW4gaXQgaXMgdXNlZDoKIyB0b2Rh\neSA9ICcnCiMgRWxzZSwgdG9kYXlfZm10IGlzIHVzZWQgYXMgdGhlIGZvcm1h\ndCBmb3IgYSBzdHJmdGltZSBjYWxsLgojIHRvZGF5X2ZtdCA9ICclQiAlZCwg\nJVknCgojIExpc3Qgb2YgcGF0dGVybnMsIHJlbGF0aXZlIHRvIHNvdXJjZSBk\naXJlY3RvcnksIHRoYXQgbWF0Y2ggZmlsZXMgYW5kCiMgZGlyZWN0b3JpZXMg\ndG8gaWdub3JlIHdoZW4gbG9va2luZyBmb3Igc291cmNlIGZpbGVzLgpleGNs\ndWRlX3BhdHRlcm5zID0gWyJfYnVpbGQiXQoKIyBUaGUgcmVTVCBkZWZhdWx0\nIHJvbGUgKHVzZWQgZm9yIHRoaXMgbWFya3VwOiBgdGV4dGApIHRvIHVzZSBm\nb3IgYWxsCiMgZG9jdW1lbnRzLgojIGRlZmF1bHRfcm9sZSA9IE5vbmUKCiMg\nSWYgdHJ1ZSwgJygpJyB3aWxsIGJlIGFwcGVuZGVkIHRvIDpmdW5jOiBldGMu\nIGNyb3NzLXJlZmVyZW5jZSB0ZXh0LgojIGFkZF9mdW5jdGlvbl9wYXJlbnRo\nZXNlcyA9IFRydWUKCiMgSWYgdHJ1ZSwgdGhlIGN1cnJlbnQgbW9kdWxlIG5h\nbWUgd2lsbCBiZSBwcmVwZW5kZWQgdG8gYWxsIGRlc2NyaXB0aW9uCiMgdW5p\ndCB0aXRsZXMgKHN1Y2ggYXMgLi4gZnVuY3Rpb246OikuCiMgYWRkX21vZHVs\nZV9uYW1lcyA9IFRydWUKCiMgSWYgdHJ1ZSwgc2VjdGlvbmF1dGhvciBhbmQg\nbW9kdWxlYXV0aG9yIGRpcmVjdGl2ZXMgd2lsbCBiZSBzaG93biBpbiB0aGUK\nIyBvdXRwdXQuIFRoZXkgYXJlIGlnbm9yZWQgYnkgZGVmYXVsdC4KIyBzaG93\nX2F1dGhvcnMgPSBGYWxzZQoKIyBUaGUgbmFtZSBvZiB0aGUgUHlnbWVudHMg\nKHN5bnRheCBoaWdobGlnaHRpbmcpIHN0eWxlIHRvIHVzZS4KcHlnbWVudHNf\nc3R5bGUgPSAic3BoaW54IgoKIyBBIGxpc3Qgb2YgaWdub3JlZCBwcmVmaXhl\ncyBmb3IgbW9kdWxlIGluZGV4IHNvcnRpbmcuCiMgbW9kaW5kZXhfY29tbW9u\nX3ByZWZpeCA9IFtdCgojIElmIHRydWUsIGtlZXAgd2FybmluZ3MgYXMgInN5\nc3RlbSBtZXNzYWdlIiBwYXJhZ3JhcGhzIGluIHRoZSBidWlsdCBkb2N1bWVu\ndHMuCiMga2VlcF93YXJuaW5ncyA9IEZhbHNlCgoKIyAtLSBPcHRpb25zIGZv\nciBIVE1MIG91dHB1dCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t\nLS0tLS0tLS0tLS0tLS0tCgojIFRoZSB0aGVtZSB0byB1c2UgZm9yIEhUTUwg\nYW5kIEhUTWZMIEhlbHAgcGFnZXMuICBTZWUgdGhlIGRvY3VtZW50YXRpb24g\nZm9yCiMgYSBsaXN0IG9mIGJ1aWx0aW4gdGhlbWVzLgpodG1sX3RoZW1lID0g\nImRlZmF1bHQiCgojIFRoZW1lIG9wdGlvbnMgYXJlIHRoZW1lLXNwZWNpZmlj\nIGFuZCBjdXN0b21pemUgdGhlIGxvb2sgYW5kIGZlZWwgb2YgYSB0aGVtZQoj\nIGZ1cnRoZXIuICBGb3IgYSBsaXN0IG9mIG9wdGlvbnMgYXZhaWxhYmxlIGZv\nciBlYWNoIHRoZW1lLCBzZWUgdGhlCiMgZG9jdW1lbnRhdGlvbi4KIyBodG1s\nX3RoZW1lX29wdGlvbnMgPSB7fQoKIyBBZGQgYW55IHBhdGhzIHRoYXQgY29u\ndGFpbiBjdXN0b20gdGhlbWVzIGhlcmUsIHJlbGF0aXZlIHRvIHRoaXMgZGly\nZWN0b3J5LgojIGh0bWxfdGhlbWVfcGF0aCA9IFtdCgojIFRoZSBuYW1lIGZv\nciB0aGlzIHNldCBvZiBTcGhpbnggZG9jdW1lbnRzLiAgSWYgTm9uZSwgaXQg\nZGVmYXVsdHMgdG8KIyAiPHByb2plY3Q+IHY8cmVsZWFzZT4gZG9jdW1lbnRh\ndGlvbiIuCiMgaHRtbF90aXRsZSA9IE5vbmUKCiMgQSBzaG9ydGVyIHRpdGxl\nIGZvciB0aGUgbmF2aWdhdGlvbiBiYXIuICBEZWZhdWx0IGlzIHRoZSBzYW1l\nIGFzIGh0bWxfdGl0bGUuCiMgaHRtbF9zaG9ydF90aXRsZSA9IE5vbmUKCiMg\nVGhlIG5hbWUgb2YgYW4gaW1hZ2UgZmlsZSAocmVsYXRpdmUgdG8gdGhpcyBk\naXJlY3RvcnkpIHRvIHBsYWNlIGF0IHRoZSB0b3AKIyBvZiB0aGUgc2lkZWJh\nci4KIyBodG1sX2xvZ28gPSBOb25lCgojIFRoZSBuYW1lIG9mIGFuIGltYWdl\nIGZpbGUgKHdpdGhpbiB0aGUgc3RhdGljIHBhdGgpIHRvIHVzZSBhcyBmYXZp\nY29uIG9mIHRoZQojIGRvY3MuICBUaGlzIGZpbGUgc2hvdWxkIGJlIGEgV2lu\nZG93cyBpY29uIGZpbGUgKC5pY28pIGJlaW5nIDE2eDE2IG9yIDMyeDMyCiMg\ncGl4ZWxzIGxhcmdlLgojIGh0bWxfZmF2aWNvbiA9IE5vbmUKCiMgQWRkIGFu\neSBwYXRocyB0aGF0IGNvbnRhaW4gY3VzdG9tIHN0YXRpYyBmaWxlcyAoc3Vj\naCBhcyBzdHlsZSBzaGVldHMpIGhlcmUsCiMgcmVsYXRpdmUgdG8gdGhpcyBk\naXJlY3RvcnkuIFRoZXkgYXJlIGNvcGllZCBhZnRlciB0aGUgYnVpbHRpbiBz\ndGF0aWMgZmlsZXMsCiMgc28gYSBmaWxlIG5hbWVkICJkZWZhdWx0LmNzcyIg\nd2lsbCBvdmVyd3JpdGUgdGhlIGJ1aWx0aW4gImRlZmF1bHQuY3NzIi4KIyBo\ndG1sX3N0YXRpY19wYXRoID0gWydfc3RhdGljJ10KCiMgQWRkIGFueSBleHRy\nYSBwYXRocyB0aGF0IGNvbnRhaW4gY3VzdG9tIGZpbGVzIChzdWNoIGFzIHJv\nYm90cy50eHQgb3IKIyAuaHRhY2Nlc3MpIGhlcmUsIHJlbGF0aXZlIHRvIHRo\naXMgZGlyZWN0b3J5LiBUaGVzZSBmaWxlcyBhcmUgY29waWVkCiMgZGlyZWN0\nbHkgdG8gdGhlIHJvb3Qgb2YgdGhlIGRvY3VtZW50YXRpb24uCiMgaHRtbF9l\neHRyYV9wYXRoID0gW10KCiMgSWYgbm90ICcnLCBhICdMYXN0IHVwZGF0ZWQg\nb246JyB0aW1lc3RhbXAgaXMgaW5zZXJ0ZWQgYXQgZXZlcnkgcGFnZSBib3R0\nb20sCiMgdXNpbmcgdGhlIGdpdmVuIHN0cmZ0aW1lIGZvcm1hdC4KIyBodG1s\nX2xhc3RfdXBkYXRlZF9mbXQgPSAnJWIgJWQsICVZJwoKIyBJZiB0cnVlLCBT\nbWFydHlQYW50cyB3aWxsIGJlIHVzZWQgdG8gY29udmVydCBxdW90ZXMgYW5k\nIGRhc2hlcyB0bwojIHR5cG9ncmFwaGljYWxseSBjb3JyZWN0IGVudGl0aWVz\nLgojIGh0bWxfdXNlX3NtYXJ0eXBhbnRzID0gVHJ1ZQoKIyBDdXN0b20gc2lk\nZWJhciB0ZW1wbGF0ZXMsIG1hcHMgZG9jdW1lbnQgbmFtZXMgdG8gdGVtcGxh\ndGUgbmFtZXMuCiMgaHRtbF9zaWRlYmFycyA9IHt9CgojIEFkZGl0aW9uYWwg\ndGVtcGxhdGVzIHRoYXQgc2hvdWxkIGJlIHJlbmRlcmVkIHRvIHBhZ2VzLCBt\nYXBzIHBhZ2UgbmFtZXMgdG8KIyB0ZW1wbGF0ZSBuYW1lcy4KIyBodG1sX2Fk\nZGl0aW9uYWxfcGFnZXMgPSB7fQoKIyBJZiBmYWxzZSwgbm8gbW9kdWxlIGlu\nZGV4IGlzIGdlbmVyYXRlZC4KIyBodG1sX2RvbWFpbl9pbmRpY2VzID0gVHJ1\nZQoKIyBJZiBmYWxzZSwgbm8gaW5kZXggaXMgZ2VuZXJhdGVkLgojIGh0bWxf\ndXNlX2luZGV4ID0gVHJ1ZQoKIyBJZiB0cnVlLCB0aGUgaW5kZXggaXMgc3Bs\naXQgaW50byBpbmRpdmlkdWFsIHBhZ2VzIGZvciBlYWNoIGxldHRlci4KIyBo\ndG1sX3NwbGl0X2luZGV4ID0gRmFsc2UKCiMgSWYgdHJ1ZSwgbGlua3MgdG8g\ndGhlIHJlU1Qgc291cmNlcyBhcmUgYWRkZWQgdG8gdGhlIHBhZ2VzLgojIGh0\nbWxfc2hvd19zb3VyY2VsaW5rID0gVHJ1ZQoKIyBJZiB0cnVlLCAiQ3JlYXRl\nZCB1c2luZyBTcGhpbngiIGlzIHNob3duIGluIHRoZSBIVE1MIGZvb3Rlci4g\nRGVmYXVsdCBpcyBUcnVlLgojIGh0bWxfc2hvd19zcGhpbnggPSBUcnVlCgoj\nIElmIHRydWUsICIoQykgQ29weXJpZ2h0IC4uLiIgaXMgc2hvd24gaW4gdGhl\nIEhUTUwgZm9vdGVyLiBEZWZhdWx0IGlzIFRydWUuCiMgaHRtbF9zaG93X2Nv\ncHlyaWdodCA9IFRydWUKCiMgSWYgdHJ1ZSwgYW4gT3BlblNlYXJjaCBkZXNj\ncmlwdGlvbiBmaWxlIHdpbGwgYmUgb3V0cHV0LCBhbmQgYWxsIHBhZ2VzIHdp\nbGwKIyBjb250YWluIGEgPGxpbms+IHRhZyByZWZlcnJpbmcgdG8gaXQuICBU\naGUgdmFsdWUgb2YgdGhpcyBvcHRpb24gbXVzdCBiZSB0aGUKIyBiYXNlIFVS\nTCBmcm9tIHdoaWNoIHRoZSBmaW5pc2hlZCBIVE1MIGlzIHNlcnZlZC4KIyBo\ndG1sX3VzZV9vcGVuc2VhcmNoID0gJycKCiMgVGhpcyBpcyB0aGUgZmlsZSBu\nYW1lIHN1ZmZpeCBmb3IgSFRNTCBmaWxlcyAoZS5nLiAiLnhodG1sIikuCiMg\naHRtbF9maWxlX3N1ZmZpeCA9IE5vbmUKCiMgT3V0cHV0IGZpbGUgYmFzZSBu\nYW1lIGZvciBIVE1MIGhlbHAgYnVpbGRlci4KaHRtbGhlbHBfYmFzZW5hbWUg\nPSAiZnVqaS10b29sc2RvYyIKCgojIC0tIE9wdGlvbnMgZm9yIExhVGVYIG91\ndHB1dCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t\nLS0tLS0KCmxhdGV4X2VsZW1lbnRzID0gewogICAgIyBUaGUgcGFwZXIgc2l6\nZSAoJ2xldHRlcnBhcGVyJyBvciAnYTRwYXBlcicpLgogICAgIydwYXBlcnNp\nemUnOiAnbGV0dGVycGFwZXInLAogICAgIyBUaGUgZm9udCBzaXplICgnMTBw\ndCcsICcxMXB0JyBvciAnMTJwdCcpLgogICAgIydwb2ludHNpemUnOiAnMTBw\ndCcsCiAgICAjIEFkZGl0aW9uYWwgc3R1ZmYgZm9yIHRoZSBMYVRlWCBwcmVh\nbWJsZS4KICAgICMncHJlYW1ibGUnOiAnJywKfQoKIyBHcm91cGluZyB0aGUg\nZG9jdW1lbnQgdHJlZSBpbnRvIExhVGVYIGZpbGVzLiBMaXN0IG9mIHR1cGxl\ncwojIChzb3VyY2Ugc3RhcnQgZmlsZSwgdGFyZ2V0IG5hbWUsIHRpdGxlLAoj\nICBhdXRob3IsIGRvY3VtZW50Y2xhc3MgW2hvd3RvLCBtYW51YWwsIG9yIG93\nbiBjbGFzc10pLgpsYXRleF9kb2N1bWVudHMgPSBbCiAgICAoImluZGV4Iiwg\nImZ1amkudGV4IiwgIkZ1amkgRG9jdW1lbnRhdGlvbiIsICJUaGUgRi11amkg\nYXV0aG9ycyIsICJmdWppX21hbnVhbCIpLApdCgojIFRoZSBuYW1lIG9mIGFu\nIGltYWdlIGZpbGUgKHJlbGF0aXZlIHRvIHRoaXMgZGlyZWN0b3J5KSB0byBw\nbGFjZSBhdCB0aGUgdG9wIG9mCiMgdGhlIHRpdGxlIHBhZ2UuCiMgbGF0ZXhf\nbG9nbyA9IE5vbmUKCiMgRm9yICJtYW51YWwiIGRvY3VtZW50cywgaWYgdGhp\ncyBpcyB0cnVlLCB0aGVuIHRvcGxldmVsIGhlYWRpbmdzIGFyZSBwYXJ0cywK\nIyBub3QgY2hhcHRlcnMuCiMgbGF0ZXhfdXNlX3BhcnRzID0gRmFsc2UKCiMg\nSWYgdHJ1ZSwgc2hvdyBwYWdlIHJlZmVyZW5jZXMgYWZ0ZXIgaW50ZXJuYWwg\nbGlua3MuCiMgbGF0ZXhfc2hvd19wYWdlcmVmcyA9IEZhbHNlCgojIElmIHRy\ndWUsIHNob3cgVVJMIGFkZHJlc3NlcyBhZnRlciBleHRlcm5hbCBsaW5rcy4K\nIyBsYXRleF9zaG93X3VybHMgPSBGYWxzZQoKIyBEb2N1bWVudHMgdG8gYXBw\nZW5kIGFzIGFuIGFwcGVuZGl4IHRvIGFsbCBtYW51YWxzLgojIGxhdGV4X2Fw\ncGVuZGljZXMgPSBbXQoKIyBJZiBmYWxzZSwgbm8gbW9kdWxlIGluZGV4IGlz\nIGdlbmVyYXRlZC4KIyBsYXRleF9kb21haW5faW5kaWNlcyA9IFRydWUKCgoj\nIG9uX3J0ZCBpcyB3aGV0aGVyIHdlIGFyZSBvbiByZWFkdGhlZG9jcy5vcmcs\nIHRoaXMgbGluZSBvZiBjb2RlIGdyYWJiZWQKIyBmcm9tIGRvY3MucmVhZHRo\nZWRvY3Mub3JnCm9uX3J0ZCA9IG9zLmVudmlyb24uZ2V0KCJSRUFEVEhFRE9D\nUyIsIE5vbmUpID09ICJUcnVlIiAgIyBweXRob24gMwoKCmlmIG5vdCBvbl9y\ndGQ6ICAjIG9ubHkgaW1wb3J0IGFuZCBzZXQgdGhlIHRoZW1lIGlmIHdlJ3Jl\nIGJ1aWxkaW5nIGRvY3MgbG9jYWxseQogICAgdHJ5OgogICAgICAgIGltcG9y\ndCBzcGhpbnhfcnRkX3RoZW1lCgogICAgICAgIGh0bWxfdGhlbWUgPSAic3Bo\naW54X3J0ZF90aGVtZSIKICAgICAgICBodG1sX3RoZW1lX3BhdGggPSBbc3Bo\naW54X3J0ZF90aGVtZS5nZXRfaHRtbF90aGVtZV9wYXRoKCldCiAgICBleGNl\ncHQgSW1wb3J0RXJyb3I6CiAgICAgICAgIyBObyBzcGhpbnhfcnRkX3RoZW1l\nIGluc3RhbGxlZAogICAgICAgIHBhc3MKCmF1dG9kb2NfbW9ja19pbXBvcnRz\nID0gWyJib2tlaCJdCgojIC0tIE9wdGlvbnMgZm9yIG1hbnVhbCBwYWdlIG91\ndHB1dCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K\nCiMgT25lIGVudHJ5IHBlciBtYW51YWwgcGFnZS4gTGlzdCBvZiB0dXBsZXMK\nIyAoc291cmNlIHN0YXJ0IGZpbGUsIG5hbWUsIGRlc2NyaXB0aW9uLCBhdXRo\nb3JzLCBtYW51YWwgc2VjdGlvbikuCm1hbl9wYWdlcyA9IFsKICAgICgiaW5k\nZXgiLCAiZnVqaS50ZXgiLCAiRnVqaSBEb2N1bWVudGF0aW9uIiwgWyJUaGUg\nRi11amkgYXV0aG9ycyJdLCAxKSwKXQoKIyBJZiB0cnVlLCBzaG93IFVSTCBh\nZGRyZXNzZXMgYWZ0ZXIgZXh0ZXJuYWwgbGlua3MuCiMgbWFuX3Nob3dfdXJs\ncyA9IEZhbHNlCgoKIyAtLSBPcHRpb25zIGZvciBUZXhpbmZvIG91dHB1dCAt\nLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoj\nIEdyb3VwaW5nIHRoZSBkb2N1bWVudCB0cmVlIGludG8gVGV4aW5mbyBmaWxl\ncy4gTGlzdCBvZiB0dXBsZXMKIyAoc291cmNlIHN0YXJ0IGZpbGUsIHRhcmdl\ndCBuYW1lLCB0aXRsZSwgYXV0aG9yLAojICBkaXIgbWVudSBlbnRyeSwgZGVz\nY3JpcHRpb24sIGNhdGVnb3J5KQp0ZXhpbmZvX2RvY3VtZW50cyA9IFsKICAg\nICgKICAgICAgICAiaW5kZXgiLAogICAgICAgICJmdWppIiwKICAgICAgICAi\nRnVqaSBEb2N1bWVudGF0aW9uIiwKICAgICAgICAiVGhlIEZ1amkgYXV0aG9y\ncyIsCiAgICAgICAgImZ1amkiLAogICAgICAgICJGVUpJLCBhIHNlcnZpY2Ug\ndG8gZXZhbHVhdGUgRkFJUiBkYXRhIG9iamVjdHMgYmFzZWQgb24gRkFJUnNG\nQUlSIE1ldHJpY3MiLAogICAgICAgICJNaXNjZWxsYW5lb3VzIiwKICAgICks\nCl0KCiMgRG9jdW1lbnRzIHRvIGFwcGVuZCBhcyBhbiBhcHBlbmRpeCB0byBh\nbGwgbWFudWFscy4KIyB0ZXhpbmZvX2FwcGVuZGljZXMgPSBbXQoKIyBJZiBm\nYWxzZSwgbm8gbW9kdWxlIGluZGV4IGlzIGdlbmVyYXRlZC4KIyB0ZXhpbmZv\nX2RvbWFpbl9pbmRpY2VzID0gVHJ1ZQoKIyBIb3cgdG8gZGlzcGxheSBVUkwg\nYWRkcmVzc2VzOiAnZm9vdG5vdGUnLCAnbm8nLCBvciAnaW5saW5lJy4KIyB0\nZXhpbmZvX3Nob3dfdXJscyA9ICdmb290bm90ZScKCiMgSWYgdHJ1ZSwgZG8g\nbm90IGdlbmVyYXRlIGEgQGRldGFpbG1lbnUgaW4gdGhlICJUb3AiIG5vZGUn\ncyBtZW51LgojIHRleGluZm9fbm9fZGV0YWlsbWVudSA9IEZhbHNlCgojIC0t\nIE9wdGlvbnMgZm9yIEVwdWIgb3V0cHV0IC0tLS0tLS0tLS0tLS0tLS0tLS0t\nLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKIyBCaWJsaW9ncmFw\naGljIER1YmxpbiBDb3JlIGluZm8uCmVwdWJfdGl0bGUgPSBQUk9KRUNUTkFN\nRQplcHViX2F1dGhvciA9IGF1dGhvcgplcHViX3B1Ymxpc2hlciA9IGF1dGhv\ncgplcHViX2NvcHlyaWdodCA9IGNvcHlyaWdodAoKIyBUaGUgbGFuZ3VhZ2Ug\nb2YgdGhlIHRleHQuIEl0IGRlZmF1bHRzIHRvIHRoZSBsYW5ndWFnZSBvcHRp\nb24KIyBvciBlbiBpZiB0aGUgbGFuZ3VhZ2UgaXMgbm90IHNldC4KIyBlcHVi\nX2xhbmd1YWdlID0gJycKCiMgVGhlIHNjaGVtZSBvZiB0aGUgaWRlbnRpZmll\nci4gVHlwaWNhbCBzY2hlbWVzIGFyZSBJU0JOIG9yIFVSTC4KIyBlcHViX3Nj\naGVtZSA9ICcnCgojIFRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgdGV4\ndC4gVGhpcyBjYW4gYmUgYSBJU0JOIG51bWJlcgojIG9yIHRoZSBwcm9qZWN0\nIGhvbWVwYWdlLgojIGVwdWJfaWRlbnRpZmllciA9ICcnCgojIEEgdW5pcXVl\nIGlkZW50aWZpY2F0aW9uIGZvciB0aGUgdGV4dC4KIyBlcHViX3VpZCA9ICcn\nCgojIEEgdHVwbGUgY29udGFpbmluZyB0aGUgY292ZXIgaW1hZ2UgYW5kIGNv\ndmVyIHBhZ2UgaHRtbCB0ZW1wbGF0ZSBmaWxlbmFtZXMuCiMgZXB1Yl9jb3Zl\nciA9ICgpCgojIEhUTUwgZmlsZXMgdGhhdCBzaG91bGQgYmUgaW5zZXJ0ZWQg\nYmVmb3JlIHRoZSBwYWdlcyBjcmVhdGVkIGJ5IHNwaGlueC4KIyBUaGUgZm9y\nbWF0IGlzIGEgbGlzdCBvZiB0dXBsZXMgY29udGFpbmluZyB0aGUgcGF0aCBh\nbmQgdGl0bGUuCiMgZXB1Yl9wcmVfZmlsZXMgPSBbXQoKIyBIVE1MIGZpbGVz\nIHNoYXQgc2hvdWxkIGJlIGluc2VydGVkIGFmdGVyIHRoZSBwYWdlcyBjcmVh\ndGVkIGJ5IHNwaGlueC4KIyBUaGUgZm9ybWF0IGlzIGEgbGlzdCBvZiB0dXBs\nZXMgY29udGFpbmluZyB0aGUgcGF0aCBhbmQgdGl0bGUuCiMgZXB1Yl9wb3N0\nX2ZpbGVzID0gW10KCiMgQSBsaXN0IG9mIGZpbGVzIHRoYXQgc2hvdWxkIG5v\ndCBiZSBwYWNrZWQgaW50byB0aGUgZXB1YiBmaWxlLgojIGVwdWJfZXhjbHVk\nZV9maWxlcyA9IFtdCgojIFRoZSBkZXB0aCBvZiB0aGUgdGFibGUgb2YgY29u\ndGVudHMgaW4gdG9jLm5jeC4KIyBlcHViX3RvY2RlcHRoID0gMwoKCiMgV2Fy\nbmluZ3MgdG8gaWdub3JlIHdoZW4gdXNpbmcgdGhlIC1uIChuaXRwaWNreSkg\nb3B0aW9uCiMgV2Ugc2hvdWxkIGlnbm9yZSBhbnkgcHl0aG9uIGJ1aWx0LWlu\nIGV4Y2VwdGlvbiwgZm9yIGluc3RhbmNlCm5pdHBpY2tfaWdub3JlID0gWwog\nICAgKCJweTpleGMiLCAiQXJpdGhtZXRpY0Vycm9yIiksCiAgICAoInB5OmV4\nYyIsICJBc3NlcnRpb25FcnJvciIpLAogICAgKCJweTpleGMiLCAiQXR0cmli\ndXRlRXJyb3IiKSwKICAgICgicHk6ZXhjIiwgIkJhc2VFeGNlcHRpb24iKSwK\nICAgICgicHk6ZXhjIiwgIkJ1ZmZlckVycm9yIiksCiAgICAoInB5OmV4YyIs\nICJEZXByZWNhdGlvbldhcm5pbmciKSwKICAgICgicHk6ZXhjIiwgIkVPRkVy\ncm9yIiksCiAgICAoInB5OmV4YyIsICJFbnZpcm9ubWVudEVycm9yIiksCiAg\nICAoInB5OmV4YyIsICJFeGNlcHRpb24iKSwKICAgICgicHk6ZXhjIiwgIkZs\nb2F0aW5nUG9pbnRFcnJvciIpLAogICAgKCJweTpleGMiLCAiRnV0dXJlV2Fy\nbmluZyIpLAogICAgKCJweTpleGMiLCAiR2VuZXJhdG9yRXhpdCIpLAogICAg\nKCJweTpleGMiLCAiSU9FcnJvciIpLAogICAgKCJweTpleGMiLCAiSW1wb3J0\nRXJyb3IiKSwKICAgICgicHk6ZXhjIiwgIkltcG9ydFdhcm5pbmciKSwKICAg\nICgicHk6ZXhjIiwgIkluZGVudGF0aW9uRXJyb3IiKSwKICAgICgicHk6ZXhj\nIiwgIkluZGV4RXJyb3IiKSwKICAgICgicHk6ZXhjIiwgIktleUVycm9yIiks\nCiAgICAoInB5OmV4YyIsICJLZXlib2FyZEludGVycnVwdCIpLAogICAgKCJw\neTpleGMiLCAiTG9va3VwRXJyb3IiKSwKICAgICgicHk6ZXhjIiwgIk1lbW9y\neUVycm9yIiksCiAgICAoInB5OmV4YyIsICJOYW1lRXJyb3IiKSwKICAgICgi\ncHk6ZXhjIiwgIk5vdEltcGxlbWVudGVkRXJyb3IiKSwKICAgICgicHk6ZXhj\nIiwgIk9TRXJyb3IiKSwKICAgICgicHk6ZXhjIiwgIk92ZXJmbG93RXJyb3Ii\nKSwKICAgICgicHk6ZXhjIiwgIlBlbmRpbmdEZXByZWNhdGlvbldhcm5pbmci\nKSwKICAgICgicHk6ZXhjIiwgIlJlZmVyZW5jZUVycm9yIiksCiAgICAoInB5\nOmV4YyIsICJSdW50aW1lRXJyb3IiKSwKICAgICgicHk6ZXhjIiwgIlJ1bnRp\nbWVXYXJuaW5nIiksCiAgICAoInB5OmV4YyIsICJTdGFuZGFyZEVycm9yIiks\nCiAgICAoInB5OmV4YyIsICJTdG9wSXRlcmF0aW9uIiksCiAgICAoInB5OmV4\nYyIsICJTeW50YXhFcnJvciIpLAogICAgKCJweTpleGMiLCAiU3ludGF4V2Fy\nbmluZyIpLAogICAgKCJweTpleGMiLCAiU3lzdGVtRXJyb3IiKSwKICAgICgi\ncHk6ZXhjIiwgIlN5c3RlbUV4aXQiKSwKICAgICgicHk6ZXhjIiwgIlRhYkVy\ncm9yIiksCiAgICAoInB5OmV4YyIsICJUeXBlRXJyb3IiKSwKICAgICgicHk6\nZXhjIiwgIlVuYm91bmRMb2NhbEVycm9yIiksCiAgICAoInB5OmV4YyIsICJV\nbmljb2RlRGVjb2RlRXJyb3IiKSwKICAgICgicHk6ZXhjIiwgIlVuaWNvZGVF\nbmNvZGVFcnJvciIpLAogICAgKCJweTpleGMiLCAiVW5pY29kZUVycm9yIiks\nCiAgICAoInB5OmV4YyIsICJVbmljb2RlVHJhbnNsYXRlRXJyb3IiKSwKICAg\nICgicHk6ZXhjIiwgIlVuaWNvZGVXYXJuaW5nIiksCiAgICAoInB5OmV4YyIs\nICJVc2VyV2FybmluZyIpLAogICAgKCJweTpleGMiLCAiVk1TRXJyb3IiKSwK\nICAgICgicHk6ZXhjIiwgIlZhbHVlRXJyb3IiKSwKICAgICgicHk6ZXhjIiwg\nIldhcm5pbmciKSwKICAgICgicHk6ZXhjIiwgIldpbmRvd3NFcnJvciIpLAog\nICAgKCJweTpleGMiLCAiWmVyb0RpdmlzaW9uRXJyb3IiKSwKICAgICgicHk6\nb2JqIiwgInN0ciIpLAogICAgKCJweTpvYmoiLCAibGlzdCIpLAogICAgKCJw\neTpvYmoiLCAidHVwbGUiKSwKICAgICgicHk6b2JqIiwgImludCIpLAogICAg\nKCJweTpvYmoiLCAiZmxvYXQiKSwKICAgICgicHk6b2JqIiwgImJvb2wiKSwK\nICAgICgicHk6b2JqIiwgIk1hcHBpbmciKSwKXQoKIyBodG1sX2NvbnRleHQg\nPSB7CiMgICAgJ2Nzc19maWxlcyc6IFsKIyAgICAgICAgJ19zdGF0aWMvdGhl\nbWVfb3ZlcnJpZGVzLmNzcycsICAjIG92ZXJyaWRlIHdpZGUgdGFibGVzIGlu\nIFJURCB0aGVtZQojICAgIF0sCiMgfQo=\n","encoding":"base64","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/docs/source/conf.py?ref=9f419b8b1d239da31e09b105f593581cc78e2f15","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/95e0e43e9ff99c7f1ddc5dc7f4445bbe994ee2b2","html":"https://github.com/pangaea-data-publisher/fuji/blob/9f419b8b1d239da31e09b105f593581cc78e2f15/docs/source/conf.py"}}' headers: Access-Control-Allow-Origin: - '*' @@ -629,11 +767,11 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Fri, 12 Jan 2024 16:17:07 GMT + - Fri, 03 May 2024 13:42:04 GMT ETag: - W/"95e0e43e9ff99c7f1ddc5dc7f4445bbe994ee2b2" Last-Modified: - - Fri, 12 Jan 2024 09:49:41 GMT + - Fri, 03 May 2024 07:27:26 GMT Referrer-Policy: - origin-when-cross-origin, strict-origin-when-cross-origin Server: @@ -654,23 +792,23 @@ interactions: X-GitHub-Media-Type: - github.v3; format=json X-GitHub-Request-Id: - - 785C:25BE01:4FC72B0:50B5467:65A16602 + - C666:2C5E27:3872336:39E0ED3:6634E9AC X-OAuth-Scopes: - repo X-RateLimit-Limit: - '5000' X-RateLimit-Remaining: - - '4961' + - '4762' X-RateLimit-Reset: - - '1705078320' + - '1714744789' X-RateLimit-Resource: - core X-RateLimit-Used: - - '39' + - '238' X-XSS-Protection: - '0' github-authentication-token-expiration: - - 2024-03-04 14:01:51 UTC + - 2024-07-08 07:44:52 UTC x-github-api-version-selected: - '2022-11-28' status: @@ -684,16 +822,16 @@ interactions: Accept-Encoding: - gzip, deflate Authorization: - - token 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 + - token ghp_MASKED Connection: - keep-alive User-Agent: - PyGithub/Python method: GET - uri: https://api.github.com/repositories/259678183/contents/fuji_server/encoder.py?ref=708fe43a1ee5f4557368dcd66622ec869fe854f9 + uri: https://api.github.com/repositories/259678183/contents/fuji_server/encoder.py?ref=9f419b8b1d239da31e09b105f593581cc78e2f15 response: body: - string: '{"name":"encoder.py","path":"fuji_server/encoder.py","sha":"0536ef3fbc331bfc0a83b769dacb0df405d48e9a","size":672,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/encoder.py?ref=708fe43a1ee5f4557368dcd66622ec869fe854f9","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/708fe43a1ee5f4557368dcd66622ec869fe854f9/fuji_server/encoder.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/0536ef3fbc331bfc0a83b769dacb0df405d48e9a","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/708fe43a1ee5f4557368dcd66622ec869fe854f9/fuji_server/encoder.py","type":"file","content":"IyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiAyMDIwIFBBTkdBRUEgKGh0dHBz\nOi8vd3d3LnBhbmdhZWEuZGUvKQojCiMgU1BEWC1MaWNlbnNlLUlkZW50aWZp\nZXI6IE1JVAoKZnJvbSBjb25uZXhpb24uanNvbmlmaWVyIGltcG9ydCBKU09O\nRW5jb2RlcgoKZnJvbSBmdWppX3NlcnZlci5tb2RlbHMuYmFzZV9tb2RlbF8g\naW1wb3J0IE1vZGVsCgoKY2xhc3MgQ3VzdG9tSlNPTkVuY29kZXIoSlNPTkVu\nY29kZXIpOgogICAgaW5jbHVkZV9udWxscyA9IEZhbHNlCgogICAgZGVmIGRl\nZmF1bHQoc2VsZiwgbyk6CiAgICAgICAgaWYgaXNpbnN0YW5jZShvLCBNb2Rl\nbCk6CiAgICAgICAgICAgIGRpa3QgPSB7fQogICAgICAgICAgICBmb3IgYXR0\nciwgXyBpbiBvLnN3YWdnZXJfdHlwZXMuaXRlbXMoKToKICAgICAgICAgICAg\nICAgIHZhbHVlID0gZ2V0YXR0cihvLCBhdHRyKQogICAgICAgICAgICAgICAg\naWYgdmFsdWUgaXMgTm9uZSBhbmQgbm90IHNlbGYuaW5jbHVkZV9udWxsczoK\nICAgICAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICAgICAg\nYXR0ciA9IG8uYXR0cmlidXRlX21hcFthdHRyXQogICAgICAgICAgICAgICAg\nZGlrdFthdHRyXSA9IHZhbHVlCiAgICAgICAgICAgIHJldHVybiBkaWt0CiAg\nICAgICAgcmV0dXJuIEpTT05FbmNvZGVyLmRlZmF1bHQoc2VsZiwgbykK\n","encoding":"base64","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/encoder.py?ref=708fe43a1ee5f4557368dcd66622ec869fe854f9","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/0536ef3fbc331bfc0a83b769dacb0df405d48e9a","html":"https://github.com/pangaea-data-publisher/fuji/blob/708fe43a1ee5f4557368dcd66622ec869fe854f9/fuji_server/encoder.py"}}' + string: '{"name":"encoder.py","path":"fuji_server/encoder.py","sha":"0536ef3fbc331bfc0a83b769dacb0df405d48e9a","size":672,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/encoder.py?ref=9f419b8b1d239da31e09b105f593581cc78e2f15","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/9f419b8b1d239da31e09b105f593581cc78e2f15/fuji_server/encoder.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/0536ef3fbc331bfc0a83b769dacb0df405d48e9a","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/9f419b8b1d239da31e09b105f593581cc78e2f15/fuji_server/encoder.py","type":"file","content":"IyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiAyMDIwIFBBTkdBRUEgKGh0dHBz\nOi8vd3d3LnBhbmdhZWEuZGUvKQojCiMgU1BEWC1MaWNlbnNlLUlkZW50aWZp\nZXI6IE1JVAoKZnJvbSBjb25uZXhpb24uanNvbmlmaWVyIGltcG9ydCBKU09O\nRW5jb2RlcgoKZnJvbSBmdWppX3NlcnZlci5tb2RlbHMuYmFzZV9tb2RlbF8g\naW1wb3J0IE1vZGVsCgoKY2xhc3MgQ3VzdG9tSlNPTkVuY29kZXIoSlNPTkVu\nY29kZXIpOgogICAgaW5jbHVkZV9udWxscyA9IEZhbHNlCgogICAgZGVmIGRl\nZmF1bHQoc2VsZiwgbyk6CiAgICAgICAgaWYgaXNpbnN0YW5jZShvLCBNb2Rl\nbCk6CiAgICAgICAgICAgIGRpa3QgPSB7fQogICAgICAgICAgICBmb3IgYXR0\nciwgXyBpbiBvLnN3YWdnZXJfdHlwZXMuaXRlbXMoKToKICAgICAgICAgICAg\nICAgIHZhbHVlID0gZ2V0YXR0cihvLCBhdHRyKQogICAgICAgICAgICAgICAg\naWYgdmFsdWUgaXMgTm9uZSBhbmQgbm90IHNlbGYuaW5jbHVkZV9udWxsczoK\nICAgICAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICAgICAg\nYXR0ciA9IG8uYXR0cmlidXRlX21hcFthdHRyXQogICAgICAgICAgICAgICAg\nZGlrdFthdHRyXSA9IHZhbHVlCiAgICAgICAgICAgIHJldHVybiBkaWt0CiAg\nICAgICAgcmV0dXJuIEpTT05FbmNvZGVyLmRlZmF1bHQoc2VsZiwgbykK\n","encoding":"base64","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/encoder.py?ref=9f419b8b1d239da31e09b105f593581cc78e2f15","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/0536ef3fbc331bfc0a83b769dacb0df405d48e9a","html":"https://github.com/pangaea-data-publisher/fuji/blob/9f419b8b1d239da31e09b105f593581cc78e2f15/fuji_server/encoder.py"}}' headers: Access-Control-Allow-Origin: - '*' @@ -708,11 +846,11 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Fri, 12 Jan 2024 16:17:07 GMT + - Fri, 03 May 2024 13:42:04 GMT ETag: - W/"0536ef3fbc331bfc0a83b769dacb0df405d48e9a" Last-Modified: - - Fri, 12 Jan 2024 09:49:41 GMT + - Fri, 03 May 2024 07:27:26 GMT Referrer-Policy: - origin-when-cross-origin, strict-origin-when-cross-origin Server: @@ -733,23 +871,23 @@ interactions: X-GitHub-Media-Type: - github.v3; format=json X-GitHub-Request-Id: - - 9FB5:8F432:F6CD435:F97F3C0:65A16603 + - 5075:3321A6:246A2DF:2561DC5:6634E9AC X-OAuth-Scopes: - repo X-RateLimit-Limit: - '5000' X-RateLimit-Remaining: - - '4960' + - '4761' X-RateLimit-Reset: - - '1705078320' + - '1714744789' X-RateLimit-Resource: - core X-RateLimit-Used: - - '40' + - '239' X-XSS-Protection: - '0' github-authentication-token-expiration: - - 2024-03-04 14:01:51 UTC + - 2024-07-08 07:44:52 UTC x-github-api-version-selected: - '2022-11-28' status: @@ -763,16 +901,16 @@ interactions: Accept-Encoding: - gzip, deflate Authorization: - - token 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 + - token ghp_MASKED Connection: - keep-alive User-Agent: - PyGithub/Python method: GET - uri: https://api.github.com/repositories/259678183/contents/fuji_server/__init__.py?ref=708fe43a1ee5f4557368dcd66622ec869fe854f9 + uri: https://api.github.com/repositories/259678183/contents/fuji_server/__main__.py?ref=9f419b8b1d239da31e09b105f593581cc78e2f15 response: body: - string: '{"name":"__init__.py","path":"fuji_server/__init__.py","sha":"bfec0e01e89e507a05c789a9b4c9758f8cb57fb1","size":2053,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/__init__.py?ref=708fe43a1ee5f4557368dcd66622ec869fe854f9","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/708fe43a1ee5f4557368dcd66622ec869fe854f9/fuji_server/__init__.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/bfec0e01e89e507a05c789a9b4c9758f8cb57fb1","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/708fe43a1ee5f4557368dcd66622ec869fe854f9/fuji_server/__init__.py","type":"file","content":"IyAtKi0gY29kaW5nOiB1dGYtOCAtKi0KCiMgU1BEWC1GaWxlQ29weXJpZ2h0\nVGV4dDogMjAyMCBQQU5HQUVBIChodHRwczovL3d3dy5wYW5nYWVhLmRlLykK\nIwojIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVQKCiMgZmxha2U4OiBu\nb3FhCmZyb20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0Cgoj\nIGltcG9ydCBtb2RlbHMgaW50byBtb2RlbCBwYWNrYWdlCmZyb20gZnVqaV9z\nZXJ2ZXIubW9kZWxzLmFueV9vZl9mYWlyX3Jlc3VsdHNfaXRlbXMgaW1wb3J0\nIEFueU9mRkFJUlJlc3VsdHNSZXN1bHRzSXRlbXMKZnJvbSBmdWppX3NlcnZl\nci5tb2RlbHMuYm9keSBpbXBvcnQgQm9keQpmcm9tIGZ1amlfc2VydmVyLm1v\nZGVscy5jb3JlX21ldGFkYXRhIGltcG9ydCBDb3JlTWV0YWRhdGEKZnJvbSBm\ndWppX3NlcnZlci5tb2RlbHMuY29yZV9tZXRhZGF0YV9vdXRwdXQgaW1wb3J0\nIENvcmVNZXRhZGF0YU91dHB1dApmcm9tIGZ1amlfc2VydmVyLm1vZGVscy5k\nZWJ1ZyBpbXBvcnQgRGVidWcKZnJvbSBmdWppX3NlcnZlci5tb2RlbHMuZmFp\ncl9yZXN1bHRfY29tbW9uIGltcG9ydCBGQUlSUmVzdWx0Q29tbW9uCmZyb20g\nZnVqaV9zZXJ2ZXIubW9kZWxzLmZhaXJfcmVzdWx0X2NvbW1vbl9zY29yZSBp\nbXBvcnQgRkFJUlJlc3VsdENvbW1vblNjb3JlCmZyb20gZnVqaV9zZXJ2ZXIu\nbW9kZWxzLmZhaXJfcmVzdWx0cyBpbXBvcnQgRkFJUlJlc3VsdHMKZnJvbSBm\ndWppX3NlcnZlci5tb2RlbHMuaWRlbnRpZmllcl9pbmNsdWRlZCBpbXBvcnQg\nSWRlbnRpZmllckluY2x1ZGVkCmZyb20gZnVqaV9zZXJ2ZXIubW9kZWxzLmlk\nZW50aWZpZXJfaW5jbHVkZWRfb3V0cHV0IGltcG9ydCBJZGVudGlmaWVySW5j\nbHVkZWRPdXRwdXQKZnJvbSBmdWppX3NlcnZlci5tb2RlbHMuaWRlbnRpZmll\ncl9pbmNsdWRlZF9vdXRwdXRfaW5uZXIgaW1wb3J0IElkZW50aWZpZXJJbmNs\ndWRlZE91dHB1dElubmVyCmZyb20gZnVqaV9zZXJ2ZXIubW9kZWxzLmxpY2Vu\nc2UgaW1wb3J0IExpY2Vuc2UKZnJvbSBmdWppX3NlcnZlci5tb2RlbHMubGlj\nZW5zZV9vdXRwdXQgaW1wb3J0IExpY2Vuc2VPdXRwdXQKZnJvbSBmdWppX3Nl\ncnZlci5tb2RlbHMubGljZW5zZV9vdXRwdXRfaW5uZXIgaW1wb3J0IExpY2Vu\nc2VPdXRwdXRJbm5lcgpmcm9tIGZ1amlfc2VydmVyLm1vZGVscy5tZXRyaWMg\naW1wb3J0IE1ldHJpYwpmcm9tIGZ1amlfc2VydmVyLm1vZGVscy5tZXRyaWNz\nIGltcG9ydCBNZXRyaWNzCmZyb20gZnVqaV9zZXJ2ZXIubW9kZWxzLm91dHB1\ndF9jb3JlX21ldGFkYXRhX2ZvdW5kIGltcG9ydCBPdXRwdXRDb3JlTWV0YWRh\ndGFGb3VuZApmcm9tIGZ1amlfc2VydmVyLm1vZGVscy5vdXRwdXRfc2VhcmNo\nX21lY2hhbmlzbXMgaW1wb3J0IE91dHB1dFNlYXJjaE1lY2hhbmlzbXMKZnJv\nbSBmdWppX3NlcnZlci5tb2RlbHMucGVyc2lzdGVuY2UgaW1wb3J0IFBlcnNp\nc3RlbmNlCmZyb20gZnVqaV9zZXJ2ZXIubW9kZWxzLnBlcnNpc3RlbmNlX291\ndHB1dCBpbXBvcnQgUGVyc2lzdGVuY2VPdXRwdXQKZnJvbSBmdWppX3NlcnZl\nci5tb2RlbHMucmVsYXRlZF9yZXNvdXJjZSBpbXBvcnQgUmVsYXRlZFJlc291\ncmNlCmZyb20gZnVqaV9zZXJ2ZXIubW9kZWxzLnJlbGF0ZWRfcmVzb3VyY2Vf\nb3V0cHV0IGltcG9ydCBSZWxhdGVkUmVzb3VyY2VPdXRwdXQKZnJvbSBmdWpp\nX3NlcnZlci5tb2RlbHMucmVsYXRlZF9yZXNvdXJjZV9vdXRwdXRfaW5uZXIg\naW1wb3J0IFJlbGF0ZWRSZXNvdXJjZU91dHB1dElubmVyCmZyb20gZnVqaV9z\nZXJ2ZXIubW9kZWxzLnNlYXJjaGFibGUgaW1wb3J0IFNlYXJjaGFibGUKZnJv\nbSBmdWppX3NlcnZlci5tb2RlbHMuc2VhcmNoYWJsZV9vdXRwdXQgaW1wb3J0\nIFNlYXJjaGFibGVPdXRwdXQKZnJvbSBmdWppX3NlcnZlci5tb2RlbHMudW5p\ncXVlbmVzcyBpbXBvcnQgVW5pcXVlbmVzcwpmcm9tIGZ1amlfc2VydmVyLm1v\nZGVscy51bmlxdWVuZXNzX291dHB1dCBpbXBvcnQgVW5pcXVlbmVzc091dHB1\ndAoKZnJvbSBpbXBvcnRsaWIubWV0YWRhdGEgaW1wb3J0IHZlcnNpb24KCl9f\ndmVyc2lvbl9fID0gdmVyc2lvbigiZnVqaSIpCg==\n","encoding":"base64","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/__init__.py?ref=708fe43a1ee5f4557368dcd66622ec869fe854f9","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/bfec0e01e89e507a05c789a9b4c9758f8cb57fb1","html":"https://github.com/pangaea-data-publisher/fuji/blob/708fe43a1ee5f4557368dcd66622ec869fe854f9/fuji_server/__init__.py"}}' + string: '{"name":"__main__.py","path":"fuji_server/__main__.py","sha":"b6393d59b041fd80dd5679447a14e4de3185a0a1","size":3879,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/__main__.py?ref=9f419b8b1d239da31e09b105f593581cc78e2f15","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/9f419b8b1d239da31e09b105f593581cc78e2f15/fuji_server/__main__.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/b6393d59b041fd80dd5679447a14e4de3185a0a1","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/9f419b8b1d239da31e09b105f593581cc78e2f15/fuji_server/__main__.py","type":"file","content":"IyEvdXNyL2Jpbi9lbnYgcHl0aG9uMwoKIyBTUERYLUZpbGVDb3B5cmlnaHRU\nZXh0OiAyMDIwIFBBTkdBRUEgKGh0dHBzOi8vd3d3LnBhbmdhZWEuZGUvKQoj\nCiMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVAoKaW1wb3J0IGFyZ3Bh\ncnNlCmltcG9ydCBjb25maWdwYXJzZXIKaW1wb3J0IGxvZ2dpbmcKaW1wb3J0\nIG9zCgpmcm9tIGZsYXNrX2xpbWl0ZXIgaW1wb3J0IExpbWl0ZXIKZnJvbSBm\nbGFza19saW1pdGVyLnV0aWwgaW1wb3J0IGdldF9yZW1vdGVfYWRkcmVzcwoK\nZnJvbSBmdWppX3NlcnZlci5hcHAgaW1wb3J0IGNyZWF0ZV9hcHAKZnJvbSBm\ndWppX3NlcnZlci5oZWxwZXIucHJlcHJvY2Vzc29yIGltcG9ydCBQcmVwcm9j\nZXNzb3IKCgpkZWYgbWFpbigpOgogICAgbG9nZ2luZy5nZXRMb2dnZXIoImNv\nbm5leGlvbi5vcGVyYXRpb24iKS5zZXRMZXZlbCgiSU5GTyIpCiAgICBST09U\nX0RJUiA9IG9zLnBhdGguZGlybmFtZShvcy5wYXRoLmFic3BhdGgoX19maWxl\nX18pKQogICAgWUFNTF9ESVIgPSBjb25maWdbIlNFUlZJQ0UiXVsieWFtbF9k\naXJlY3RvcnkiXQogICAgIyBNRVRSSUNfWUFNTCA9IGNvbmZpZ1snU0VSVklD\nRSddWydtZXRyaWNzX3lhbWwnXQogICAgIyBZQU1MX0RJUiA9IG9zLnBhdGgu\nam9pbihteV9wYXRoLCBjb25maWdbJ1NFUlZJQ0UnXVsneWFtbF9kaXJlY3Rv\ncnknXSkKICAgIE1FVFJJQ19ZTUxfUEFUSCA9IG9zLnBhdGguam9pbihST09U\nX0RJUiwgWUFNTF9ESVIpCiAgICBwcmludCgiWUFNTCBQQVRIIiwgTUVUUklD\nX1lNTF9QQVRIKQogICAgIiIiU1BEWF9VUkwgPSBjb25maWdbJ0VYVEVSTkFM\nJ11bJ3NwZHhfbGljZW5zZV9naXRodWInXQogICAgREFUQUNJVEVfQVBJX1JF\nUE8gPSBjb25maWdbJ0VYVEVSTkFMJ11bJ2RhdGFjaXRlX2FwaV9yZXBvJ10K\nICAgIFJFM0RBVEFfQVBJID0gY29uZmlnWydFWFRFUk5BTCddWydyZTNkYXRh\nX2FwaSddCiAgICBNRVRBREFUQUNBVEFMT0dfQVBJID0gY29uZmlnWydFWFRF\nUk5BTCddWydtZXRhZGF0YV9jYXRhbG9nJ10iIiIKICAgIExPVl9BUEkgPSBj\nb25maWdbIkVYVEVSTkFMIl1bImxvdl9hcGkiXQogICAgTE9EX0NMT1VETkVU\nID0gY29uZmlnWyJFWFRFUk5BTCJdWyJsb2RfY2xvdWRuZXQiXQogICAgIyBC\nSU9QT1JUQUxfUkVTVCA9IGNvbmZpZ1snRVhURVJOQUwnXVsnYmlvcG9ydGFs\nX3Jlc3QnXQogICAgIyBCSU9QT1JUQUxfQVBJS0VZID0gY29uZmlnWydFWFRF\nUk5BTCddWydiaW9wb3J0YWxfYXBpa2V5J10KICAgIGRhdGFfZmlsZXNfbGlt\naXQgPSBpbnQoY29uZmlnWyJTRVJWSUNFIl1bImRhdGFfZmlsZXNfbGltaXQi\nXSkKCiAgICBwcmVwcm9jID0gUHJlcHJvY2Vzc29yKCkKICAgICMgcHJlcHJv\nYy5yZXRyaWV2ZV9tZXRyaWNzX3lhbWwoTUVUUklDX1lNTF9QQVRILCAgbWV0\ncmljX3NwZWNpZmljYXRpb24pCiAgICBwcmVwcm9jLnNldF9kYXRhX2ZpbGVz\nX2xpbWl0KGRhdGFfZmlsZXNfbGltaXQpCiAgICBwcmVwcm9jLnNldF9tZXRy\naWNfeWFtbF9wYXRoKE1FVFJJQ19ZTUxfUEFUSCkKICAgICMgbG9nZ2VyLmlu\nZm8oJ1RvdGFsIG1ldHJpY3MgZGVmaW5lZDoge30nLmZvcm1hdChwcmVwcm9j\nLmdldF90b3RhbF9tZXRyaWNzKCkpKQoKICAgIGlzRGVidWcgPSBjb25maWcu\nZ2V0Ym9vbGVhbigiU0VSVklDRSIsICJkZWJ1Z19tb2RlIikKICAgIHByZXBy\nb2MucmV0cmlldmVfbGljZW5zZXMoaXNEZWJ1ZykKICAgIHByZXByb2MucmV0\ncmlldmVfZGF0YWNpdGVfcmUzcmVwb3MoKQoKICAgIHByZXByb2MucmV0cmll\ndmVfbWV0YWRhdGFfc3RhbmRhcmRzKCkKICAgICMgcHJlcHJvYy5yZXRyaWV2\nZV9saW5rZWR2b2NhYnMobG92X2FwaT1MT1ZfQVBJLCBsb2RjbG91ZF9hcGk9\nTE9EX0NMT1VETkVULCBiaW9wb3J0YWxfYXBpPUJJT1BPUlRBTF9SRVNULCBi\naW9wb3J0YWxfa2V5PUJJT1BPUlRBTF9BUElLRVksIGlzRGVidWdNb2RlPUZh\nbHNlKQogICAgcHJlcHJvYy5yZXRyaWV2ZV9saW5rZWR2b2NhYnMobG92X2Fw\naT1MT1ZfQVBJLCBsb2RjbG91ZF9hcGk9TE9EX0NMT1VETkVULCBpc0RlYnVn\nTW9kZT1pc0RlYnVnKQogICAgcHJlcHJvYy5zZXRfcmVtb3RlX2xvZ19pbmZv\nKGNvbmZpZ1siU0VSVklDRSJdLmdldCgicmVtb3RlX2xvZ19ob3N0IiksIGNv\nbmZpZ1siU0VSVklDRSJdLmdldCgicmVtb3RlX2xvZ19wYXRoIikpCiAgICBw\ncmVwcm9jLnNldF9tYXhfY29udGVudF9zaXplKGNvbmZpZ1siU0VSVklDRSJd\nWyJtYXhfY29udGVudF9zaXplIl0pCgogICAgbG9nZ2VyLmluZm8oZiJUb3Rh\nbCBTUERYIGxpY2Vuc2VzIDoge3ByZXByb2MuZ2V0X3RvdGFsX2xpY2Vuc2Vz\nKCl9IikKICAgIGxvZ2dlci5pbmZvKGYiVG90YWwgcmUzcmVwb3NpdG9yaWVz\nIGZvdW5kIGZyb20gZGF0YWNpdGUgYXBpIDoge2xlbihwcmVwcm9jLmdldFJF\nM3JlcG9zaXRvcmllcygpKX0iKQogICAgbG9nZ2VyLmluZm8oZiJUb3RhbCBz\ndWJqZWN0cyBhcmVhIG9mIGltcG9ydGVkIG1ldGFkYXRhIHN0YW5kYXJkcyA6\nIHtsZW4ocHJlcHJvYy5tZXRhZGF0YV9zdGFuZGFyZHMpfSIpCiAgICBsb2dn\nZXIuaW5mbyhmIlRvdGFsIExEIHZvY2FicyBpbXBvcnRlZCA6IHtsZW4ocHJl\ncHJvYy5nZXRMaW5rZWRWb2NhYnMoKSl9IikKICAgIGxvZ2dlci5pbmZvKGYi\nVG90YWwgZGVmYXVsdCBuYW1lc3BhY2VzIHNwZWNpZmllZCA6IHtsZW4ocHJl\ncHJvYy5nZXREZWZhdWx0TmFtZXNwYWNlcygpKX0iKQoKICAgIGFwcCA9IGNy\nZWF0ZV9hcHAoY29uZmlnKQogICAgTGltaXRlcihnZXRfcmVtb3RlX2FkZHJl\nc3MsIGFwcD1hcHAuYXBwLCBkZWZhdWx0X2xpbWl0cz1bc3RyKGNvbmZpZ1si\nU0VSVklDRSJdWyJyYXRlX2xpbWl0Il0pXSkKICAgICMgYnVpbHQgaW4gdXZp\nY29ybiBBU0dJCiAgICBhcHAucnVuKGhvc3Q9Y29uZmlnWyJTRVJWSUNFIl1b\nInNlcnZpY2VfaG9zdCJdLCBwb3J0PWludChjb25maWdbIlNFUlZJQ0UiXVsi\nc2VydmljZV9wb3J0Il0pKQoKCmlmIF9fbmFtZV9fID09ICJfX21haW5fXyI6\nCiAgICBnbG9iYWwgY29uZmlnCiAgICBteV9wYXRoID0gb3MucGF0aC5hYnNw\nYXRoKG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXykpCiAgICBwYXJzZXIgPSBh\ncmdwYXJzZS5Bcmd1bWVudFBhcnNlcigpCiAgICAjIGFkZCBhIG5ldyBjb21t\nYW5kIGxpbmUgb3B0aW9uLCBjYWxsIGl0ICctYycgYW5kIHNldCBpdHMgZGVz\ndGluYXRpb24gdG8gJ2NvbmZpZ19maWxlJwogICAgcGFyc2VyLmFkZF9hcmd1\nbWVudCgiLWMiLCAiLS1jb25maWciLCByZXF1aXJlZD1UcnVlLCBoZWxwPSJQ\nYXRoIHRvIHNlcnZlci5pbmkgY29uZmlnIGZpbGUiKQogICAgYXJncyA9IHBh\ncnNlci5wYXJzZV9hcmdzKCkKICAgIGNvbmZpZyA9IGNvbmZpZ3BhcnNlci5D\nb25maWdQYXJzZXIoKQogICAgY29uZmlnLnJlYWQoYXJncy5jb25maWcpCiAg\nICBsb2dfY29uZmlnZmlsZSA9IG9zLnBhdGguam9pbihteV9wYXRoLCBjb25m\naWdbIlNFUlZJQ0UiXVsibG9nX2NvbmZpZyJdKQogICAgbG9nX2RpciA9IGNv\nbmZpZ1siU0VSVklDRSJdWyJsb2dkaXIiXQogICAgbG9nX2RpcmVjdG9yeSA9\nIG9zLnBhdGguam9pbihteV9wYXRoLCBsb2dfZGlyKQogICAgbG9nX2ZpbGVf\ncGF0aCA9IG9zLnBhdGguam9pbihsb2dfZGlyZWN0b3J5LCAiZnVqaS5sb2ci\nKQoKICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhsb2dfZGlyZWN0b3J5KToK\nICAgICAgICBvcy5tYWtlZGlycyhsb2dfZGlyZWN0b3J5LCBleGlzdF9vaz1U\ncnVlKQogICAgIyBmaWxlQ29uZmlnKGxvZ19jb25maWdmaWxlLCBkZWZhdWx0\ncz17J2xvZ2ZpbGVuYW1lJzogbG9nX2ZpbGVfcGF0aC5yZXBsYWNlKCJcXCIs\nICIvIil9KQogICAgbG9nZ2VyID0gbG9nZ2luZy5nZXRMb2dnZXIoKSAgIyB1\nc2UgdGhpcyBmb3JtIHRvIGluaXRpYWxpemUgdGhlIHJvb3QgbG9nZ2VyCiAg\nICBtYWluKCkK\n","encoding":"base64","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/__main__.py?ref=9f419b8b1d239da31e09b105f593581cc78e2f15","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/b6393d59b041fd80dd5679447a14e4de3185a0a1","html":"https://github.com/pangaea-data-publisher/fuji/blob/9f419b8b1d239da31e09b105f593581cc78e2f15/fuji_server/__main__.py"}}' headers: Access-Control-Allow-Origin: - '*' @@ -787,11 +925,11 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Fri, 12 Jan 2024 16:17:08 GMT + - Fri, 03 May 2024 13:42:05 GMT ETag: - - W/"bfec0e01e89e507a05c789a9b4c9758f8cb57fb1" + - W/"b6393d59b041fd80dd5679447a14e4de3185a0a1" Last-Modified: - - Fri, 12 Jan 2024 09:49:41 GMT + - Fri, 03 May 2024 07:27:26 GMT Referrer-Policy: - origin-when-cross-origin, strict-origin-when-cross-origin Server: @@ -812,23 +950,23 @@ interactions: X-GitHub-Media-Type: - github.v3; format=json X-GitHub-Request-Id: - - 510F:2E0C86:C5A8BD8:C7DB477:65A16604 + - C680:202DB0:37510EA:38BFD0F:6634E9AD X-OAuth-Scopes: - repo X-RateLimit-Limit: - '5000' X-RateLimit-Remaining: - - '4959' + - '4760' X-RateLimit-Reset: - - '1705078320' + - '1714744789' X-RateLimit-Resource: - core X-RateLimit-Used: - - '41' + - '240' X-XSS-Protection: - '0' github-authentication-token-expiration: - - 2024-03-04 14:01:51 UTC + - 2024-07-08 07:44:52 UTC x-github-api-version-selected: - '2022-11-28' status: @@ -842,16 +980,16 @@ interactions: Accept-Encoding: - gzip, deflate Authorization: - - token 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 + - token ghp_MASKED Connection: - keep-alive User-Agent: - PyGithub/Python method: GET - uri: https://api.github.com/repositories/259678183/contents/fuji_server/__main__.py?ref=708fe43a1ee5f4557368dcd66622ec869fe854f9 + uri: https://api.github.com/repositories/259678183/contents/fuji_server/__init__.py?ref=9f419b8b1d239da31e09b105f593581cc78e2f15 response: body: - string: '{"name":"__main__.py","path":"fuji_server/__main__.py","sha":"b6393d59b041fd80dd5679447a14e4de3185a0a1","size":3879,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/__main__.py?ref=708fe43a1ee5f4557368dcd66622ec869fe854f9","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/708fe43a1ee5f4557368dcd66622ec869fe854f9/fuji_server/__main__.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/b6393d59b041fd80dd5679447a14e4de3185a0a1","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/708fe43a1ee5f4557368dcd66622ec869fe854f9/fuji_server/__main__.py","type":"file","content":"IyEvdXNyL2Jpbi9lbnYgcHl0aG9uMwoKIyBTUERYLUZpbGVDb3B5cmlnaHRU\nZXh0OiAyMDIwIFBBTkdBRUEgKGh0dHBzOi8vd3d3LnBhbmdhZWEuZGUvKQoj\nCiMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVAoKaW1wb3J0IGFyZ3Bh\ncnNlCmltcG9ydCBjb25maWdwYXJzZXIKaW1wb3J0IGxvZ2dpbmcKaW1wb3J0\nIG9zCgpmcm9tIGZsYXNrX2xpbWl0ZXIgaW1wb3J0IExpbWl0ZXIKZnJvbSBm\nbGFza19saW1pdGVyLnV0aWwgaW1wb3J0IGdldF9yZW1vdGVfYWRkcmVzcwoK\nZnJvbSBmdWppX3NlcnZlci5hcHAgaW1wb3J0IGNyZWF0ZV9hcHAKZnJvbSBm\ndWppX3NlcnZlci5oZWxwZXIucHJlcHJvY2Vzc29yIGltcG9ydCBQcmVwcm9j\nZXNzb3IKCgpkZWYgbWFpbigpOgogICAgbG9nZ2luZy5nZXRMb2dnZXIoImNv\nbm5leGlvbi5vcGVyYXRpb24iKS5zZXRMZXZlbCgiSU5GTyIpCiAgICBST09U\nX0RJUiA9IG9zLnBhdGguZGlybmFtZShvcy5wYXRoLmFic3BhdGgoX19maWxl\nX18pKQogICAgWUFNTF9ESVIgPSBjb25maWdbIlNFUlZJQ0UiXVsieWFtbF9k\naXJlY3RvcnkiXQogICAgIyBNRVRSSUNfWUFNTCA9IGNvbmZpZ1snU0VSVklD\nRSddWydtZXRyaWNzX3lhbWwnXQogICAgIyBZQU1MX0RJUiA9IG9zLnBhdGgu\nam9pbihteV9wYXRoLCBjb25maWdbJ1NFUlZJQ0UnXVsneWFtbF9kaXJlY3Rv\ncnknXSkKICAgIE1FVFJJQ19ZTUxfUEFUSCA9IG9zLnBhdGguam9pbihST09U\nX0RJUiwgWUFNTF9ESVIpCiAgICBwcmludCgiWUFNTCBQQVRIIiwgTUVUUklD\nX1lNTF9QQVRIKQogICAgIiIiU1BEWF9VUkwgPSBjb25maWdbJ0VYVEVSTkFM\nJ11bJ3NwZHhfbGljZW5zZV9naXRodWInXQogICAgREFUQUNJVEVfQVBJX1JF\nUE8gPSBjb25maWdbJ0VYVEVSTkFMJ11bJ2RhdGFjaXRlX2FwaV9yZXBvJ10K\nICAgIFJFM0RBVEFfQVBJID0gY29uZmlnWydFWFRFUk5BTCddWydyZTNkYXRh\nX2FwaSddCiAgICBNRVRBREFUQUNBVEFMT0dfQVBJID0gY29uZmlnWydFWFRF\nUk5BTCddWydtZXRhZGF0YV9jYXRhbG9nJ10iIiIKICAgIExPVl9BUEkgPSBj\nb25maWdbIkVYVEVSTkFMIl1bImxvdl9hcGkiXQogICAgTE9EX0NMT1VETkVU\nID0gY29uZmlnWyJFWFRFUk5BTCJdWyJsb2RfY2xvdWRuZXQiXQogICAgIyBC\nSU9QT1JUQUxfUkVTVCA9IGNvbmZpZ1snRVhURVJOQUwnXVsnYmlvcG9ydGFs\nX3Jlc3QnXQogICAgIyBCSU9QT1JUQUxfQVBJS0VZID0gY29uZmlnWydFWFRF\nUk5BTCddWydiaW9wb3J0YWxfYXBpa2V5J10KICAgIGRhdGFfZmlsZXNfbGlt\naXQgPSBpbnQoY29uZmlnWyJTRVJWSUNFIl1bImRhdGFfZmlsZXNfbGltaXQi\nXSkKCiAgICBwcmVwcm9jID0gUHJlcHJvY2Vzc29yKCkKICAgICMgcHJlcHJv\nYy5yZXRyaWV2ZV9tZXRyaWNzX3lhbWwoTUVUUklDX1lNTF9QQVRILCAgbWV0\ncmljX3NwZWNpZmljYXRpb24pCiAgICBwcmVwcm9jLnNldF9kYXRhX2ZpbGVz\nX2xpbWl0KGRhdGFfZmlsZXNfbGltaXQpCiAgICBwcmVwcm9jLnNldF9tZXRy\naWNfeWFtbF9wYXRoKE1FVFJJQ19ZTUxfUEFUSCkKICAgICMgbG9nZ2VyLmlu\nZm8oJ1RvdGFsIG1ldHJpY3MgZGVmaW5lZDoge30nLmZvcm1hdChwcmVwcm9j\nLmdldF90b3RhbF9tZXRyaWNzKCkpKQoKICAgIGlzRGVidWcgPSBjb25maWcu\nZ2V0Ym9vbGVhbigiU0VSVklDRSIsICJkZWJ1Z19tb2RlIikKICAgIHByZXBy\nb2MucmV0cmlldmVfbGljZW5zZXMoaXNEZWJ1ZykKICAgIHByZXByb2MucmV0\ncmlldmVfZGF0YWNpdGVfcmUzcmVwb3MoKQoKICAgIHByZXByb2MucmV0cmll\ndmVfbWV0YWRhdGFfc3RhbmRhcmRzKCkKICAgICMgcHJlcHJvYy5yZXRyaWV2\nZV9saW5rZWR2b2NhYnMobG92X2FwaT1MT1ZfQVBJLCBsb2RjbG91ZF9hcGk9\nTE9EX0NMT1VETkVULCBiaW9wb3J0YWxfYXBpPUJJT1BPUlRBTF9SRVNULCBi\naW9wb3J0YWxfa2V5PUJJT1BPUlRBTF9BUElLRVksIGlzRGVidWdNb2RlPUZh\nbHNlKQogICAgcHJlcHJvYy5yZXRyaWV2ZV9saW5rZWR2b2NhYnMobG92X2Fw\naT1MT1ZfQVBJLCBsb2RjbG91ZF9hcGk9TE9EX0NMT1VETkVULCBpc0RlYnVn\nTW9kZT1pc0RlYnVnKQogICAgcHJlcHJvYy5zZXRfcmVtb3RlX2xvZ19pbmZv\nKGNvbmZpZ1siU0VSVklDRSJdLmdldCgicmVtb3RlX2xvZ19ob3N0IiksIGNv\nbmZpZ1siU0VSVklDRSJdLmdldCgicmVtb3RlX2xvZ19wYXRoIikpCiAgICBw\ncmVwcm9jLnNldF9tYXhfY29udGVudF9zaXplKGNvbmZpZ1siU0VSVklDRSJd\nWyJtYXhfY29udGVudF9zaXplIl0pCgogICAgbG9nZ2VyLmluZm8oZiJUb3Rh\nbCBTUERYIGxpY2Vuc2VzIDoge3ByZXByb2MuZ2V0X3RvdGFsX2xpY2Vuc2Vz\nKCl9IikKICAgIGxvZ2dlci5pbmZvKGYiVG90YWwgcmUzcmVwb3NpdG9yaWVz\nIGZvdW5kIGZyb20gZGF0YWNpdGUgYXBpIDoge2xlbihwcmVwcm9jLmdldFJF\nM3JlcG9zaXRvcmllcygpKX0iKQogICAgbG9nZ2VyLmluZm8oZiJUb3RhbCBz\ndWJqZWN0cyBhcmVhIG9mIGltcG9ydGVkIG1ldGFkYXRhIHN0YW5kYXJkcyA6\nIHtsZW4ocHJlcHJvYy5tZXRhZGF0YV9zdGFuZGFyZHMpfSIpCiAgICBsb2dn\nZXIuaW5mbyhmIlRvdGFsIExEIHZvY2FicyBpbXBvcnRlZCA6IHtsZW4ocHJl\ncHJvYy5nZXRMaW5rZWRWb2NhYnMoKSl9IikKICAgIGxvZ2dlci5pbmZvKGYi\nVG90YWwgZGVmYXVsdCBuYW1lc3BhY2VzIHNwZWNpZmllZCA6IHtsZW4ocHJl\ncHJvYy5nZXREZWZhdWx0TmFtZXNwYWNlcygpKX0iKQoKICAgIGFwcCA9IGNy\nZWF0ZV9hcHAoY29uZmlnKQogICAgTGltaXRlcihnZXRfcmVtb3RlX2FkZHJl\nc3MsIGFwcD1hcHAuYXBwLCBkZWZhdWx0X2xpbWl0cz1bc3RyKGNvbmZpZ1si\nU0VSVklDRSJdWyJyYXRlX2xpbWl0Il0pXSkKICAgICMgYnVpbHQgaW4gdXZp\nY29ybiBBU0dJCiAgICBhcHAucnVuKGhvc3Q9Y29uZmlnWyJTRVJWSUNFIl1b\nInNlcnZpY2VfaG9zdCJdLCBwb3J0PWludChjb25maWdbIlNFUlZJQ0UiXVsi\nc2VydmljZV9wb3J0Il0pKQoKCmlmIF9fbmFtZV9fID09ICJfX21haW5fXyI6\nCiAgICBnbG9iYWwgY29uZmlnCiAgICBteV9wYXRoID0gb3MucGF0aC5hYnNw\nYXRoKG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXykpCiAgICBwYXJzZXIgPSBh\ncmdwYXJzZS5Bcmd1bWVudFBhcnNlcigpCiAgICAjIGFkZCBhIG5ldyBjb21t\nYW5kIGxpbmUgb3B0aW9uLCBjYWxsIGl0ICctYycgYW5kIHNldCBpdHMgZGVz\ndGluYXRpb24gdG8gJ2NvbmZpZ19maWxlJwogICAgcGFyc2VyLmFkZF9hcmd1\nbWVudCgiLWMiLCAiLS1jb25maWciLCByZXF1aXJlZD1UcnVlLCBoZWxwPSJQ\nYXRoIHRvIHNlcnZlci5pbmkgY29uZmlnIGZpbGUiKQogICAgYXJncyA9IHBh\ncnNlci5wYXJzZV9hcmdzKCkKICAgIGNvbmZpZyA9IGNvbmZpZ3BhcnNlci5D\nb25maWdQYXJzZXIoKQogICAgY29uZmlnLnJlYWQoYXJncy5jb25maWcpCiAg\nICBsb2dfY29uZmlnZmlsZSA9IG9zLnBhdGguam9pbihteV9wYXRoLCBjb25m\naWdbIlNFUlZJQ0UiXVsibG9nX2NvbmZpZyJdKQogICAgbG9nX2RpciA9IGNv\nbmZpZ1siU0VSVklDRSJdWyJsb2dkaXIiXQogICAgbG9nX2RpcmVjdG9yeSA9\nIG9zLnBhdGguam9pbihteV9wYXRoLCBsb2dfZGlyKQogICAgbG9nX2ZpbGVf\ncGF0aCA9IG9zLnBhdGguam9pbihsb2dfZGlyZWN0b3J5LCAiZnVqaS5sb2ci\nKQoKICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhsb2dfZGlyZWN0b3J5KToK\nICAgICAgICBvcy5tYWtlZGlycyhsb2dfZGlyZWN0b3J5LCBleGlzdF9vaz1U\ncnVlKQogICAgIyBmaWxlQ29uZmlnKGxvZ19jb25maWdmaWxlLCBkZWZhdWx0\ncz17J2xvZ2ZpbGVuYW1lJzogbG9nX2ZpbGVfcGF0aC5yZXBsYWNlKCJcXCIs\nICIvIil9KQogICAgbG9nZ2VyID0gbG9nZ2luZy5nZXRMb2dnZXIoKSAgIyB1\nc2UgdGhpcyBmb3JtIHRvIGluaXRpYWxpemUgdGhlIHJvb3QgbG9nZ2VyCiAg\nICBtYWluKCkK\n","encoding":"base64","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/__main__.py?ref=708fe43a1ee5f4557368dcd66622ec869fe854f9","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/b6393d59b041fd80dd5679447a14e4de3185a0a1","html":"https://github.com/pangaea-data-publisher/fuji/blob/708fe43a1ee5f4557368dcd66622ec869fe854f9/fuji_server/__main__.py"}}' + string: '{"name":"__init__.py","path":"fuji_server/__init__.py","sha":"a69f396f755bf5775f5c37815cd46e69d04bf360","size":4536,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/__init__.py?ref=9f419b8b1d239da31e09b105f593581cc78e2f15","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/9f419b8b1d239da31e09b105f593581cc78e2f15/fuji_server/__init__.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/a69f396f755bf5775f5c37815cd46e69d04bf360","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/9f419b8b1d239da31e09b105f593581cc78e2f15/fuji_server/__init__.py","type":"file","content":"IyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiAyMDIwIFBBTkdBRUEgKGh0dHBz\nOi8vd3d3LnBhbmdhZWEuZGUvKQojCiMgU1BEWC1MaWNlbnNlLUlkZW50aWZp\nZXI6IE1JVAoKIyBjb2Rpbmc6IHV0Zi04CgojIGZsYWtlODogbm9xYQpmcm9t\nIF9fZnV0dXJlX18gaW1wb3J0IGFic29sdXRlX2ltcG9ydAoKIyBpbXBvcnQg\nbW9kZWxzIGludG8gbW9kZWwgcGFja2FnZQpmcm9tIGZ1amlfc2VydmVyLm1v\nZGVscy5hbnlfb2ZfZmFpcl9yZXN1bHRzX3Jlc3VsdHNfaXRlbXMgaW1wb3J0\nIEFueU9mRkFJUlJlc3VsdHNSZXN1bHRzSXRlbXMKZnJvbSBmdWppX3NlcnZl\nci5tb2RlbHMuYm9keSBpbXBvcnQgQm9keQpmcm9tIGZ1amlfc2VydmVyLm1v\nZGVscy5jb21tdW5pdHlfZW5kb3JzZWRfc3RhbmRhcmQgaW1wb3J0IENvbW11\nbml0eUVuZG9yc2VkU3RhbmRhcmQKZnJvbSBmdWppX3NlcnZlci5tb2RlbHMu\nY29tbXVuaXR5X2VuZG9yc2VkX3N0YW5kYXJkX291dHB1dCBpbXBvcnQgQ29t\nbXVuaXR5RW5kb3JzZWRTdGFuZGFyZE91dHB1dApmcm9tIGZ1amlfc2VydmVy\nLm1vZGVscy5jb21tdW5pdHlfZW5kb3JzZWRfc3RhbmRhcmRfb3V0cHV0X2lu\nbmVyIGltcG9ydCBDb21tdW5pdHlFbmRvcnNlZFN0YW5kYXJkT3V0cHV0SW5u\nZXIKZnJvbSBmdWppX3NlcnZlci5tb2RlbHMuY29yZV9tZXRhZGF0YSBpbXBv\ncnQgQ29yZU1ldGFkYXRhCmZyb20gZnVqaV9zZXJ2ZXIubW9kZWxzLmNvcmVf\nbWV0YWRhdGFfb3V0cHV0IGltcG9ydCBDb3JlTWV0YWRhdGFPdXRwdXQKZnJv\nbSBmdWppX3NlcnZlci5tb2RlbHMuZGF0YV9hY2Nlc3NfbGV2ZWwgaW1wb3J0\nIERhdGFBY2Nlc3NMZXZlbApmcm9tIGZ1amlfc2VydmVyLm1vZGVscy5kYXRh\nX2FjY2Vzc19vdXRwdXQgaW1wb3J0IERhdGFBY2Nlc3NPdXRwdXQKZnJvbSBm\ndWppX3NlcnZlci5tb2RlbHMuZGF0YV9jb250ZW50X21ldGFkYXRhIGltcG9y\ndCBEYXRhQ29udGVudE1ldGFkYXRhCmZyb20gZnVqaV9zZXJ2ZXIubW9kZWxz\nLmRhdGFfY29udGVudF9tZXRhZGF0YV9vdXRwdXQgaW1wb3J0IERhdGFDb250\nZW50TWV0YWRhdGFPdXRwdXQKZnJvbSBmdWppX3NlcnZlci5tb2RlbHMuZGF0\nYV9jb250ZW50X21ldGFkYXRhX291dHB1dF9pbm5lciBpbXBvcnQgRGF0YUNv\nbnRlbnRNZXRhZGF0YU91dHB1dElubmVyCmZyb20gZnVqaV9zZXJ2ZXIubW9k\nZWxzLmRhdGFfZmlsZV9mb3JtYXQgaW1wb3J0IERhdGFGaWxlRm9ybWF0CmZy\nb20gZnVqaV9zZXJ2ZXIubW9kZWxzLmRhdGFfZmlsZV9mb3JtYXRfb3V0cHV0\nIGltcG9ydCBEYXRhRmlsZUZvcm1hdE91dHB1dApmcm9tIGZ1amlfc2VydmVy\nLm1vZGVscy5kYXRhX2ZpbGVfZm9ybWF0X291dHB1dF9pbm5lciBpbXBvcnQg\nRGF0YUZpbGVGb3JtYXRPdXRwdXRJbm5lcgpmcm9tIGZ1amlfc2VydmVyLm1v\nZGVscy5kYXRhX3Byb3ZlbmFuY2UgaW1wb3J0IERhdGFQcm92ZW5hbmNlCmZy\nb20gZnVqaV9zZXJ2ZXIubW9kZWxzLmRhdGFfcHJvdmVuYW5jZV9vdXRwdXQg\naW1wb3J0IERhdGFQcm92ZW5hbmNlT3V0cHV0CmZyb20gZnVqaV9zZXJ2ZXIu\nbW9kZWxzLmRhdGFfcHJvdmVuYW5jZV9vdXRwdXRfaW5uZXIgaW1wb3J0IERh\ndGFQcm92ZW5hbmNlT3V0cHV0SW5uZXIKZnJvbSBmdWppX3NlcnZlci5tb2Rl\nbHMuZGVidWcgaW1wb3J0IERlYnVnCmZyb20gZnVqaV9zZXJ2ZXIubW9kZWxz\nLmZhaXJfcmVzdWx0X2NvbW1vbiBpbXBvcnQgRkFJUlJlc3VsdENvbW1vbgpm\ncm9tIGZ1amlfc2VydmVyLm1vZGVscy5mYWlyX3Jlc3VsdF9jb21tb25fc2Nv\ncmUgaW1wb3J0IEZBSVJSZXN1bHRDb21tb25TY29yZQpmcm9tIGZ1amlfc2Vy\ndmVyLm1vZGVscy5mYWlyX3Jlc3VsdF9ldmFsdWF0aW9uX2NyaXRlcml1bSBp\nbXBvcnQgRkFJUlJlc3VsdEV2YWx1YXRpb25Dcml0ZXJpdW0KZnJvbSBmdWpp\nX3NlcnZlci5tb2RlbHMuZmFpcl9yZXN1bHRzIGltcG9ydCBGQUlSUmVzdWx0\ncwpmcm9tIGZ1amlfc2VydmVyLm1vZGVscy5mb3JtYWxfbWV0YWRhdGEgaW1w\nb3J0IEZvcm1hbE1ldGFkYXRhCmZyb20gZnVqaV9zZXJ2ZXIubW9kZWxzLmZv\ncm1hbF9tZXRhZGF0YV9vdXRwdXQgaW1wb3J0IEZvcm1hbE1ldGFkYXRhT3V0\ncHV0CmZyb20gZnVqaV9zZXJ2ZXIubW9kZWxzLmZvcm1hbF9tZXRhZGF0YV9v\ndXRwdXRfaW5uZXIgaW1wb3J0IEZvcm1hbE1ldGFkYXRhT3V0cHV0SW5uZXIK\nZnJvbSBmdWppX3NlcnZlci5tb2RlbHMuaGFydmVzdCBpbXBvcnQgSGFydmVz\ndApmcm9tIGZ1amlfc2VydmVyLm1vZGVscy5oYXJ2ZXN0X3Jlc3VsdHMgaW1w\nb3J0IEhhcnZlc3RSZXN1bHRzCmZyb20gZnVqaV9zZXJ2ZXIubW9kZWxzLmhh\ncnZlc3RfcmVzdWx0c19tZXRhZGF0YSBpbXBvcnQgSGFydmVzdFJlc3VsdHNN\nZXRhZGF0YQpmcm9tIGZ1amlfc2VydmVyLm1vZGVscy5pZGVudGlmaWVyX2lu\nY2x1ZGVkIGltcG9ydCBJZGVudGlmaWVySW5jbHVkZWQKZnJvbSBmdWppX3Nl\ncnZlci5tb2RlbHMuaWRlbnRpZmllcl9pbmNsdWRlZF9vdXRwdXQgaW1wb3J0\nIElkZW50aWZpZXJJbmNsdWRlZE91dHB1dApmcm9tIGZ1amlfc2VydmVyLm1v\nZGVscy5pZGVudGlmaWVyX2luY2x1ZGVkX291dHB1dF9pbm5lciBpbXBvcnQg\nSWRlbnRpZmllckluY2x1ZGVkT3V0cHV0SW5uZXIKZnJvbSBmdWppX3NlcnZl\nci5tb2RlbHMubGljZW5zZSBpbXBvcnQgTGljZW5zZQpmcm9tIGZ1amlfc2Vy\ndmVyLm1vZGVscy5saWNlbnNlX291dHB1dCBpbXBvcnQgTGljZW5zZU91dHB1\ndApmcm9tIGZ1amlfc2VydmVyLm1vZGVscy5saWNlbnNlX291dHB1dF9pbm5l\nciBpbXBvcnQgTGljZW5zZU91dHB1dElubmVyCmZyb20gZnVqaV9zZXJ2ZXIu\nbW9kZWxzLm1ldGFkYXRhX3ByZXNlcnZlZCBpbXBvcnQgTWV0YWRhdGFQcmVz\nZXJ2ZWQKZnJvbSBmdWppX3NlcnZlci5tb2RlbHMubWV0YWRhdGFfcHJlc2Vy\ndmVkX291dHB1dCBpbXBvcnQgTWV0YWRhdGFQcmVzZXJ2ZWRPdXRwdXQKZnJv\nbSBmdWppX3NlcnZlci5tb2RlbHMubWV0cmljIGltcG9ydCBNZXRyaWMKZnJv\nbSBmdWppX3NlcnZlci5tb2RlbHMubWV0cmljcyBpbXBvcnQgTWV0cmljcwpm\ncm9tIGZ1amlfc2VydmVyLm1vZGVscy5vdXRwdXRfY29yZV9tZXRhZGF0YV9m\nb3VuZCBpbXBvcnQgT3V0cHV0Q29yZU1ldGFkYXRhRm91bmQKZnJvbSBmdWpp\nX3NlcnZlci5tb2RlbHMub3V0cHV0X3NlYXJjaF9tZWNoYW5pc21zIGltcG9y\ndCBPdXRwdXRTZWFyY2hNZWNoYW5pc21zCmZyb20gZnVqaV9zZXJ2ZXIubW9k\nZWxzLnBlcnNpc3RlbmNlIGltcG9ydCBQZXJzaXN0ZW5jZQpmcm9tIGZ1amlf\nc2VydmVyLm1vZGVscy5wZXJzaXN0ZW5jZV9vdXRwdXQgaW1wb3J0IFBlcnNp\nc3RlbmNlT3V0cHV0CmZyb20gZnVqaV9zZXJ2ZXIubW9kZWxzLnBlcnNpc3Rl\nbmNlX291dHB1dF9pbm5lciBpbXBvcnQgUGVyc2lzdGVuY2VPdXRwdXRJbm5l\ncgpmcm9tIGZ1amlfc2VydmVyLm1vZGVscy5yZWxhdGVkX3Jlc291cmNlIGlt\ncG9ydCBSZWxhdGVkUmVzb3VyY2UKZnJvbSBmdWppX3NlcnZlci5tb2RlbHMu\ncmVsYXRlZF9yZXNvdXJjZV9vdXRwdXQgaW1wb3J0IFJlbGF0ZWRSZXNvdXJj\nZU91dHB1dApmcm9tIGZ1amlfc2VydmVyLm1vZGVscy5yZWxhdGVkX3Jlc291\ncmNlX291dHB1dF9pbm5lciBpbXBvcnQgUmVsYXRlZFJlc291cmNlT3V0cHV0\nSW5uZXIKZnJvbSBmdWppX3NlcnZlci5tb2RlbHMuc2VhcmNoYWJsZSBpbXBv\ncnQgU2VhcmNoYWJsZQpmcm9tIGZ1amlfc2VydmVyLm1vZGVscy5zZWFyY2hh\nYmxlX291dHB1dCBpbXBvcnQgU2VhcmNoYWJsZU91dHB1dApmcm9tIGZ1amlf\nc2VydmVyLm1vZGVscy5zZW1hbnRpY192b2NhYnVsYXJ5IGltcG9ydCBTZW1h\nbnRpY1ZvY2FidWxhcnkKZnJvbSBmdWppX3NlcnZlci5tb2RlbHMuc2VtYW50\naWNfdm9jYWJ1bGFyeV9vdXRwdXQgaW1wb3J0IFNlbWFudGljVm9jYWJ1bGFy\neU91dHB1dApmcm9tIGZ1amlfc2VydmVyLm1vZGVscy5zZW1hbnRpY192b2Nh\nYnVsYXJ5X291dHB1dF9pbm5lciBpbXBvcnQgU2VtYW50aWNWb2NhYnVsYXJ5\nT3V0cHV0SW5uZXIKZnJvbSBmdWppX3NlcnZlci5tb2RlbHMuc3RhbmRhcmRp\nc2VkX3Byb3RvY29sX2RhdGEgaW1wb3J0IFN0YW5kYXJkaXNlZFByb3RvY29s\nRGF0YQpmcm9tIGZ1amlfc2VydmVyLm1vZGVscy5zdGFuZGFyZGlzZWRfcHJv\ndG9jb2xfZGF0YV9vdXRwdXQgaW1wb3J0IFN0YW5kYXJkaXNlZFByb3RvY29s\nRGF0YU91dHB1dApmcm9tIGZ1amlfc2VydmVyLm1vZGVscy5zdGFuZGFyZGlz\nZWRfcHJvdG9jb2xfbWV0YWRhdGEgaW1wb3J0IFN0YW5kYXJkaXNlZFByb3Rv\nY29sTWV0YWRhdGEKZnJvbSBmdWppX3NlcnZlci5tb2RlbHMuc3RhbmRhcmRp\nc2VkX3Byb3RvY29sX21ldGFkYXRhX291dHB1dCBpbXBvcnQgU3RhbmRhcmRp\nc2VkUHJvdG9jb2xNZXRhZGF0YU91dHB1dApmcm9tIGZ1amlfc2VydmVyLm1v\nZGVscy51bmlxdWVuZXNzIGltcG9ydCBVbmlxdWVuZXNzCmZyb20gZnVqaV9z\nZXJ2ZXIubW9kZWxzLnVuaXF1ZW5lc3Nfb3V0cHV0IGltcG9ydCBVbmlxdWVu\nZXNzT3V0cHV0Cgpmcm9tIGltcG9ydGxpYi5tZXRhZGF0YSBpbXBvcnQgdmVy\nc2lvbgoKX192ZXJzaW9uX18gPSB2ZXJzaW9uKCJmdWppIikK\n","encoding":"base64","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/__init__.py?ref=9f419b8b1d239da31e09b105f593581cc78e2f15","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/a69f396f755bf5775f5c37815cd46e69d04bf360","html":"https://github.com/pangaea-data-publisher/fuji/blob/9f419b8b1d239da31e09b105f593581cc78e2f15/fuji_server/__init__.py"}}' headers: Access-Control-Allow-Origin: - '*' @@ -866,11 +1004,3487 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Fri, 12 Jan 2024 16:17:08 GMT + - Fri, 03 May 2024 13:42:05 GMT ETag: - - W/"b6393d59b041fd80dd5679447a14e4de3185a0a1" + - W/"a69f396f755bf5775f5c37815cd46e69d04bf360" + Last-Modified: + - Fri, 03 May 2024 07:27:26 GMT + Referrer-Policy: + - origin-when-cross-origin, strict-origin-when-cross-origin + Server: + - GitHub.com + Strict-Transport-Security: + - max-age=31536000; includeSubdomains; preload + Transfer-Encoding: + - chunked + Vary: + - Accept, Authorization, Cookie, X-GitHub-OTP + - Accept-Encoding, Accept, X-Requested-With + X-Accepted-OAuth-Scopes: + - '' + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + X-GitHub-Media-Type: + - github.v3; format=json + X-GitHub-Request-Id: + - C682:203DC:22F749:23CA3F:6634E9AD + X-OAuth-Scopes: + - repo + X-RateLimit-Limit: + - '5000' + X-RateLimit-Remaining: + - '4759' + X-RateLimit-Reset: + - '1714744789' + X-RateLimit-Resource: + - core + X-RateLimit-Used: + - '241' + X-XSS-Protection: + - '0' + github-authentication-token-expiration: + - 2024-07-08 07:44:52 UTC + x-github-api-version-selected: + - '2022-11-28' + status: + code: 200 + message: OK +- request: + body: + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Authorization: + - token ghp_MASKED + Connection: + - keep-alive + User-Agent: + - PyGithub/Python + method: GET + uri: https://api.github.com/repos/pangaea-data-publisher/fuji/contents/ + response: + body: + string: '[{"name":".github","path":".github","sha":"17dd9b10b88efe390710e05bff62b175516132fa","size":0,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/.github?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/tree/master/.github","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/17dd9b10b88efe390710e05bff62b175516132fa","download_url":null,"type":"dir","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/.github?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/17dd9b10b88efe390710e05bff62b175516132fa","html":"https://github.com/pangaea-data-publisher/fuji/tree/master/.github"}},{"name":".gitignore","path":".gitignore","sha":"7d6097d24e6c3d642066ca926315f2d2e774b10f","size":2808,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/.gitignore?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/.gitignore","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/7d6097d24e6c3d642066ca926315f2d2e774b10f","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/.gitignore","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/.gitignore?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/7d6097d24e6c3d642066ca926315f2d2e774b10f","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/.gitignore"}},{"name":".pre-commit-config.yaml","path":".pre-commit-config.yaml","sha":"fa64609e268bd4b5c1b635e23b51281af52fc09f","size":1043,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/.pre-commit-config.yaml?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/.pre-commit-config.yaml","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/fa64609e268bd4b5c1b635e23b51281af52fc09f","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/.pre-commit-config.yaml","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/.pre-commit-config.yaml?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/fa64609e268bd4b5c1b635e23b51281af52fc09f","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/.pre-commit-config.yaml"}},{"name":".swagger-codegen-ignore","path":".swagger-codegen-ignore","sha":"c5fa491b4c557bf997d5dd21797de782545dc9e5","size":1030,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/.swagger-codegen-ignore?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/.swagger-codegen-ignore","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/c5fa491b4c557bf997d5dd21797de782545dc9e5","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/.swagger-codegen-ignore","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/.swagger-codegen-ignore?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/c5fa491b4c557bf997d5dd21797de782545dc9e5","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/.swagger-codegen-ignore"}},{"name":"AUTHORS","path":"AUTHORS","sha":"3f44d9d67c29ff05ec4abdfcf2f67e240bb6e760","size":664,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/AUTHORS?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/AUTHORS","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/3f44d9d67c29ff05ec4abdfcf2f67e240bb6e760","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/AUTHORS","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/AUTHORS?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/3f44d9d67c29ff05ec4abdfcf2f67e240bb6e760","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/AUTHORS"}},{"name":"CITATION.cff","path":"CITATION.cff","sha":"e22fbb1842cc4fc5e3f5485ec86d1a71f36332ad","size":1002,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/CITATION.cff?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/CITATION.cff","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/e22fbb1842cc4fc5e3f5485ec86d1a71f36332ad","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/CITATION.cff","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/CITATION.cff?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/e22fbb1842cc4fc5e3f5485ec86d1a71f36332ad","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/CITATION.cff"}},{"name":"CONTRIBUTING.md","path":"CONTRIBUTING.md","sha":"205eeb04174ed9f3c7495dee16cf9bbbbd031794","size":3880,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/CONTRIBUTING.md?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/CONTRIBUTING.md","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/205eeb04174ed9f3c7495dee16cf9bbbbd031794","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/CONTRIBUTING.md","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/CONTRIBUTING.md?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/205eeb04174ed9f3c7495dee16cf9bbbbd031794","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/CONTRIBUTING.md"}},{"name":"Dockerfile","path":"Dockerfile","sha":"48996fd118306d22e06ac602c998470fbb4fb0ad","size":996,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/Dockerfile?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/Dockerfile","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/48996fd118306d22e06ac602c998470fbb4fb0ad","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/Dockerfile","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/Dockerfile?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/48996fd118306d22e06ac602c998470fbb4fb0ad","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/Dockerfile"}},{"name":"LICENSE","path":"LICENSE","sha":"40f22c50b59b959d5e855961998d88dfa13c6279","size":1090,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/LICENSE?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/LICENSE","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/40f22c50b59b959d5e855961998d88dfa13c6279","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/LICENSE","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/LICENSE?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/40f22c50b59b959d5e855961998d88dfa13c6279","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/LICENSE"}},{"name":"README.md","path":"README.md","sha":"e2f8f711ab6ce0233fc75f449ec7ab3c834b92b4","size":13355,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/README.md?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/README.md","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/e2f8f711ab6ce0233fc75f449ec7ab3c834b92b4","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/README.md","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/README.md?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/e2f8f711ab6ce0233fc75f449ec7ab3c834b92b4","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/README.md"}},{"name":"docker-compose.yml","path":"docker-compose.yml","sha":"2298b08b55be21086b455f3a50ac72229e7a6065","size":326,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/docker-compose.yml?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/docker-compose.yml","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/2298b08b55be21086b455f3a50ac72229e7a6065","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/docker-compose.yml","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/docker-compose.yml?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/2298b08b55be21086b455f3a50ac72229e7a6065","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/docker-compose.yml"}},{"name":"docs","path":"docs","sha":"1c4ce22d4ef2952644c4819a5504071c436491d6","size":0,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/docs?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/tree/master/docs","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/1c4ce22d4ef2952644c4819a5504071c436491d6","download_url":null,"type":"dir","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/docs?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/1c4ce22d4ef2952644c4819a5504071c436491d6","html":"https://github.com/pangaea-data-publisher/fuji/tree/master/docs"}},{"name":"examples","path":"examples","sha":"1d447563934a0226d21665df7449a1466abbd8d6","size":0,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/examples?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/tree/master/examples","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/1d447563934a0226d21665df7449a1466abbd8d6","download_url":null,"type":"dir","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/examples?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/1d447563934a0226d21665df7449a1466abbd8d6","html":"https://github.com/pangaea-data-publisher/fuji/tree/master/examples"}},{"name":"fuji_server","path":"fuji_server","sha":"5548531ee164434b0ca3223fcc9c0e87b58271cf","size":0,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/tree/master/fuji_server","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/5548531ee164434b0ca3223fcc9c0e87b58271cf","download_url":null,"type":"dir","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/5548531ee164434b0ca3223fcc9c0e87b58271cf","html":"https://github.com/pangaea-data-publisher/fuji/tree/master/fuji_server"}},{"name":"metrics_configuration.md","path":"metrics_configuration.md","sha":"0ac6d5f986412ff3462654bbde9471f0b48f9365","size":3048,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/metrics_configuration.md?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/metrics_configuration.md","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/0ac6d5f986412ff3462654bbde9471f0b48f9365","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/metrics_configuration.md","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/metrics_configuration.md?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/0ac6d5f986412ff3462654bbde9471f0b48f9365","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/metrics_configuration.md"}},{"name":"pyproject.toml","path":"pyproject.toml","sha":"bff44a7ccf229bdf516aa9655e8ffb87de0bbd50","size":4140,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/pyproject.toml?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/pyproject.toml","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/bff44a7ccf229bdf516aa9655e8ffb87de0bbd50","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/pyproject.toml","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/pyproject.toml?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/bff44a7ccf229bdf516aa9655e8ffb87de0bbd50","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/pyproject.toml"}},{"name":"simpleclient","path":"simpleclient","sha":"a1939a8a8dfbb0cc6f4f9f077811d07b3e8f2ab7","size":0,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/simpleclient?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/tree/master/simpleclient","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/a1939a8a8dfbb0cc6f4f9f077811d07b3e8f2ab7","download_url":null,"type":"dir","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/simpleclient?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/a1939a8a8dfbb0cc6f4f9f077811d07b3e8f2ab7","html":"https://github.com/pangaea-data-publisher/fuji/tree/master/simpleclient"}},{"name":"tests","path":"tests","sha":"12dcb6c130407341ed2fc739de99173820339559","size":0,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/tests?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/tree/master/tests","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/12dcb6c130407341ed2fc739de99173820339559","download_url":null,"type":"dir","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/tests?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/12dcb6c130407341ed2fc739de99173820339559","html":"https://github.com/pangaea-data-publisher/fuji/tree/master/tests"}}]' + headers: + Access-Control-Allow-Origin: + - '*' + Access-Control-Expose-Headers: + - ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset + Cache-Control: + - private, max-age=60, s-maxage=60 + Content-Encoding: + - gzip + Content-Security-Policy: + - default-src 'none' + Content-Type: + - application/json; charset=utf-8 + Date: + - Fri, 03 May 2024 13:42:06 GMT + ETag: + - W/"ebba17509a44e60e09b57a6d211021b3ca0688d2" + Last-Modified: + - Fri, 03 May 2024 07:27:29 GMT + Referrer-Policy: + - origin-when-cross-origin, strict-origin-when-cross-origin + Server: + - GitHub.com + Strict-Transport-Security: + - max-age=31536000; includeSubdomains; preload + Transfer-Encoding: + - chunked + Vary: + - Accept, Authorization, Cookie, X-GitHub-OTP + - Accept-Encoding, Accept, X-Requested-With + X-Accepted-OAuth-Scopes: + - '' + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + X-GitHub-Media-Type: + - github.v3; format=json + X-GitHub-Request-Id: + - 2930:2D2C78:343BED9:359CB93:6634E9AE + X-OAuth-Scopes: + - repo + X-RateLimit-Limit: + - '5000' + X-RateLimit-Remaining: + - '4758' + X-RateLimit-Reset: + - '1714744789' + X-RateLimit-Resource: + - core + X-RateLimit-Used: + - '242' + X-XSS-Protection: + - '0' + github-authentication-token-expiration: + - 2024-07-08 07:44:52 UTC + x-github-api-version-selected: + - '2022-11-28' + status: + code: 200 + message: OK +- request: + body: + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Authorization: + - token ghp_MASKED + Connection: + - keep-alive + User-Agent: + - PyGithub/Python + method: GET + uri: https://api.github.com/repos/pangaea-data-publisher/fuji/contents/.github + response: + body: + string: '[{"name":"ISSUE_TEMPLATE","path":".github/ISSUE_TEMPLATE","sha":"88f95f911fe6bc3b2d8886adb81d628cdb49281b","size":0,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/.github/ISSUE_TEMPLATE?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/tree/master/.github/ISSUE_TEMPLATE","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/88f95f911fe6bc3b2d8886adb81d628cdb49281b","download_url":null,"type":"dir","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/.github/ISSUE_TEMPLATE?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/88f95f911fe6bc3b2d8886adb81d628cdb49281b","html":"https://github.com/pangaea-data-publisher/fuji/tree/master/.github/ISSUE_TEMPLATE"}},{"name":"PULL_REQUEST_TEMPLATE.md","path":".github/PULL_REQUEST_TEMPLATE.md","sha":"a7c29c151320a10e11388837319a69c0cc50d424","size":2176,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/.github/PULL_REQUEST_TEMPLATE.md?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/.github/PULL_REQUEST_TEMPLATE.md","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/a7c29c151320a10e11388837319a69c0cc50d424","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/.github/PULL_REQUEST_TEMPLATE.md","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/.github/PULL_REQUEST_TEMPLATE.md?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/a7c29c151320a10e11388837319a69c0cc50d424","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/.github/PULL_REQUEST_TEMPLATE.md"}},{"name":"dependabot.yml","path":".github/dependabot.yml","sha":"ce9aa1d7da530936e59df69c3ac4cc53bf56b88c","size":314,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/.github/dependabot.yml?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/.github/dependabot.yml","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/ce9aa1d7da530936e59df69c3ac4cc53bf56b88c","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/.github/dependabot.yml","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/.github/dependabot.yml?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/ce9aa1d7da530936e59df69c3ac4cc53bf56b88c","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/.github/dependabot.yml"}},{"name":"workflows","path":".github/workflows","sha":"d2909d01525dbab7288ca5ab84d3b8417f0ce6ac","size":0,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/.github/workflows?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/tree/master/.github/workflows","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/d2909d01525dbab7288ca5ab84d3b8417f0ce6ac","download_url":null,"type":"dir","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/.github/workflows?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/d2909d01525dbab7288ca5ab84d3b8417f0ce6ac","html":"https://github.com/pangaea-data-publisher/fuji/tree/master/.github/workflows"}}]' + headers: + Access-Control-Allow-Origin: + - '*' + Access-Control-Expose-Headers: + - ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset + Cache-Control: + - private, max-age=60, s-maxage=60 + Content-Encoding: + - gzip + Content-Security-Policy: + - default-src 'none' + Content-Type: + - application/json; charset=utf-8 + Date: + - Fri, 03 May 2024 13:42:06 GMT + ETag: + - W/"ebba17509a44e60e09b57a6d211021b3ca0688d2" + Last-Modified: + - Fri, 03 May 2024 07:27:29 GMT + Referrer-Policy: + - origin-when-cross-origin, strict-origin-when-cross-origin + Server: + - GitHub.com + Strict-Transport-Security: + - max-age=31536000; includeSubdomains; preload + Transfer-Encoding: + - chunked + Vary: + - Accept, Authorization, Cookie, X-GitHub-OTP + - Accept-Encoding, Accept, X-Requested-With + X-Accepted-OAuth-Scopes: + - '' + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + X-GitHub-Media-Type: + - github.v3; format=json + X-GitHub-Request-Id: + - 508B:201833:362C3A0:379AFAA:6634E9AE + X-OAuth-Scopes: + - repo + X-RateLimit-Limit: + - '5000' + X-RateLimit-Remaining: + - '4757' + X-RateLimit-Reset: + - '1714744789' + X-RateLimit-Resource: + - core + X-RateLimit-Used: + - '243' + X-XSS-Protection: + - '0' + github-authentication-token-expiration: + - 2024-07-08 07:44:52 UTC + x-github-api-version-selected: + - '2022-11-28' + status: + code: 200 + message: OK +- request: + body: + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Authorization: + - token ghp_MASKED + Connection: + - keep-alive + User-Agent: + - PyGithub/Python + method: GET + uri: https://api.github.com/repos/pangaea-data-publisher/fuji/contents/LICENSE?ref=master + response: + body: + string: '{"name":"LICENSE","path":"LICENSE","sha":"40f22c50b59b959d5e855961998d88dfa13c6279","size":1090,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/LICENSE?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/LICENSE","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/40f22c50b59b959d5e855961998d88dfa13c6279","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/LICENSE","type":"file","content":"TUlUIExpY2Vuc2UKCkNvcHlyaWdodCAoYykgMjAyMCBQQU5HQUVBIChodHRw\nczovL3d3dy5wYW5nYWVhLmRlLykKClBlcm1pc3Npb24gaXMgaGVyZWJ5IGdy\nYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmlu\nZyBhIGNvcHkKb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1\nbWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwKaW4g\ndGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3\naXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cwp0byB1c2UsIGNvcHksIG1v\nZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2Us\nIGFuZC9vciBzZWxsCmNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBw\nZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcwpmdXJuaXNo\nZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRp\nb25zOgoKVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVy\nbWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsCmNvcGll\ncyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCgpU\nSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJS\nQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgpJTVBMSUVELCBJTkNMVURJ\nTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNI\nQU5UQUJJTElUWSwKRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug\nQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCkFV\nVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkg\nQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKTElBQklMSVRZLCBXSEVUSEVSIElO\nIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFS\nSVNJTkcgRlJPTSwKT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUg\nU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUK\nU09GVFdBUkUuCg==\n","encoding":"base64","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/LICENSE?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/40f22c50b59b959d5e855961998d88dfa13c6279","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/LICENSE"}}' + headers: + Access-Control-Allow-Origin: + - '*' + Access-Control-Expose-Headers: + - ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset + Cache-Control: + - private, max-age=60, s-maxage=60 + Content-Encoding: + - gzip + Content-Security-Policy: + - default-src 'none' + Content-Type: + - application/json; charset=utf-8 + Date: + - Fri, 03 May 2024 13:42:07 GMT + ETag: + - W/"40f22c50b59b959d5e855961998d88dfa13c6279" + Last-Modified: + - Fri, 03 May 2024 07:27:26 GMT + Referrer-Policy: + - origin-when-cross-origin, strict-origin-when-cross-origin + Server: + - GitHub.com + Strict-Transport-Security: + - max-age=31536000; includeSubdomains; preload + Transfer-Encoding: + - chunked + Vary: + - Accept, Authorization, Cookie, X-GitHub-OTP + - Accept-Encoding, Accept, X-Requested-With + X-Accepted-OAuth-Scopes: + - '' + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + X-GitHub-Media-Type: + - github.v3; format=json + X-GitHub-Request-Id: + - C698:20215B:36F8E5C:3867A62:6634E9AF + X-OAuth-Scopes: + - repo + X-RateLimit-Limit: + - '5000' + X-RateLimit-Remaining: + - '4756' + X-RateLimit-Reset: + - '1714744789' + X-RateLimit-Resource: + - core + X-RateLimit-Used: + - '244' + X-XSS-Protection: + - '0' + github-authentication-token-expiration: + - 2024-07-08 07:44:52 UTC + x-github-api-version-selected: + - '2022-11-28' + status: + code: 200 + message: OK +- request: + body: + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Authorization: + - token ghp_MASKED + Connection: + - keep-alive + User-Agent: + - PyGithub/Python + method: GET + uri: https://api.github.com/repos/pangaea-data-publisher/fuji/contents/README.md?ref=master + response: + body: + string: '{"name":"README.md","path":"README.md","sha":"e2f8f711ab6ce0233fc75f449ec7ab3c834b92b4","size":13355,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/README.md?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/README.md","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/e2f8f711ab6ce0233fc75f449ec7ab3c834b92b4","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/README.md","type":"file","content":"IyBGLVVKSSAoRkFJUnNGQUlSIFJlc2VhcmNoIERhdGEgT2JqZWN0IEFzc2Vz\nc21lbnQgU2VydmljZSkKRGV2ZWxvcGVyczogW1JvYmVydCBIdWJlcl0obWFp\nbHRvOnJodWJlckBtYXJ1bS5kZSksIFtBbnVzdXJpeWEgRGV2YXJhanVdKG1h\naWx0bzphbnVzdXJpeWEuZGV2YXJhanVAZ29vZ2xlbWFpbC5jb20pCgpUaGFu\na3MgdG8gW0hlaW56LUFsZXhhbmRlciBGdWV0dGVyZXJdKGh0dHBzOi8vZ2l0\naHViLmNvbS9hZnVldHRlcmVyKSBmb3IgaGlzIGNvbnRyaWJ1dGlvbnMgYW5k\nIGhpcyBoZWxwIGluIGNsZWFuaW5nIHVwIHRoZSBjb2RlLgoKWyFbQ0ldKGh0\ndHBzOi8vZ2l0aHViLmNvbS9wYW5nYWVhLWRhdGEtcHVibGlzaGVyL2Z1amkv\nYWN0aW9ucy93b3JrZmxvd3MvY2kueW1sL2JhZGdlLnN2ZyldKGh0dHBzOi8v\nZ2l0aHViLmNvbS9wYW5nYWVhLWRhdGEtcHVibGlzaGVyL2Z1amkvYWN0aW9u\ncy93b3JrZmxvd3MvY2kueW1sKQpbIVtDb3ZlcmFnZV0oaHR0cHM6Ly9wYW5n\nYWVhLWRhdGEtcHVibGlzaGVyLmdpdGh1Yi5pby9mdWppL2NvdmVyYWdlL2Nv\ndmVyYWdlYmFkZ2Uuc3ZnKV0oaHR0cHM6Ly9wYW5nYWVhLWRhdGEtcHVibGlz\naGVyLmdpdGh1Yi5pby9mdWppL2NvdmVyYWdlLykKClshW1B1Ymxpc2ggRG9j\na2VyIGltYWdlXShodHRwczovL2dpdGh1Yi5jb20vcGFuZ2FlYS1kYXRhLXB1\nYmxpc2hlci9mdWppL2FjdGlvbnMvd29ya2Zsb3dzL3B1Ymxpc2gtZG9ja2Vy\nLnltbC9iYWRnZS5zdmcpXShodHRwczovL2dpdGh1Yi5jb20vcGFuZ2FlYS1k\nYXRhLXB1Ymxpc2hlci9mdWppL2FjdGlvbnMvd29ya2Zsb3dzL3B1Ymxpc2gt\nZG9ja2VyLnltbCkKWyFbRE9JXShodHRwczovL3plbm9kby5vcmcvYmFkZ2Uv\nRE9JLzEwLjUyODEvemVub2RvLjExMDg0OTA5LnN2ZyldKGh0dHBzOi8vZG9p\nLm9yZy8xMC41MjgxL3plbm9kby4xMTA4NDkwOSkKCiMjIE92ZXJ2aWV3CgpG\nLVVKSSBpcyBhIHdlYiBzZXJ2aWNlIHRvIHByb2dyYW1tYXRpY2FsbHkgYXNz\nZXNzIEZBSVJuZXNzIG9mIHJlc2VhcmNoIGRhdGEgb2JqZWN0cyBiYXNlZCBv\nbiBbbWV0cmljc10oaHR0cHM6Ly9kb2kub3JnLzEwLjUyODEvemVub2RvLjM3\nNzU3OTMpIGRldmVsb3BlZCBieSB0aGUgW0ZBSVJzRkFJUl0oaHR0cHM6Ly93\nd3cuZmFpcnNmYWlyLmV1LykgcHJvamVjdC4KVGhlIHNlcnZpY2Ugd2lsbCBi\nZSBhcHBsaWVkIHRvIGRlbW9uc3RyYXRlIHRoZSBldmFsdWF0aW9uIG9mIG9i\namVjdHMgaW4gcmVwb3NpdG9yaWVzIHNlbGVjdGVkIGZvciBpbi1kZXB0aCBj\nb2xsYWJvcmF0aW9uIHdpdGggdGhlIHByb2plY3QuCgpUaGUgJ19fRl9fJyBz\ndGFuZHMgZm9yIEZBSVIgKG9mIGNvdXJzZSkgYW5kICdfX1VKSV9fJyBtZWFu\ncyAnVGVzdCcgaW4gTWFsYXkuIFNvIF9fRi1VSklfXyBpcyBhIEZBSVIgdGVz\ndGluZyB0b29sLgoKKipDaXRlIGFzKioKCkRldmFyYWp1LCBBLiBhbmQgSHVi\nZXIsIFIuICgyMDIxKS4gQW4gYXV0b21hdGVkIHNvbHV0aW9uIGZvciBtZWFz\ndXJpbmcgdGhlIHByb2dyZXNzIHRvd2FyZCBGQUlSIHJlc2VhcmNoIGRhdGEu\nIFBhdHRlcm5zLCB2b2wgMigxMSksIGh0dHBzOi8vZG9pLm9yZy8xMC4xMDE2\nL2oucGF0dGVyLjIwMjEuMTAwMzcwCgojIyMgQ2xpZW50cyBhbmQgVXNlciBJ\nbnRlcmZhY2UKCkEgd2ViIGRlbW8gdXNpbmcgRi1VSkkgaXMgYXZhaWxhYmxl\nIGF0IDxodHRwczovL3d3dy5mLXVqaS5uZXQ+LgoKQW4gUiBjbGllbnQgcGFj\na2FnZSB0aGF0IHdhcyBnZW5lcmF0ZWQgZnJvbSB0aGUgRi1VSkkgT3BlbkFQ\nSSBkZWZpbml0aW9uIGlzIGF2YWlsYWJsZSBmcm9tIDxodHRwczovL2dpdGh1\nYi5jb20vTkZESTRDaGVtL3JmdWppPi4KCkFuIG9wZW4gc291cmNlIHdlYiBj\nbGllbnQgZm9yIEYtVUpJIGlzIGF2YWlsYWJsZSBhdCA8aHR0cHM6Ly9naXRo\ndWIuY29tL01hYXN0cmljaHRVLUlEUy9mYWlyaWZpY2F0b3I+LgoKIyMgQXNz\nZXNzbWVudCBTY29wZSwgQ29uc3RyYWludCBhbmQgTGltaXRhdGlvbgpUaGUg\nc2VydmljZSBpcyAqKmluIGRldmVsb3BtZW50KiogYW5kIGl0cyBhc3Nlc3Nt\nZW50IGRlcGVuZHMgb24gc2V2ZXJhbCBmYWN0b3JzLgotIEluIHRoZSBGQUlS\nIGVjb3N5c3RlbSwgRkFJUiBhc3Nlc3NtZW50IG11c3QgZ28gYmV5b25kIHRo\nZSBvYmplY3QgaXRzZWxmLiBGQUlSIGVuYWJsaW5nIHNlcnZpY2VzIGFuZCBy\nZXBvc2l0b3JpZXMgYXJlIHZpdGFsIHRvIGVuc3VyZSB0aGF0IHJlc2VhcmNo\nIGRhdGEgb2JqZWN0cyByZW1haW4gRkFJUiBvdmVyIHRpbWUuIEltcG9ydGFu\ndGx5LCBtYWNoaW5lLXJlYWRhYmxlIHNlcnZpY2VzIChlLmcuLCByZWdpc3Ry\naWVzKSBhbmQgZG9jdW1lbnRzIChlLmcuLCBwb2xpY2llcykgYXJlIHJlcXVp\ncmVkIHRvIGVuYWJsZSBhdXRvbWF0ZWQgdGVzdHMuCi0gSW4gYWRkaXRpb24g\ndG8gcmVwb3NpdG9yeSBhbmQgc2VydmljZXMgcmVxdWlyZW1lbnRzLCBhdXRv\nbWF0ZWQgdGVzdGluZyBkZXBlbmRzIG9uIGNsZWFyIG1hY2hpbmUgYXNzZXNz\nYWJsZSBjcml0ZXJpYS4gU29tZSBhc3BlY3RzIChyaWNoLCBwbHVyYWxpdHks\nIGFjY3VyYXRlLCByZWxldmFudCkgc3BlY2lmaWVkIGluIEZBSVIgcHJpbmNp\ncGxlcyBzdGlsbCByZXF1aXJlIGh1bWFuIG1lZGlhdGlvbiBhbmQgaW50ZXJw\ncmV0YXRpb24uCi0gVGhlIHRlc3RzIG11c3QgZm9jdXMgb24gZ2VuZXJhbGx5\nIGFwcGxpY2FibGUgZGF0YS9tZXRhZGF0YSBjaGFyYWN0ZXJpc3RpY3MgdW50\naWwgZG9tYWluL2NvbW11bml0eS1kcml2ZW4gY3JpdGVyaWEgaGF2ZSBiZWVu\nIGFncmVlZCAoZS5nLiwgYXBwcm9wcmlhdGUgc2NoZW1hcyBhbmQgcmVxdWly\nZWQgZWxlbWVudHMgZm9yIHVzYWdlL2FjY2VzcyBjb250cm9sLCBldGMuKS4g\nRm9yIGV4YW1wbGUsIGZvciBzb21lIG1ldHJpY3MgKGkuZS4sIG9uIEkgYW5k\nIFIgcHJpbmNpcGxlcyksIHRoZSBhdXRvbWF0ZWQgdGVzdHMgd2UgcHJvcG9z\nZWQgb25seSBpbnNwZWN0IHRoZSDigJhzdXJmYWNl4oCZIG9mIGNyaXRlcmlh\nIHRvIGJlIGV2YWx1YXRlZC4gVGhlcmVmb3JlLCB0ZXN0cyBhcmUgZGVzaWdu\nZWQgaW4gY29uc2lkZXJhdGlvbiBvZiBnZW5lcmljIGNyb3NzLWRvbWFpbiBt\nZXRhZGF0YSBzdGFuZGFyZHMgc3VjaCBhcyBEdWJsaW4gQ29yZSwgRENBVCwg\nRGF0YUNpdGUsIHNjaGVtYS5vcmcsIGV0Yy4KLSBGQUlSIGFzc2Vzc21lbnQg\naXMgcGVyZm9ybWVkIGJhc2VkIG9uIGFnZ3JlZ2F0ZWQgbWV0YWRhdGE7IHRo\naXMgaW5jbHVkZXMgbWV0YWRhdGEgZW1iZWRkZWQgaW4gdGhlIGRhdGEgKGxh\nbmRpbmcpIHBhZ2UsIG1ldGFkYXRhIHJldHJpZXZlZCBmcm9tIGEgUElEIHBy\nb3ZpZGVyIChlLmcuLCBEYXRhQ2l0ZSBjb250ZW50IG5lZ290aWF0aW9uKSBh\nbmQgb3RoZXIgc2VydmljZXMgKGUuZy4sIHJlM2RhdGEpLgoKIVthbHQgdGV4\ndF0oaHR0cHM6Ly9naXRodWIuY29tL3BhbmdhZWEtZGF0YS1wdWJsaXNoZXIv\nZnVqaS9ibG9iL21hc3Rlci9mdWppX3NlcnZlci9zdGF0aWMvbWFpbi5wbmc/\ncmF3PXRydWUpCgojIyBSZXF1aXJlbWVudHMKW1B5dGhvbl0oaHR0cHM6Ly93\nd3cucHl0aG9uLm9yZy9kb3dubG9hZHMvKSBgMy4xMWAKCiMjIyBHb29nbGUg\nRGF0YXNldCBTZWFyY2gKKiBEb3dubG9hZCB0aGUgbGF0ZXN0IERhdGFzZXQg\nU2VhcmNoIGNvcnB1cyBmaWxlIGZyb206IDxodHRwczovL3d3dy5rYWdnbGUu\nY29tL2dvb2dsZWFpL2RhdGFzZXQtc2VhcmNoLW1ldGFkYXRhLWZvci1kYXRh\nc2V0cz4KKiBPcGVuIGZpbGUgYGZ1amlfc2VydmVyL2hlbHBlci9jcmVhdGVf\nZ29vZ2xlX2NhY2hlX2RiLnB5YCBhbmQgc2V0IHZhcmlhYmxlICdnb29nbGVf\nZmlsZV9sb2NhdGlvbicgYWNjb3JkaW5nIHRvIHRoZSBmaWxlIGxvY2F0aW9u\nIG9mIHRoZSBjb3JwdXMgZmlsZQoqIFJ1biBgY3JlYXRlX2dvb2dsZV9jYWNo\nZV9kYi5weWAgd2hpY2ggY3JlYXRlcyBhIFNRTGl0ZSBkYXRhYmFzZSBpbiB0\naGUgZGF0YSBkaXJlY3RvcnkuIEZyb20gcm9vdCBkaXJlY3RvcnkgcnVuIGBw\neXRob24zIC1tIGZ1amlfc2VydmVyLmhlbHBlci5jcmVhdGVfZ29vZ2xlX2Nh\nY2hlX2RiYC4KClRoZSBzZXJ2aWNlIHdhcyBnZW5lcmF0ZWQgYnkgdGhlIFtz\nd2FnZ2VyLWNvZGVnZW5dKGh0dHBzOi8vZ2l0aHViLmNvbS9zd2FnZ2VyLWFw\naS9zd2FnZ2VyLWNvZGVnZW4pIHByb2plY3QuIEJ5IHVzaW5nIHRoZQpbT3Bl\nbkFQSS1TcGVjXShodHRwczovL2dpdGh1Yi5jb20vc3dhZ2dlci1hcGkvc3dh\nZ2dlci1jb3JlL3dpa2kpIGZyb20gYSByZW1vdGUgc2VydmVyLCB5b3UgY2Fu\nIGVhc2lseSBnZW5lcmF0ZSBhIHNlcnZlciBzdHViLgpUaGUgc2VydmljZSB1\nc2VzIHRoZSBbQ29ubmV4aW9uXShodHRwczovL2dpdGh1Yi5jb20vc3BlYy1m\naXJzdC9jb25uZXhpb24pIGxpYnJhcnkgb24gdG9wIG9mIEZsYXNrLgoKIyMg\nVXNhZ2UKQmVmb3JlIHJ1bm5pbmcgdGhlIHNlcnZpY2UsIHBsZWFzZSBzZXQg\ndXNlciBkZXRhaWxzIGluIHRoZSBjb25maWd1cmF0aW9uIGZpbGUsIHNlZSBj\nb25maWcvdXNlcnMucHkuCgpUbyBpbnN0YWxsIEYtVUpJLCB5b3UgbWF5IGV4\nZWN1dGUgdGhlIGZvbGxvd2luZyBQeXRob24tYmFzZWQgb3IgZG9ja2VyLWJh\nc2VkIGluc3RhbGxhdGlvbiBjb21tYW5kcyBmcm9tIHRoZSByb290IGRpcmVj\ndG9yeToKCiMjIyBQeXRob24gbW9kdWxlLWJhc2VkIGluc3RhbGxhdGlvbgoK\nRnJvbSB0aGUgZnVqaSBzb3VyY2UgZm9sZGVyIHJ1bjoKYGBgYmFzaApweXRo\nb24gLW0gcGlwIGluc3RhbGwgLgpgYGAKVGhlIEYtVUpJIHNlcnZlciBjYW4g\nbm93IGJlIHN0YXJ0ZWQgd2l0aDoKYGBgYmFzaApweXRob24gLW0gZnVqaV9z\nZXJ2ZXIgLWMgZnVqaV9zZXJ2ZXIvY29uZmlnL3NlcnZlci5pbmkKYGBgCgpU\naGUgT3BlbkFQSSB1c2VyIGludGVyZmFjZSBpcyB0aGVuIGF2YWlsYWJsZSBh\ndCA8aHR0cDovL2xvY2FsaG9zdDoxMDcxL2Z1amkvYXBpL3YxL3VpLz4uCgoj\nIyMgRG9ja2VyLWJhc2VkIGluc3RhbGxhdGlvbgoKYGBgYmFzaApkb2NrZXIg\ncnVuIC1kIC1wIDEwNzE6MTA3MSBnaGNyLmlvL3BhbmdhZWEtZGF0YS1wdWJs\naXNoZXIvZnVqaQpgYGAKClRvIGFjY2VzcyB0aGUgT3BlbkFQSSB1c2VyIGlu\ndGVyZmFjZSwgb3BlbiB0aGUgVVJMIGJlbG93IGluIHRoZSBicm93c2VyOgo8\naHR0cDovL2xvY2FsaG9zdDoxMDcxL2Z1amkvYXBpL3YxL3VpLz4KCllvdXIg\nT3BlbkFQSSBkZWZpbml0aW9uIGxpdmVzIGhlcmU6Cgo8aHR0cDovL2xvY2Fs\naG9zdDoxMDcxL2Z1amkvYXBpL3YxL29wZW5hcGkuanNvbj4KCllvdSBjYW4g\ncHJvdmlkZSBhIGRpZmZlcmVudCBzZXJ2ZXIgY29uZmlnIGZpbGUgdGhpcyB3\nYXk6CgpgYGBiYXNoCmRvY2tlciBydW4gLWQgLXAgMTA3MToxMDcxIC12IHNl\ncnZlci5pbmk6L3Vzci9zcmMvYXBwL2Z1amlfc2VydmVyL2NvbmZpZy9zZXJ2\nZXIuaW5pIGdoY3IuaW8vcGFuZ2FlYS1kYXRhLXB1Ymxpc2hlci9mdWppCmBg\nYAoKWW91IGNhbiBhbHNvIGJ1aWxkIHRoZSBkb2NrZXIgaW1hZ2UgZnJvbSB0\naGUgc291cmNlIGNvZGU6CgpgYGBiYXNoCmRvY2tlciBidWlsZCAtdCA8dGFn\nX25hbWU+IC4KZG9ja2VyIHJ1biAtZCAtcCAxMDcxOjEwNzEgPHRhZ19uYW1l\nPgpgYGAKCiMjIyBOb3RlcwoKVG8gYXZvaWQgVGlrYSBzdGFydHVwIHdhcm5p\nbmcgbWVzc2FnZSwgc2V0IGVudmlyb25tZW50IHZhcmlhYmxlIGBUSUtBX0xP\nR19QQVRIYC4gRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSBbaHR0cHM6Ly9n\naXRodWIuY29tL2NocmlzbWF0dG1hbm4vdGlrYS1weXRob25dKGh0dHBzOi8v\nZ2l0aHViLmNvbS9jaHJpc21hdHRtYW5uL3Rpa2EtcHl0aG9uKQoKSWYgeW91\nIHJlY2VpdmUgdGhlIGV4Y2VwdGlvbiBgdXJsbGliMi5VUkxFcnJvcjogPHVy\nbG9wZW4gZXJyb3IgW1NTTDogQ0VSVElGSUNBVEVfVkVSSUZZX0ZBSUxFRF1g\nIG9uIG1hY09TLCBydW4gdGhlIGluc3RhbGwgY29tbWFuZCBzaGlwcGVkIHdp\ndGggUHl0aG9uOgpgLi9JbnN0YWxsXCBDZXJ0aWZpY2F0ZXMuY29tbWFuZGAu\nCgpGLVVKSSBpcyB1c2luZyBbYmFzaWMgYXV0aGVudGljYXRpb25dKGh0dHBz\nOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0Jhc2ljX2FjY2Vzc19hdXRoZW50\naWNhdGlvbiksIHNvIHVzZXJuYW1lIGFuZCBwYXNzd29yZCBoYXZlIHRvIGJl\nIHByb3ZpZGVkIGZvciBlYWNoIFJFU1QgY2FsbCB3aGljaCBjYW4gYmUgY29u\nZmlndXJlZCBpbiBgZnVqaV9zZXJ2ZXIvY29uZmlnL3VzZXJzLnB5YC4KCiMj\nIERldmVsb3BtZW50CgpGaXJzdCwgbWFrZSBzdXJlIHRvIHJlYWQgdGhlIFtj\nb250cmlidXRpb24gZ3VpZGVsaW5lc10oLi9DT05UUklCVVRJTkcubWQpLgpU\naGV5IGluY2x1ZGUgaW5zdHJ1Y3Rpb25zIG9uIGhvdyB0byBzZXQgdXAgeW91\nciBlbnZpcm9ubWVudCB3aXRoIGBwcmUtY29tbWl0YCBhbmQgaG93IHRvIHJ1\nbiB0aGUgdGVzdHMuCgpUaGUgcmVwb3NpdG9yeSBpbmNsdWRlcyBhIFtzaW1w\nbGUgd2ViIGNsaWVudF0oLi9zaW1wbGVjbGllbnQvKSBzdWl0YWJsZSBmb3Ig\naW50ZXJhY3Rpbmcgd2l0aCB0aGUgQVBJIGR1cmluZyBkZXZlbG9wbWVudC4K\nT25lIHdheSB0byBydW4gaXQgd291bGQgYmUgd2l0aCBhIExFTVAgc3RhY2sg\nKExpbnV4LCBOZ2lueCwgTXlTUUwsIFBIUCksIHdoaWNoIGlzIGRlc2NyaWJl\nZCBpbiB0aGUgZm9sbG93aW5nLgoKRmlyc3QsIGluc3RhbGwgdGhlIG5lY2Vz\nc2FyeSBwYWNrYWdlczoKCmBgYGJhc2gKc3VkbyBhcHQtZ2V0IHVwZGF0ZQpz\ndWRvIGFwdC1nZXQgaW5zdGFsbCBuZ2lueApzdWRvIHVmdyBhbGxvdyAnTmdp\nbnggSFRUUCcKc3VkbyBzZXJ2aWNlIG15c3FsIHN0YXJ0ICAjIGV4cGVjdHMg\ndGhhdCBteXNxbCBpcyBhbHJlYWR5IGluc3RhbGxlZCwgaWYgbm90IHJ1biBz\ndWRvIGFwdCBpbnN0YWxsIG15c3FsLXNlcnZlcgpzdWRvIHNlcnZpY2Ugbmdp\nbnggc3RhcnQKc3VkbyBhcHQgaW5zdGFsbCBwaHA4LjEtZnBtIHBocC1teXNx\nbApzdWRvIGFwdCBpbnN0YWxsIHBocDguMS1jdXJsCnN1ZG8gcGhwZW5tb2Qg\nY3VybApgYGAKCk5leHQsIGNvbmZpZ3VyZSB0aGUgc2VydmljZSBieSBydW5u\naW5nIGBzdWRvIHZpbSAvZXRjL25naW54L3NpdGVzLWF2YWlsYWJsZS9mdWpp\nLWRldmAgYW5kIHBhc3RlOgoKYGBgcGhwCnNlcnZlciB7CiAgICBsaXN0ZW4g\nOTAwMDsKICAgIHNlcnZlcl9uYW1lIGZ1amktZGV2OwogICAgcm9vdCAvdmFy\nL3d3dy9mdWppLWRldjsKCiAgICBpbmRleCBpbmRleC5waHA7CgogICAgbG9j\nYXRpb24gLyB7CiAgICAgICAgdHJ5X2ZpbGVzICR1cmkgJHVyaS8gPTQwNDsK\nICAgIH0KCiAgICBsb2NhdGlvbiB+IFwucGhwJCB7CiAgICAgICAgaW5jbHVk\nZSBzbmlwcGV0cy9mYXN0Y2dpLXBocC5jb25mOwogICAgICAgIGZhc3RjZ2lf\ncGFzcyB1bml4Oi92YXIvcnVuL3BocC9waHA4LjEtZnBtLnNvY2s7CiAgICAg\nfQoKICAgIGxvY2F0aW9uIH4gL1wuaHQgewogICAgICAgIGRlbnkgYWxsOwog\nICAgfQp9CmBgYAoKTGluayBgc2ltcGxlY2xpZW50L2luZGV4LnBocGAgYW5k\nIGBzaW1wbGVjbGllbnQvaWNvbnMvYCB0byBgL3Zhci93d3cvZnVqaS1kZXZg\nIGJ5IHJ1bm5pbmcgYHN1ZG8gbG4gPHBhdGhfdG9fZnVqaT4vZnVqaS9zaW1w\nbGVjbGllbnQvKiAvdmFyL3d3dy9mdWppLWRldi9gLiBZb3UgbWlnaHQgbmVl\nZCB0byBhZGp1c3QgdGhlIGZpbGUgcGVybWlzc2lvbnMgdG8gYWxsb3cgbm9u\nLXJvb3Qgd3JpdGVzLgoKTmV4dCwKYGBgYmFzaApzdWRvIGxuIC1zIC9ldGMv\nbmdpbngvc2l0ZXMtYXZhaWxhYmxlL2Z1amktZGV2IC9ldGMvbmdpbngvc2l0\nZXMtZW5hYmxlZC8Kc3VkbyBuZ2lueCAtdApzdWRvIHNlcnZpY2Ugbmdpbngg\ncmVsb2FkCnN1ZG8gc2VydmljZSBwaHA4LjEtZnBtIHN0YXJ0CmBgYAoKVGhl\nIHdlYiBjbGllbnQgc2hvdWxkIG5vdyBiZSBhdmFpbGFibGUgYXQgPGh0dHA6\nLy9sb2NhbGhvc3Q6OTAwMC8+LiBNYWtlIHN1cmUgdG8gYWRqdXN0IHRoZSB1\nc2VybmFtZSBhbmQgcGFzc3dvcmQgaW4gW2BzaW1wbGVjbGllbnQvaW5kZXgu\ncGhwYF0oLi9zaW1wbGVjbGllbnQvaW5kZXgucGhwKS4KCkFmdGVyIGEgcmVz\ndGFydCwgaXQgbWF5IGJlIG5lY2Vzc2FyeSB0byBzdGFydCB0aGUgc2Vydmlj\nZXMgYWdhaW46CgpgYGBiYXNoCnN1ZG8gc2VydmljZSBwaHA4LjEtZnBtIHN0\nYXJ0CnN1ZG8gc2VydmljZSBuZ2lueCBzdGFydApweXRob24gLW0gZnVqaV9z\nZXJ2ZXIgLWMgZnVqaV9zZXJ2ZXIvY29uZmlnL3NlcnZlci5pbmkKYGBgCgoj\nIyMgQ29tcG9uZW50IGludGVyYWN0aW9uICh3YWxrdGhyb3VnaCkKClRoaXMg\nd2Fsa3Rocm91Z2ggY2FuIGd1aWRlIHlvdSB0aHJvdWdoIHRoZSBjb21wcmVo\nZW5zaXZlIGNvZGViYXNlLgoKQSBnb29kIHN0YXJ0aW5nIHBvaW50IGlzIFtg\nZmFpcl9vYmplY3RfY29udHJvbGxlci9hc3Nlc3NfYnlfaWRgXShmdWppX3Nl\ncnZlci9jb250cm9sbGVycy9mYWlyX29iamVjdF9jb250cm9sbGVyLnB5IzM2\nKS4KSGVyZSwgd2UgY3JlYXRlIGEgW2BGQUlSQ2hlY2tgXShmdWppX3NlcnZl\nci9jb250cm9sbGVycy9mYWlyX2NoZWNrLnB5KSBvYmplY3QgY2FsbGVkIGBm\ndGAuClRoaXMgcmVhZHMgdGhlIG1ldHJpY3MgWUFNTCBmaWxlIGR1cmluZyBp\nbml0aWFsaXNhdGlvbiBhbmQgd2lsbCBwcm92aWRlIGFsbCB0aGUgYGNoZWNr\nYCBtZXRob2RzLgoKTmV4dCwgc2V2ZXJhbCBoYXJ2ZXN0aW5nIG1ldGhvZHMg\nYXJlIGNhbGxlZCwgZmlyc3QgW2BoYXJ2ZXN0X2FsbF9tZXRhZGF0YWBdKGZ1\namlfc2VydmVyL2NvbnRyb2xsZXJzL2ZhaXJfY2hlY2sucHkjMzI5KSwgZm9s\nbG93ZWQgYnkgW2BoYXJ2ZXN0X3JlM19kYXRhYF0oZnVqaV9zZXJ2ZXIvY29u\ndHJvbGxlcnMvZmFpcl9jaGVjay5weSMzNDUpIChEYXRhY2l0ZSkgYW5kIFtg\naGFydmVzdF9naXRodWJgXShmdWppX3NlcnZlci9jb250cm9sbGVycy9mYWly\nX2NoZWNrLnB5IzM2NikgYW5kIGZpbmFsbHkgW2BoYXJ2ZXN0X2FsbF9kYXRh\nYF0oZnVqaV9zZXJ2ZXIvY29udHJvbGxlcnMvZmFpcl9jaGVjay5weSMzNTkp\nLgpUaGUgaGFydmVzdGVycyBhcmUgaW1wbGVtZW50ZWQgc2VwYXJhdGVseSBp\nbiBbYGhhcnZlc3Rlci9gXSguL2Z1amlfc2VydmVyL2hhcnZlc3Rlci8pLCBh\nbmQgZWFjaCBvZiB0aGVtIGNvbGxlY3RzIGRpZmZlcmVudCBraW5kcyBvZiBk\nYXRhLgpUaGlzIGlzIHJlZ2FyZGxlc3Mgb2YgdGhlIGRlZmluZWQgbWV0cmlj\ncywgdGhlIGhhcnZlc3RlcnMgYWx3YXlzIHJ1bi4KLSBUaGUgbWV0YWRhdGEg\naGFydmVzdGVyIGxvb2tzIHRocm91Z2ggSFRNTCBtYXJrdXAgZm9sbG93aW5n\nIHNjaGVtYS5vcmcsIER1YmxpbmNvcmUgZXRjLiwgdGhyb3VnaCBzaWducG9z\ndGluZy90eXBlZCBsaW5rcy4KSWRlYWxseSwgaXQgY2FuIGZpbmQgdGhpbmdz\nIGxpa2UgYXV0aG9yIGluZm9ybWF0aW9uIG9yIGxpY2Vuc2UgbmFtZXMgdGhh\ndCB3YXkuCi0gVGhlIGRhdGEgaGFydmVzdGVyIGlzIG9ubHkgcnVuIGlmIHRo\nZSBtZXRhZGF0YSBoYXJ2ZXN0ZXIgZmluZHMgYW4gYG9iamVjdF9jb250ZW50\nX2lkZW50aWZpZXJgIHBvaW50aW5nIGF0IGNvbnRlbnQgZmlsZXMuClRoZW4s\nIHRoZSBkYXRhIGhhcnZlc3RlciBydW5zIG92ZXIgdGhlIGZpbGVzIGFuZCBj\naGVja3MgdGhpbmdzIGxpa2UgdGhlIGZpbGUgZm9ybWF0LgotIFRoZSBHaXRo\ndWIgaGFydmVzdGVyIGNvbm5lY3RzIHdpdGggdGhlIEdpdEh1YiBBUEkgdG8g\ncmV0cmlldmUgbWV0YWRhdGEgYW5kIGRhdGEgZnJvbSBzb2Z0d2FyZSByZXBv\nc2l0b3JpZXMuCkl0IHJlbGllcyBvbiBhbiBhY2Nlc3MgdG9rZW4gYmVpbmcg\nZGVmaW5lZCBpbiBbYGNvbmZpZy9naXRodWIuY2ZnYF0oLi9mdWpqaV9zZXJ2\nZXIvY29uZmlnL2dpdGh1Yi5jZmcpLgoKQWZ0ZXIgaGFydmVzdGluZywgYWxs\nIGV2YWx1YXRvcnMgYXJlIGNhbGxlZC4KRWFjaCBzcGVjaWZpYyBldmFsdWF0\nb3IsIGUuZy4gW2BGQUlSRXZhbHVhdG9yTGljZW5zZWBdKGZ1amlfc2VydmVy\nL2V2YWx1YXRvcnMvZmFpcl9ldmFsdWF0b3JfbGljZW5zZS5weSksIGlzIGFz\nc29jaWF0ZWQgd2l0aCBhIHNwZWNpZmljIEZzRiBhbmQvb3IgRkFJUjRSUyBt\nZXRyaWMuCkJlZm9yZSB0aGUgZXZhbHVhdG9yIHJ1bnMgYW55IGNoZWNrcyBv\nbiB0aGUgaGFydmVzdGVkIGRhdGEsIGl0IGFzc2VydHMgdGhhdCBpdHMgYXNz\nb2NpYXRlZCBtZXRyaWMgaXMgbGlzdGVkIGluIHRoZSBtZXRyaWNzIFlBTUwg\nZmlsZS4KT25seSBpZiBpdCBpcywgdGhlIGV2YWx1YXRvciBydW5zIHRocm91\nZ2ggYW5kIGNvbXB1dGVzIGEgbG9jYWwgc2NvcmUuCgpJbiB0aGUgZW5kLCBh\nbGwgc2NvcmVzIGFyZSBhZ2dyZWdhdGVkIGludG8gRiwgQSwgSSwgUiBzY29y\nZXMuCgojIyMgQWRkaW5nIHN1cHBvcnQgZm9yIG5ldyBtZXRyaWNzCgpTdGFy\ndCBieSBhZGRpbmcgYSBuZXcgbWV0cmljcyBZQU1MIGZpbGUgaW4gW2B5YW1s\nL2BdKC4vZnVqaV9zZXJ2ZXIveWFtbCkuCkl0cyBuYW1lIGhhcyB0byBtYXRj\naCB0aGUgZm9sbG93aW5nIHJlZ3VsYXIgZXhwcmVzc2lvbjogYChtZXRyaWNz\nX3YpPyhbMC05XStcLlswLTldKykoX1thLXpdKyk/KFwueWFtbClgLAphbmQg\ndGhlIGNvbnRlbnQgc2hvdWxkIGJlIHN0cnVjdHVyZWQgc2ltaWxhcmx5IHRv\nIHRoZSBleGlzdGluZyBtZXRyaWMgZmlsZXMuCgpNZXRyaWMgbmFtZXMgYXJl\nIHRlc3RlZCBmb3IgdmFsaWRpdHkgdXNpbmcgcmVndWxhciBleHByZXNzaW9u\ncyB0aHJvdWdob3V0IHRoZSBjb2RlLgpJZiB5b3VyIG1ldHJpYyBuYW1lcyBk\nbyBub3QgbWF0Y2ggdGhvc2UsIG5vdCBhbGwgY29tcG9uZW50cyBvZiB0aGUg\ndG9vbCB3aWxsIGV4ZWN1dGUgYXMgZXhwZWN0ZWQsIHNvIG1ha2Ugc3VyZSB0\nbyBhZGp1c3QgdGhlIGV4cHJlc3Npb25zLgpSZWd1bGFyIGV4cHJlc3Npb24g\nZ3JvdXBzIGFyZSBhbHNvIHVzZWQgZm9yIG1hcHBpbmcgdG8gRiwgQSwgSSwg\nUiBjYXRlZ29yaWVzIGZvciBzY29yaW5nLCBhbmQgZGVidWcgbWVzc2FnZXMg\nYXJlIG9ubHkgZGlzcGxheWVkIGlmIHRoZXkgYXJlIGFzc29jaWF0ZWQgd2l0\naCBhIHZhbGlkIG1ldHJpYy4KCkV2YWx1YXRvcnMgYXJlIG1hcHBlZCB0byBt\nZXRyaWNzIGluIHRoZWlyIGBfX2luaXRfX2AgbWV0aG9kcywgc28gYWRqdXN0\nIGV4aXN0aW5nIGV2YWx1YXRvcnMgdG8gYXNzb2NpYXRlIHdpdGggeW91ciBt\nZXRyaWMgYXMgd2VsbCBvciBkZWZpbmUgbmV3IGV2YWx1YXRvcnMgaWYgbmVl\nZGVkLgpUaGUgbXVsdGlwbGUgdGVzdCBtZXRob2RzIHdpdGhpbiBhbiBldmFs\ndWF0b3IgYWxzbyBjaGVjayB3aGV0aGVyIHRoZWlyIHNwZWNpZmljIHRlc3Qg\naXMgZGVmaW5lZC4KW2BGQUlSRXZhbHVhdG9yTGljZW5zZWBdKGZ1amlfc2Vy\ndmVyL2V2YWx1YXRvcnMvZmFpcl9ldmFsdWF0b3JfbGljZW5zZS5weSkgaXMg\nYW4gZXhhbXBsZSBvZiBhbiBldmFsdWF0b3IgY29ycmVzcG9uZGluZyB0byBt\nZXRyaWNzIGZyb20gZGlmZmVyZW50IHNvdXJjZXMuCgpGb3IgZWFjaCBtZXRy\naWMsIHRoZSBtYXR1cml0eSBpcyBkZXRlcm1pbmVkIGFzIHRoZSBtYXhpbXVt\nIG9mIHRoZSBtYXR1cml0eSBhc3NvY2lhdGVkIHdpdGggZWFjaCBwYXNzZWQg\ndGVzdC4KVGhpcyBtZWFucyB0aGF0IGlmIGEgdGVzdCBpbmRpY2F0aW5nIG1h\ndHVyaXR5IDMgaXMgcGFzc2VkIGFuZCBvbmUgaW5kaWNhdGluZyBtYXR1cml0\neSAyIGlzIG5vdCBwYXNzZWQsIHRoZSBtZXRyaWMgd2lsbCBzdGlsbCBiZSBz\naG93biB0byBiZSBmdWxmaWxsZWQgd2l0aCBtYXR1cml0eSAzLgoKIyMjIENv\nbW11bml0eSBzcGVjaWZpYyBtZXRyaWNzCgpTb21lLCBub3QgYWxsLCBtZXRy\naWNzIGNhbiBiZSBjb25maWd1cmVkIHVzaW5nIHRoZSBmb2xsb3dpbmcgZ3Vp\nZGVsaW5lczoKW01ldHJpY3MgY29uZmlndXJhdGlvbiBndWlkZV0oaHR0cHM6\nLy9naXRodWIuY29tL3BhbmdhZWEtZGF0YS1wdWJsaXNoZXIvZnVqaS9ibG9i\nL21hc3Rlci9tZXRyaWNzX2NvbmZpZ3VyYXRpb24ubWQpCgojIyMgVXBkYXRl\ncyB0byB0aGUgQVBJCgpNYWtpbmcgY2hhbmdlcyB0byB0aGUgQVBJIHJlcXVp\ncmVzIHJlLWdlbmVyYXRpbmcgcGFydHMgb2YgdGhlIGNvZGUgdXNpbmcgU3dh\nZ2dlci4KRmlyc3QsIGVkaXQgW2BmdWppX3NlcnZlci95YW1sL29wZW5hcGku\neWFtbGBdKGZ1amlfc2VydmVyL3lhbWwvb3BlbmFwaS55YW1sKS4KVGhlbiwg\ndXNlIHRoZSBbU3dhZ2dlciBFZGl0b3JdKGh0dHBzOi8vZWRpdG9yLnN3YWdn\nZXIuaW8vKSB0byBnZW5lcmF0ZSBhIHB5dGhvbi1mbGFzayBzZXJ2ZXIuClRo\nZSB6aXBwZWQgZmlsZXMgc2hvdWxkIGJlIGF1dG9tYXRpY2FsbHkgZG93bmxv\nYWRlZC4KVW56aXAgaXQuCgpOZXh0OgoxLiBQbGFjZSB0aGUgZmlsZXMgaW4g\nYHN3YWdnZXJfc2VydmVyL21vZGVsc2AgaW50byBgZnVqaV9zZXJ2ZXIvbW9k\nZWxzYCwgZXhjZXB0IGBzd2FnZ2VyX3NlcnZlci9tb2RlbHMvX19pbml0X18u\ncHlgLgoyLiBSZW5hbWUgYWxsIG9jY3VycmVuY2VzIG9mIGBzd2FnZ2VyX3Nl\ncnZlcmAgdG8gYGZ1amlfc2VydmVyYC4KMy4gQWRkIHRoZSBjb250ZW50IG9m\nIGBzd2FnZ2VyX3NlcnZlci9tb2RlbHMvX19pbml0X18ucHlgIGludG8gYGZ1\namlfc2VydmVyL19faW5pdF9fLnB5YC4KClVuZm9ydHVuYXRlbHksIHRoZSBT\nd2FnZ2VyIEVkaXRvciBkb2Vzbid0IGFsd2F5cyBwcm9kdWNlIGNvZGUgdGhh\ndCBpcyBjb21wbGlhbnQgd2l0aCBQRVAgc3RhbmRhcmRzLgpSdW4gYHByZS1j\nb21taXQgcnVuYCAob3IgdHJ5IHRvIGNvbW1pdCkgYW5kIGZpeCBhbnkgZXJy\nb3JzIHRoYXQgY2Fubm90IGJlIGF1dG9tYXRpY2FsbHkgZml4ZWQuCgojIyBM\naWNlbnNlClRoaXMgcHJvamVjdCBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlU\nIExpY2Vuc2U7IGZvciBtb3JlIGRldGFpbHMsIHNlZSB0aGUgW0xJQ0VOU0Vd\nKGh0dHBzOi8vZ2l0aHViLmNvbS9wYW5nYWVhLWRhdGEtcHVibGlzaGVyL2Z1\namkvYmxvYi9tYXN0ZXIvTElDRU5TRSkgZmlsZS4KCgojIyBBY2tub3dsZWRn\nZW1lbnRzCgpGLVVKSSBpcyBhIHJlc3VsdCBvZiB0aGUgW0ZBSVJzRkFJUl0o\naHR0cHM6Ly93d3cuZmFpcnNmYWlyLmV1Lykg4oCcRm9zdGVyaW5nIEZBSVIg\nRGF0YSBQcmFjdGljZXMgSW4gRXVyb3Bl4oCdIHByb2plY3Qgd2hpY2ggcmVj\nZWl2ZWQgZnVuZGluZyBmcm9tIHRoZSBFdXJvcGVhbiBVbmlvbuKAmXMgSG9y\naXpvbiAyMDIwIHByb2plY3QgY2FsbCBIMjAyMC1JTkZSQUVPU0MtMjAxOC0y\nMDIwIChncmFudCBhZ3JlZW1lbnQgODMxNTU4KS4KClRoZSBwcm9qZWN0IHdh\ncyBhbHNvIHN1cHBvcnRlZCB0aHJvdWdoIG91ciBjb250cmlidXRvcnMgYnkg\ndGhlIFtIZWxtaG9sdHogTWV0YWRhdGEgQ29sbGFib3JhdGlvbiAoSE1DKV0o\naHR0cHM6Ly93d3cuaGVsbWhvbHR6LW1ldGFkYXRlbi5kZS9lbiksIGFuIGlu\nY3ViYXRvci1wbGF0Zm9ybSBvZiB0aGUgSGVsbWhvbHR6IEFzc29jaWF0aW9u\nIHdpdGhpbiB0aGUgZnJhbWV3b3JrIG9mIHRoZSBJbmZvcm1hdGlvbiBhbmQg\nRGF0YSBTY2llbmNlIHN0cmF0ZWdpYyBpbml0aWF0aXZlLgo=\n","encoding":"base64","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/README.md?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/e2f8f711ab6ce0233fc75f449ec7ab3c834b92b4","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/README.md"}}' + headers: + Access-Control-Allow-Origin: + - '*' + Access-Control-Expose-Headers: + - ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset + Cache-Control: + - private, max-age=60, s-maxage=60 + Content-Encoding: + - gzip + Content-Security-Policy: + - default-src 'none' + Content-Type: + - application/json; charset=utf-8 + Date: + - Fri, 03 May 2024 13:42:08 GMT + ETag: + - W/"e2f8f711ab6ce0233fc75f449ec7ab3c834b92b4" + Last-Modified: + - Fri, 03 May 2024 07:27:26 GMT + Referrer-Policy: + - origin-when-cross-origin, strict-origin-when-cross-origin + Server: + - GitHub.com + Strict-Transport-Security: + - max-age=31536000; includeSubdomains; preload + Transfer-Encoding: + - chunked + Vary: + - Accept, Authorization, Cookie, X-GitHub-OTP + - Accept-Encoding, Accept, X-Requested-With + X-Accepted-OAuth-Scopes: + - '' + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + X-GitHub-Media-Type: + - github.v3; format=json + X-GitHub-Request-Id: + - 5077:201B1D:36C7A7D:3836685:6634E9AF + X-OAuth-Scopes: + - repo + X-RateLimit-Limit: + - '5000' + X-RateLimit-Remaining: + - '4755' + X-RateLimit-Reset: + - '1714744789' + X-RateLimit-Resource: + - core + X-RateLimit-Used: + - '245' + X-XSS-Protection: + - '0' + github-authentication-token-expiration: + - 2024-07-08 07:44:52 UTC + x-github-api-version-selected: + - '2022-11-28' + status: + code: 200 + message: OK +- request: + body: + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Authorization: + - token ghp_MASKED + Connection: + - keep-alive + User-Agent: + - PyGithub/Python + method: GET + uri: https://api.github.com/repos/pangaea-data-publisher/fuji/contents/docs + response: + body: + string: '[{"name":"FUJI_Flow.vsdx","path":"docs/FUJI_Flow.vsdx","sha":"8669e0e130aa072509008b9091ac0893021c031a","size":45774,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/docs/FUJI_Flow.vsdx?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/docs/FUJI_Flow.vsdx","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/8669e0e130aa072509008b9091ac0893021c031a","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/docs/FUJI_Flow.vsdx","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/docs/FUJI_Flow.vsdx?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/8669e0e130aa072509008b9091ac0893021c031a","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/docs/FUJI_Flow.vsdx"}},{"name":"Makefile","path":"docs/Makefile","sha":"d9c3654dd9b4cbc59f2b05769806759e27662369","size":5612,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/docs/Makefile?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/docs/Makefile","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/d9c3654dd9b4cbc59f2b05769806759e27662369","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/docs/Makefile","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/docs/Makefile?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/d9c3654dd9b4cbc59f2b05769806759e27662369","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/docs/Makefile"}},{"name":"README.md","path":"docs/README.md","sha":"1b7c48d2e4d5c37ba1160666886a91874b2ef8d4","size":616,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/docs/README.md?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/docs/README.md","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/1b7c48d2e4d5c37ba1160666886a91874b2ef8d4","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/docs/README.md","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/docs/README.md?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/1b7c48d2e4d5c37ba1160666886a91874b2ef8d4","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/docs/README.md"}},{"name":"license_header.txt","path":"docs/license_header.txt","sha":"4415331c914b930a49f18c222dbc784c57d1caa3","size":93,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/docs/license_header.txt?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/docs/license_header.txt","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/4415331c914b930a49f18c222dbc784c57d1caa3","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/docs/license_header.txt","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/docs/license_header.txt?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/4415331c914b930a49f18c222dbc784c57d1caa3","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/docs/license_header.txt"}},{"name":"source","path":"docs/source","sha":"afeafe04bdfda478dbecaada021df2eaf35e89b9","size":0,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/docs/source?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/tree/master/docs/source","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/afeafe04bdfda478dbecaada021df2eaf35e89b9","download_url":null,"type":"dir","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/docs/source?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/afeafe04bdfda478dbecaada021df2eaf35e89b9","html":"https://github.com/pangaea-data-publisher/fuji/tree/master/docs/source"}}]' + headers: + Access-Control-Allow-Origin: + - '*' + Access-Control-Expose-Headers: + - ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset + Cache-Control: + - private, max-age=60, s-maxage=60 + Content-Encoding: + - gzip + Content-Security-Policy: + - default-src 'none' + Content-Type: + - application/json; charset=utf-8 + Date: + - Fri, 03 May 2024 13:42:08 GMT + ETag: + - W/"ebba17509a44e60e09b57a6d211021b3ca0688d2" + Last-Modified: + - Fri, 03 May 2024 07:27:29 GMT + Referrer-Policy: + - origin-when-cross-origin, strict-origin-when-cross-origin + Server: + - GitHub.com + Strict-Transport-Security: + - max-age=31536000; includeSubdomains; preload + Transfer-Encoding: + - chunked + Vary: + - Accept, Authorization, Cookie, X-GitHub-OTP + - Accept-Encoding, Accept, X-Requested-With + X-Accepted-OAuth-Scopes: + - '' + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + X-GitHub-Media-Type: + - github.v3; format=json + X-GitHub-Request-Id: + - C69C:16999:1269855:12E5F59:6634E9B0 + X-OAuth-Scopes: + - repo + X-RateLimit-Limit: + - '5000' + X-RateLimit-Remaining: + - '4754' + X-RateLimit-Reset: + - '1714744789' + X-RateLimit-Resource: + - core + X-RateLimit-Used: + - '246' + X-XSS-Protection: + - '0' + github-authentication-token-expiration: + - 2024-07-08 07:44:52 UTC + x-github-api-version-selected: + - '2022-11-28' + status: + code: 200 + message: OK +- request: + body: + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Authorization: + - token ghp_MASKED + Connection: + - keep-alive + User-Agent: + - PyGithub/Python + method: GET + uri: https://api.github.com/repos/pangaea-data-publisher/fuji/contents/examples + response: + body: + string: '[{"name":"mass_assessment","path":"examples/mass_assessment","sha":"b8040f8bd75bb2167d92efe32d6071af0f2e7ae8","size":0,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/examples/mass_assessment?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/tree/master/examples/mass_assessment","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/b8040f8bd75bb2167d92efe32d6071af0f2e7ae8","download_url":null,"type":"dir","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/examples/mass_assessment?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/b8040f8bd75bb2167d92efe32d6071af0f2e7ae8","html":"https://github.com/pangaea-data-publisher/fuji/tree/master/examples/mass_assessment"}}]' + headers: + Access-Control-Allow-Origin: + - '*' + Access-Control-Expose-Headers: + - ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset + Cache-Control: + - private, max-age=60, s-maxage=60 + Content-Encoding: + - gzip + Content-Security-Policy: + - default-src 'none' + Content-Type: + - application/json; charset=utf-8 + Date: + - Fri, 03 May 2024 13:42:09 GMT + ETag: + - W/"ebba17509a44e60e09b57a6d211021b3ca0688d2" + Last-Modified: + - Fri, 03 May 2024 07:27:29 GMT + Referrer-Policy: + - origin-when-cross-origin, strict-origin-when-cross-origin + Server: + - GitHub.com + Strict-Transport-Security: + - max-age=31536000; includeSubdomains; preload + Transfer-Encoding: + - chunked + Vary: + - Accept, Authorization, Cookie, X-GitHub-OTP + - Accept-Encoding, Accept, X-Requested-With + X-Accepted-OAuth-Scopes: + - '' + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + X-GitHub-Media-Type: + - github.v3; format=json + X-GitHub-Request-Id: + - 294A:20058F:363C4CC:37AB0E2:6634E9B0 + X-OAuth-Scopes: + - repo + X-RateLimit-Limit: + - '5000' + X-RateLimit-Remaining: + - '4753' + X-RateLimit-Reset: + - '1714744789' + X-RateLimit-Resource: + - core + X-RateLimit-Used: + - '247' + X-XSS-Protection: + - '0' + github-authentication-token-expiration: + - 2024-07-08 07:44:52 UTC + x-github-api-version-selected: + - '2022-11-28' + status: + code: 200 + message: OK +- request: + body: + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Authorization: + - token ghp_MASKED + Connection: + - keep-alive + User-Agent: + - PyGithub/Python + method: GET + uri: https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server + response: + body: + string: '[{"name":"__init__.py","path":"fuji_server/__init__.py","sha":"a69f396f755bf5775f5c37815cd46e69d04bf360","size":4536,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/__init__.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/__init__.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/a69f396f755bf5775f5c37815cd46e69d04bf360","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/__init__.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/__init__.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/a69f396f755bf5775f5c37815cd46e69d04bf360","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/__init__.py"}},{"name":"__main__.py","path":"fuji_server/__main__.py","sha":"b6393d59b041fd80dd5679447a14e4de3185a0a1","size":3879,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/__main__.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/__main__.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/b6393d59b041fd80dd5679447a14e4de3185a0a1","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/__main__.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/__main__.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/b6393d59b041fd80dd5679447a14e4de3185a0a1","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/__main__.py"}},{"name":"app.py","path":"fuji_server/app.py","sha":"26a77ee3946819fff0bccaf22df1265ea32bc7dc","size":1201,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/app.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/app.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/26a77ee3946819fff0bccaf22df1265ea32bc7dc","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/app.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/app.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/26a77ee3946819fff0bccaf22df1265ea32bc7dc","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/app.py"}},{"name":"config","path":"fuji_server/config","sha":"911be6768855c31c406d08d16e2f2a59c10b9202","size":0,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/config?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/tree/master/fuji_server/config","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/911be6768855c31c406d08d16e2f2a59c10b9202","download_url":null,"type":"dir","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/config?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/911be6768855c31c406d08d16e2f2a59c10b9202","html":"https://github.com/pangaea-data-publisher/fuji/tree/master/fuji_server/config"}},{"name":"controllers","path":"fuji_server/controllers","sha":"d60a08df3b9438b5156b4ee1e548100d241bfe07","size":0,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/controllers?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/tree/master/fuji_server/controllers","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/d60a08df3b9438b5156b4ee1e548100d241bfe07","download_url":null,"type":"dir","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/controllers?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/d60a08df3b9438b5156b4ee1e548100d241bfe07","html":"https://github.com/pangaea-data-publisher/fuji/tree/master/fuji_server/controllers"}},{"name":"data","path":"fuji_server/data","sha":"974ce52b22bd95701eac4c8acbe910ae4b02e0cc","size":0,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/data?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/tree/master/fuji_server/data","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/974ce52b22bd95701eac4c8acbe910ae4b02e0cc","download_url":null,"type":"dir","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/data?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/974ce52b22bd95701eac4c8acbe910ae4b02e0cc","html":"https://github.com/pangaea-data-publisher/fuji/tree/master/fuji_server/data"}},{"name":"encoder.py","path":"fuji_server/encoder.py","sha":"0536ef3fbc331bfc0a83b769dacb0df405d48e9a","size":672,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/encoder.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/encoder.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/0536ef3fbc331bfc0a83b769dacb0df405d48e9a","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/encoder.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/encoder.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/0536ef3fbc331bfc0a83b769dacb0df405d48e9a","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/encoder.py"}},{"name":"evaluators","path":"fuji_server/evaluators","sha":"718a32255215f15985fcf16ec371ec2dbb1450be","size":0,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/evaluators?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/tree/master/fuji_server/evaluators","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/718a32255215f15985fcf16ec371ec2dbb1450be","download_url":null,"type":"dir","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/evaluators?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/718a32255215f15985fcf16ec371ec2dbb1450be","html":"https://github.com/pangaea-data-publisher/fuji/tree/master/fuji_server/evaluators"}},{"name":"harvester","path":"fuji_server/harvester","sha":"96f961db88662361583c81953cf76bbb8d52d63c","size":0,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/harvester?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/tree/master/fuji_server/harvester","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/96f961db88662361583c81953cf76bbb8d52d63c","download_url":null,"type":"dir","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/harvester?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/96f961db88662361583c81953cf76bbb8d52d63c","html":"https://github.com/pangaea-data-publisher/fuji/tree/master/fuji_server/harvester"}},{"name":"helper","path":"fuji_server/helper","sha":"21311aa44184b184ccbbcc1b060481dbf4089cd8","size":0,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/helper?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/tree/master/fuji_server/helper","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/21311aa44184b184ccbbcc1b060481dbf4089cd8","download_url":null,"type":"dir","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/helper?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/21311aa44184b184ccbbcc1b060481dbf4089cd8","html":"https://github.com/pangaea-data-publisher/fuji/tree/master/fuji_server/helper"}},{"name":"models","path":"fuji_server/models","sha":"b5e4ab71df55ca6dcbb2552b2c9386900d538ad7","size":0,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/tree/master/fuji_server/models","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/b5e4ab71df55ca6dcbb2552b2c9386900d538ad7","download_url":null,"type":"dir","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/b5e4ab71df55ca6dcbb2552b2c9386900d538ad7","html":"https://github.com/pangaea-data-publisher/fuji/tree/master/fuji_server/models"}},{"name":"static","path":"fuji_server/static","sha":"b05a1efdaf520c91142ebcc9797e4d5a597c4152","size":0,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/static?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/tree/master/fuji_server/static","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/b05a1efdaf520c91142ebcc9797e4d5a597c4152","download_url":null,"type":"dir","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/static?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/b05a1efdaf520c91142ebcc9797e4d5a597c4152","html":"https://github.com/pangaea-data-publisher/fuji/tree/master/fuji_server/static"}},{"name":"util.py","path":"fuji_server/util.py","sha":"1c0baa3856420c927de38d2ee53c8486e2e02b8d","size":3627,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/util.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/util.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/1c0baa3856420c927de38d2ee53c8486e2e02b8d","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/util.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/util.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/1c0baa3856420c927de38d2ee53c8486e2e02b8d","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/util.py"}},{"name":"yaml","path":"fuji_server/yaml","sha":"cfec6bdb95583e5c70c9d631244c7e6fd65d5a75","size":0,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/yaml?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/tree/master/fuji_server/yaml","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/cfec6bdb95583e5c70c9d631244c7e6fd65d5a75","download_url":null,"type":"dir","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/yaml?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/cfec6bdb95583e5c70c9d631244c7e6fd65d5a75","html":"https://github.com/pangaea-data-publisher/fuji/tree/master/fuji_server/yaml"}}]' + headers: + Access-Control-Allow-Origin: + - '*' + Access-Control-Expose-Headers: + - ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset + Cache-Control: + - private, max-age=60, s-maxage=60 + Content-Encoding: + - gzip + Content-Security-Policy: + - default-src 'none' + Content-Type: + - application/json; charset=utf-8 + Date: + - Fri, 03 May 2024 13:42:09 GMT + ETag: + - W/"ebba17509a44e60e09b57a6d211021b3ca0688d2" + Last-Modified: + - Fri, 03 May 2024 07:27:29 GMT + Referrer-Policy: + - origin-when-cross-origin, strict-origin-when-cross-origin + Server: + - GitHub.com + Strict-Transport-Security: + - max-age=31536000; includeSubdomains; preload + Transfer-Encoding: + - chunked + Vary: + - Accept, Authorization, Cookie, X-GitHub-OTP + - Accept-Encoding, Accept, X-Requested-With + X-Accepted-OAuth-Scopes: + - '' + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + X-GitHub-Media-Type: + - github.v3; format=json + X-GitHub-Request-Id: + - 9F53:2C3F40:3708830:3877450:6634E9B1 + X-OAuth-Scopes: + - repo + X-RateLimit-Limit: + - '5000' + X-RateLimit-Remaining: + - '4752' + X-RateLimit-Reset: + - '1714744789' + X-RateLimit-Resource: + - core + X-RateLimit-Used: + - '248' + X-XSS-Protection: + - '0' + github-authentication-token-expiration: + - 2024-07-08 07:44:52 UTC + x-github-api-version-selected: + - '2022-11-28' + status: + code: 200 + message: OK +- request: + body: + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Authorization: + - token ghp_MASKED + Connection: + - keep-alive + User-Agent: + - PyGithub/Python + method: GET + uri: https://api.github.com/repos/pangaea-data-publisher/fuji/contents/simpleclient + response: + body: + string: '[{"name":"icon","path":"simpleclient/icon","sha":"a85fb4a46ec4fbfc0967bc01fddb144b77b572a3","size":0,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/simpleclient/icon?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/tree/master/simpleclient/icon","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/a85fb4a46ec4fbfc0967bc01fddb144b77b572a3","download_url":null,"type":"dir","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/simpleclient/icon?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/a85fb4a46ec4fbfc0967bc01fddb144b77b572a3","html":"https://github.com/pangaea-data-publisher/fuji/tree/master/simpleclient/icon"}},{"name":"index.php","path":"simpleclient/index.php","sha":"e3d5a1e31658c6721607271ca354ed7cc9e14022","size":25307,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/simpleclient/index.php?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/simpleclient/index.php","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/e3d5a1e31658c6721607271ca354ed7cc9e14022","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/simpleclient/index.php","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/simpleclient/index.php?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/e3d5a1e31658c6721607271ca354ed7cc9e14022","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/simpleclient/index.php"}}]' + headers: + Access-Control-Allow-Origin: + - '*' + Access-Control-Expose-Headers: + - ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset + Cache-Control: + - private, max-age=60, s-maxage=60 + Content-Encoding: + - gzip + Content-Security-Policy: + - default-src 'none' + Content-Type: + - application/json; charset=utf-8 + Date: + - Fri, 03 May 2024 13:42:10 GMT + ETag: + - W/"ebba17509a44e60e09b57a6d211021b3ca0688d2" + Last-Modified: + - Fri, 03 May 2024 07:27:29 GMT + Referrer-Policy: + - origin-when-cross-origin, strict-origin-when-cross-origin + Server: + - GitHub.com + Strict-Transport-Security: + - max-age=31536000; includeSubdomains; preload + Transfer-Encoding: + - chunked + Vary: + - Accept, Authorization, Cookie, X-GitHub-OTP + - Accept-Encoding, Accept, X-Requested-With + X-Accepted-OAuth-Scopes: + - '' + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + X-GitHub-Media-Type: + - github.v3; format=json + X-GitHub-Request-Id: + - 50AB:2D2C78:343C305:359CFC3:6634E9B1 + X-OAuth-Scopes: + - repo + X-RateLimit-Limit: + - '5000' + X-RateLimit-Remaining: + - '4751' + X-RateLimit-Reset: + - '1714744789' + X-RateLimit-Resource: + - core + X-RateLimit-Used: + - '249' + X-XSS-Protection: + - '0' + github-authentication-token-expiration: + - 2024-07-08 07:44:52 UTC + x-github-api-version-selected: + - '2022-11-28' + status: + code: 200 + message: OK +- request: + body: + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Authorization: + - token ghp_MASKED + Connection: + - keep-alive + User-Agent: + - PyGithub/Python + method: GET + uri: https://api.github.com/repos/pangaea-data-publisher/fuji/contents/tests + response: + body: + string: '[{"name":"__init__.py","path":"tests/__init__.py","sha":"329b58cef463289a6ca1e0e32772c5d0d11aa92e","size":98,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/tests/__init__.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/tests/__init__.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/329b58cef463289a6ca1e0e32772c5d0d11aa92e","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/tests/__init__.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/tests/__init__.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/329b58cef463289a6ca1e0e32772c5d0d11aa92e","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/tests/__init__.py"}},{"name":"api","path":"tests/api","sha":"debe1feefa7350fe13edcc520ca06f29a81a80a9","size":0,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/tests/api?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/tree/master/tests/api","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/debe1feefa7350fe13edcc520ca06f29a81a80a9","download_url":null,"type":"dir","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/tests/api?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/debe1feefa7350fe13edcc520ca06f29a81a80a9","html":"https://github.com/pangaea-data-publisher/fuji/tree/master/tests/api"}},{"name":"config","path":"tests/config","sha":"037e25e38c6ef39f5bf1bdb92587782aeca49826","size":0,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/tests/config?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/tree/master/tests/config","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/037e25e38c6ef39f5bf1bdb92587782aeca49826","download_url":null,"type":"dir","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/tests/config?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/037e25e38c6ef39f5bf1bdb92587782aeca49826","html":"https://github.com/pangaea-data-publisher/fuji/tree/master/tests/config"}},{"name":"conftest.py","path":"tests/conftest.py","sha":"722dbc5e183ad1aefcf640d3512d5c41e65e1c14","size":3672,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/tests/conftest.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/tests/conftest.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/722dbc5e183ad1aefcf640d3512d5c41e65e1c14","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/tests/conftest.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/tests/conftest.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/722dbc5e183ad1aefcf640d3512d5c41e65e1c14","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/tests/conftest.py"}},{"name":"controllers","path":"tests/controllers","sha":"29381121d81266c226a767fea4b8538321b3dd1a","size":0,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/tests/controllers?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/tree/master/tests/controllers","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/29381121d81266c226a767fea4b8538321b3dd1a","download_url":null,"type":"dir","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/tests/controllers?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/29381121d81266c226a767fea4b8538321b3dd1a","html":"https://github.com/pangaea-data-publisher/fuji/tree/master/tests/controllers"}},{"name":"functional","path":"tests/functional","sha":"c4c85d0ef0262727b78152a411669e74d4cd9d47","size":0,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/tests/functional?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/tree/master/tests/functional","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/c4c85d0ef0262727b78152a411669e74d4cd9d47","download_url":null,"type":"dir","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/tests/functional?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/c4c85d0ef0262727b78152a411669e74d4cd9d47","html":"https://github.com/pangaea-data-publisher/fuji/tree/master/tests/functional"}},{"name":"helper","path":"tests/helper","sha":"dbb35ea04ea806833f8192ff2c0de962e770afb5","size":0,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/tests/helper?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/tree/master/tests/helper","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/dbb35ea04ea806833f8192ff2c0de962e770afb5","download_url":null,"type":"dir","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/tests/helper?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/dbb35ea04ea806833f8192ff2c0de962e770afb5","html":"https://github.com/pangaea-data-publisher/fuji/tree/master/tests/helper"}},{"name":"models","path":"tests/models","sha":"e323e05d948175773ddfce757b0584b3534a8d8c","size":0,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/tests/models?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/tree/master/tests/models","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/e323e05d948175773ddfce757b0584b3534a8d8c","download_url":null,"type":"dir","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/tests/models?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/e323e05d948175773ddfce757b0584b3534a8d8c","html":"https://github.com/pangaea-data-publisher/fuji/tree/master/tests/models"}}]' + headers: + Access-Control-Allow-Origin: + - '*' + Access-Control-Expose-Headers: + - ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset + Cache-Control: + - private, max-age=60, s-maxage=60 + Content-Encoding: + - gzip + Content-Security-Policy: + - default-src 'none' + Content-Type: + - application/json; charset=utf-8 + Date: + - Fri, 03 May 2024 13:42:10 GMT + ETag: + - W/"ebba17509a44e60e09b57a6d211021b3ca0688d2" + Last-Modified: + - Fri, 03 May 2024 07:27:29 GMT + Referrer-Policy: + - origin-when-cross-origin, strict-origin-when-cross-origin + Server: + - GitHub.com + Strict-Transport-Security: + - max-age=31536000; includeSubdomains; preload + Transfer-Encoding: + - chunked + Vary: + - Accept, Authorization, Cookie, X-GitHub-OTP + - Accept-Encoding, Accept, X-Requested-With + X-Accepted-OAuth-Scopes: + - '' + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + X-GitHub-Media-Type: + - github.v3; format=json + X-GitHub-Request-Id: + - 50AF:2C5955:3623A3A:3792669:6634E9B2 + X-OAuth-Scopes: + - repo + X-RateLimit-Limit: + - '5000' + X-RateLimit-Remaining: + - '4750' + X-RateLimit-Reset: + - '1714744789' + X-RateLimit-Resource: + - core + X-RateLimit-Used: + - '250' + X-XSS-Protection: + - '0' + github-authentication-token-expiration: + - 2024-07-08 07:44:52 UTC + x-github-api-version-selected: + - '2022-11-28' + status: + code: 200 + message: OK +- request: + body: + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Authorization: + - token ghp_MASKED + Connection: + - keep-alive + User-Agent: + - PyGithub/Python + method: GET + uri: https://api.github.com/repos/pangaea-data-publisher/fuji/contents/.github/ISSUE_TEMPLATE + response: + body: + string: '[{"name":"bug_report.md","path":".github/ISSUE_TEMPLATE/bug_report.md","sha":"505cd4c6efd353133bf3574492007e7aacaae825","size":1066,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/.github/ISSUE_TEMPLATE/bug_report.md?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/.github/ISSUE_TEMPLATE/bug_report.md","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/505cd4c6efd353133bf3574492007e7aacaae825","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/.github/ISSUE_TEMPLATE/bug_report.md","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/.github/ISSUE_TEMPLATE/bug_report.md?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/505cd4c6efd353133bf3574492007e7aacaae825","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/.github/ISSUE_TEMPLATE/bug_report.md"}},{"name":"config.yml","path":".github/ISSUE_TEMPLATE/config.yml","sha":"64eb98dc30a6f8b8eec79b05f6fc93c8cee3b75a","size":45,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/.github/ISSUE_TEMPLATE/config.yml?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/.github/ISSUE_TEMPLATE/config.yml","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/64eb98dc30a6f8b8eec79b05f6fc93c8cee3b75a","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/.github/ISSUE_TEMPLATE/config.yml","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/.github/ISSUE_TEMPLATE/config.yml?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/64eb98dc30a6f8b8eec79b05f6fc93c8cee3b75a","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/.github/ISSUE_TEMPLATE/config.yml"}},{"name":"feature_request.md","path":".github/ISSUE_TEMPLATE/feature_request.md","sha":"637acaab206a624bcfa0d2769ab1e729c3f99136","size":671,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/.github/ISSUE_TEMPLATE/feature_request.md?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/.github/ISSUE_TEMPLATE/feature_request.md","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/637acaab206a624bcfa0d2769ab1e729c3f99136","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/.github/ISSUE_TEMPLATE/feature_request.md","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/.github/ISSUE_TEMPLATE/feature_request.md?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/637acaab206a624bcfa0d2769ab1e729c3f99136","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/.github/ISSUE_TEMPLATE/feature_request.md"}}]' + headers: + Access-Control-Allow-Origin: + - '*' + Access-Control-Expose-Headers: + - ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset + Cache-Control: + - private, max-age=60, s-maxage=60 + Content-Encoding: + - gzip + Content-Security-Policy: + - default-src 'none' + Content-Type: + - application/json; charset=utf-8 + Date: + - Fri, 03 May 2024 13:42:11 GMT + ETag: + - W/"ebba17509a44e60e09b57a6d211021b3ca0688d2" + Last-Modified: + - Fri, 03 May 2024 07:27:29 GMT + Referrer-Policy: + - origin-when-cross-origin, strict-origin-when-cross-origin + Server: + - GitHub.com + Strict-Transport-Security: + - max-age=31536000; includeSubdomains; preload + Transfer-Encoding: + - chunked + Vary: + - Accept, Authorization, Cookie, X-GitHub-OTP + - Accept-Encoding, Accept, X-Requested-With + X-Accepted-OAuth-Scopes: + - '' + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + X-GitHub-Media-Type: + - github.v3; format=json + X-GitHub-Request-Id: + - 50B5:201CC5:3631738:37A0338:6634E9B2 + X-OAuth-Scopes: + - repo + X-RateLimit-Limit: + - '5000' + X-RateLimit-Remaining: + - '4749' + X-RateLimit-Reset: + - '1714744789' + X-RateLimit-Resource: + - core + X-RateLimit-Used: + - '251' + X-XSS-Protection: + - '0' + github-authentication-token-expiration: + - 2024-07-08 07:44:52 UTC + x-github-api-version-selected: + - '2022-11-28' + status: + code: 200 + message: OK +- request: + body: + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Authorization: + - token ghp_MASKED + Connection: + - keep-alive + User-Agent: + - PyGithub/Python + method: GET + uri: https://api.github.com/repos/pangaea-data-publisher/fuji/contents/.github/workflows + response: + body: + string: '[{"name":"ci.yml","path":".github/workflows/ci.yml","sha":"487d1346cd00bc4969bc3cea307243fb2da84123","size":3122,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/.github/workflows/ci.yml?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/.github/workflows/ci.yml","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/487d1346cd00bc4969bc3cea307243fb2da84123","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/.github/workflows/ci.yml","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/.github/workflows/ci.yml?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/487d1346cd00bc4969bc3cea307243fb2da84123","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/.github/workflows/ci.yml"}},{"name":"publish-docker.yml","path":".github/workflows/publish-docker.yml","sha":"7cba14ffb4c6c97fb6b2d36787a3632eade95712","size":1626,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/.github/workflows/publish-docker.yml?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/.github/workflows/publish-docker.yml","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/7cba14ffb4c6c97fb6b2d36787a3632eade95712","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/.github/workflows/publish-docker.yml","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/.github/workflows/publish-docker.yml?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/7cba14ffb4c6c97fb6b2d36787a3632eade95712","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/.github/workflows/publish-docker.yml"}},{"name":"reports.yml","path":".github/workflows/reports.yml","sha":"2a84c196f96846c645b285f257a1f714cba38255","size":2916,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/.github/workflows/reports.yml?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/.github/workflows/reports.yml","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/2a84c196f96846c645b285f257a1f714cba38255","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/.github/workflows/reports.yml","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/.github/workflows/reports.yml?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/2a84c196f96846c645b285f257a1f714cba38255","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/.github/workflows/reports.yml"}}]' + headers: + Access-Control-Allow-Origin: + - '*' + Access-Control-Expose-Headers: + - ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset + Cache-Control: + - private, max-age=60, s-maxage=60 + Content-Encoding: + - gzip + Content-Security-Policy: + - default-src 'none' + Content-Type: + - application/json; charset=utf-8 + Date: + - Fri, 03 May 2024 13:42:11 GMT + ETag: + - W/"ebba17509a44e60e09b57a6d211021b3ca0688d2" + Last-Modified: + - Fri, 03 May 2024 07:27:29 GMT + Referrer-Policy: + - origin-when-cross-origin, strict-origin-when-cross-origin + Server: + - GitHub.com + Strict-Transport-Security: + - max-age=31536000; includeSubdomains; preload + Transfer-Encoding: + - chunked + Vary: + - Accept, Authorization, Cookie, X-GitHub-OTP + - Accept-Encoding, Accept, X-Requested-With + X-Accepted-OAuth-Scopes: + - '' + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + X-GitHub-Media-Type: + - github.v3; format=json + X-GitHub-Request-Id: + - 2966:2C3FB9:3626A6B:379568E:6634E9B3 + X-OAuth-Scopes: + - repo + X-RateLimit-Limit: + - '5000' + X-RateLimit-Remaining: + - '4748' + X-RateLimit-Reset: + - '1714744789' + X-RateLimit-Resource: + - core + X-RateLimit-Used: + - '252' + X-XSS-Protection: + - '0' + github-authentication-token-expiration: + - 2024-07-08 07:44:52 UTC + x-github-api-version-selected: + - '2022-11-28' + status: + code: 200 + message: OK +- request: + body: + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Authorization: + - token ghp_MASKED + Connection: + - keep-alive + User-Agent: + - PyGithub/Python + method: GET + uri: https://api.github.com/repos/pangaea-data-publisher/fuji/contents/docs/README.md?ref=master + response: + body: + string: '{"name":"README.md","path":"docs/README.md","sha":"1b7c48d2e4d5c37ba1160666886a91874b2ef8d4","size":616,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/docs/README.md?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/docs/README.md","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/1b7c48d2e4d5c37ba1160666886a91874b2ef8d4","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/docs/README.md","type":"file","content":"SG93IHRvIGJ1aWxkIHRoZSBkb2NzOgoKWW91IG5lZWQgdG8gaGF2ZSBpbnN0\nYWxsZWQgZnVqaSB3aXRoIHRoZSBkZXZlbG9wZXIgZGVwZW5kZW5jaWVzOgpg\nYGAKcGlwIGluc3RhbGwgLltkZXZdCmBgYAoKVGhlbiB0byBidWlsZCB0aGUg\nZG9jcyBleGVjdXRlOgpgYGAKc3BoaW54LWJ1aWxkIC1iIGh0bWwgLWQgYnVp\nbGQvZG9jdHJlZXMgIHNvdXJjZSBidWlsZC9odG1sCmBgYApvcgpgYGAKbWFr\nZSBodG1sCmBgYApmcm9tIHRoaXMgZm9sZGVyLgpUaGUgcmVzdWx0aW5nIGh0\nbWwgcGFnZXMgd2lsbCBiZSB1bmRlciAuYnVpbGQvaHRtbCB3aXRoIHRoZSBz\ndGFydGluZyBwYWdlIGJlaW5nLAppbmRleC5odG1sLiBCeSBvcGVuaW5nIHRo\naXMgd2l0aCBhIGJyb3dzZXIgeW91IGNhbiBsb29rIGF0IHRoZSBkb2N1bWVu\ndGF0aW9uLgoKRXZlcnkgZmlsZSBpbiB0aGUgJ21vZHVsZSBndWlkZScgZm9s\nZGVyIGlzIGF1dG8gZ2VuZXJhdGVkIHdpdGggc3BoaW54LWFwaWRvYzoKCmBg\nYApzcGhpbngtYXBpZG9jIC1mIC1vIGRvY3Mvc291cmNlIC4uL2Z1amlfc2Vy\ndmVyLwpgYGAKCkF0IHNvbWUgcG9pbnQgdGhpcyBwYXJ0IGNhbi9zaG91bGQg\nYmUgbW92ZWQgaW50byB0aGUgQ0kgcGlwZWxpbmUuCg==\n","encoding":"base64","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/docs/README.md?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/1b7c48d2e4d5c37ba1160666886a91874b2ef8d4","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/docs/README.md"}}' + headers: + Access-Control-Allow-Origin: + - '*' + Access-Control-Expose-Headers: + - ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset + Cache-Control: + - private, max-age=60, s-maxage=60 + Content-Encoding: + - gzip + Content-Security-Policy: + - default-src 'none' + Content-Type: + - application/json; charset=utf-8 + Date: + - Fri, 03 May 2024 13:42:12 GMT + ETag: + - W/"1b7c48d2e4d5c37ba1160666886a91874b2ef8d4" + Last-Modified: + - Fri, 03 May 2024 07:27:26 GMT + Referrer-Policy: + - origin-when-cross-origin, strict-origin-when-cross-origin + Server: + - GitHub.com + Strict-Transport-Security: + - max-age=31536000; includeSubdomains; preload + Transfer-Encoding: + - chunked + Vary: + - Accept, Authorization, Cookie, X-GitHub-OTP + - Accept-Encoding, Accept, X-Requested-With + X-Accepted-OAuth-Scopes: + - '' + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + X-GitHub-Media-Type: + - github.v3; format=json + X-GitHub-Request-Id: + - 7814:2C3F40:3708AE5:3877717:6634E9B4 + X-OAuth-Scopes: + - repo + X-RateLimit-Limit: + - '5000' + X-RateLimit-Remaining: + - '4747' + X-RateLimit-Reset: + - '1714744789' + X-RateLimit-Resource: + - core + X-RateLimit-Used: + - '253' + X-XSS-Protection: + - '0' + github-authentication-token-expiration: + - 2024-07-08 07:44:52 UTC + x-github-api-version-selected: + - '2022-11-28' + status: + code: 200 + message: OK +- request: + body: + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Authorization: + - token ghp_MASKED + Connection: + - keep-alive + User-Agent: + - PyGithub/Python + method: GET + uri: https://api.github.com/repos/pangaea-data-publisher/fuji/contents/docs/source + response: + body: + string: '[{"name":"conf.py","path":"docs/source/conf.py","sha":"95e0e43e9ff99c7f1ddc5dc7f4445bbe994ee2b2","size":12443,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/docs/source/conf.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/docs/source/conf.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/95e0e43e9ff99c7f1ddc5dc7f4445bbe994ee2b2","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/docs/source/conf.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/docs/source/conf.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/95e0e43e9ff99c7f1ddc5dc7f4445bbe994ee2b2","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/docs/source/conf.py"}},{"name":"developer_guide","path":"docs/source/developer_guide","sha":"86767485ab019f47c1bb6b4749f5512f3e287e4e","size":0,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/docs/source/developer_guide?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/tree/master/docs/source/developer_guide","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/86767485ab019f47c1bb6b4749f5512f3e287e4e","download_url":null,"type":"dir","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/docs/source/developer_guide?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/86767485ab019f47c1bb6b4749f5512f3e287e4e","html":"https://github.com/pangaea-data-publisher/fuji/tree/master/docs/source/developer_guide"}},{"name":"images","path":"docs/source/images","sha":"75cd1215ca3e1eeed8b09048ec84cadf44ff5210","size":0,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/docs/source/images?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/tree/master/docs/source/images","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/75cd1215ca3e1eeed8b09048ec84cadf44ff5210","download_url":null,"type":"dir","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/docs/source/images?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/75cd1215ca3e1eeed8b09048ec84cadf44ff5210","html":"https://github.com/pangaea-data-publisher/fuji/tree/master/docs/source/images"}},{"name":"index.rst","path":"docs/source/index.rst","sha":"9166528e8ff0c6c153bce0dc29f2761c5cf7baa4","size":661,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/docs/source/index.rst?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/docs/source/index.rst","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/9166528e8ff0c6c153bce0dc29f2761c5cf7baa4","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/docs/source/index.rst","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/docs/source/index.rst?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/9166528e8ff0c6c153bce0dc29f2761c5cf7baa4","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/docs/source/index.rst"}},{"name":"module_guide","path":"docs/source/module_guide","sha":"b2bcf80f6ceb3a07537c0633a5531149ac6e8eea","size":0,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/docs/source/module_guide?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/tree/master/docs/source/module_guide","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/b2bcf80f6ceb3a07537c0633a5531149ac6e8eea","download_url":null,"type":"dir","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/docs/source/module_guide?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/b2bcf80f6ceb3a07537c0633a5531149ac6e8eea","html":"https://github.com/pangaea-data-publisher/fuji/tree/master/docs/source/module_guide"}},{"name":"readme_link.md","path":"docs/source/readme_link.md","sha":"c7719d82ff1fbfea06b7ef630f21f6105cd62344","size":33,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/docs/source/readme_link.md?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/docs/source/readme_link.md","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/c7719d82ff1fbfea06b7ef630f21f6105cd62344","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/docs/source/readme_link.md","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/docs/source/readme_link.md?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/c7719d82ff1fbfea06b7ef630f21f6105cd62344","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/docs/source/readme_link.md"}},{"name":"user_guide","path":"docs/source/user_guide","sha":"61be2381ce1b25135dbba9b7ed03108ff6e67ed8","size":0,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/docs/source/user_guide?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/tree/master/docs/source/user_guide","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/61be2381ce1b25135dbba9b7ed03108ff6e67ed8","download_url":null,"type":"dir","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/docs/source/user_guide?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/61be2381ce1b25135dbba9b7ed03108ff6e67ed8","html":"https://github.com/pangaea-data-publisher/fuji/tree/master/docs/source/user_guide"}}]' + headers: + Access-Control-Allow-Origin: + - '*' + Access-Control-Expose-Headers: + - ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset + Cache-Control: + - private, max-age=60, s-maxage=60 + Content-Encoding: + - gzip + Content-Security-Policy: + - default-src 'none' + Content-Type: + - application/json; charset=utf-8 + Date: + - Fri, 03 May 2024 13:42:12 GMT + ETag: + - W/"ebba17509a44e60e09b57a6d211021b3ca0688d2" + Last-Modified: + - Fri, 03 May 2024 07:27:29 GMT + Referrer-Policy: + - origin-when-cross-origin, strict-origin-when-cross-origin + Server: + - GitHub.com + Strict-Transport-Security: + - max-age=31536000; includeSubdomains; preload + Transfer-Encoding: + - chunked + Vary: + - Accept, Authorization, Cookie, X-GitHub-OTP + - Accept-Encoding, Accept, X-Requested-With + X-Accepted-OAuth-Scopes: + - '' + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + X-GitHub-Media-Type: + - github.v3; format=json + X-GitHub-Request-Id: + - EDC0:2C471A:36B12B9:381FE91:6634E9B4 + X-OAuth-Scopes: + - repo + X-RateLimit-Limit: + - '5000' + X-RateLimit-Remaining: + - '4746' + X-RateLimit-Reset: + - '1714744789' + X-RateLimit-Resource: + - core + X-RateLimit-Used: + - '254' + X-XSS-Protection: + - '0' + github-authentication-token-expiration: + - 2024-07-08 07:44:52 UTC + x-github-api-version-selected: + - '2022-11-28' + status: + code: 200 + message: OK +- request: + body: + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Authorization: + - token ghp_MASKED + Connection: + - keep-alive + User-Agent: + - PyGithub/Python + method: GET + uri: https://api.github.com/repos/pangaea-data-publisher/fuji/contents/examples/mass_assessment + response: + body: + string: '[{"name":"Create_FAIR_assessment_report.ipynb","path":"examples/mass_assessment/Create_FAIR_assessment_report.ipynb","sha":"a78c69840413b78172c17ecb9be5ab695383e5ca","size":11080,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/examples/mass_assessment/Create_FAIR_assessment_report.ipynb?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/examples/mass_assessment/Create_FAIR_assessment_report.ipynb","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/a78c69840413b78172c17ecb9be5ab695383e5ca","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/examples/mass_assessment/Create_FAIR_assessment_report.ipynb","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/examples/mass_assessment/Create_FAIR_assessment_report.ipynb?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/a78c69840413b78172c17ecb9be5ab695383e5ca","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/examples/mass_assessment/Create_FAIR_assessment_report.ipynb"}},{"name":"fuji_mass_eval_template.py","path":"examples/mass_assessment/fuji_mass_eval_template.py","sha":"90db2a1232daf204c6c1a713674ad6d2bca90ebd","size":1687,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/examples/mass_assessment/fuji_mass_eval_template.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/examples/mass_assessment/fuji_mass_eval_template.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/90db2a1232daf204c6c1a713674ad6d2bca90ebd","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/examples/mass_assessment/fuji_mass_eval_template.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/examples/mass_assessment/fuji_mass_eval_template.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/90db2a1232daf204c6c1a713674ad6d2bca90ebd","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/examples/mass_assessment/fuji_mass_eval_template.py"}}]' + headers: + Access-Control-Allow-Origin: + - '*' + Access-Control-Expose-Headers: + - ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset + Cache-Control: + - private, max-age=60, s-maxage=60 + Content-Encoding: + - gzip + Content-Security-Policy: + - default-src 'none' + Content-Type: + - application/json; charset=utf-8 + Date: + - Fri, 03 May 2024 13:42:13 GMT + ETag: + - W/"ebba17509a44e60e09b57a6d211021b3ca0688d2" + Last-Modified: + - Fri, 03 May 2024 07:27:29 GMT + Referrer-Policy: + - origin-when-cross-origin, strict-origin-when-cross-origin + Server: + - GitHub.com + Strict-Transport-Security: + - max-age=31536000; includeSubdomains; preload + Transfer-Encoding: + - chunked + Vary: + - Accept, Authorization, Cookie, X-GitHub-OTP + - Accept-Encoding, Accept, X-Requested-With + X-Accepted-OAuth-Scopes: + - '' + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + X-GitHub-Media-Type: + - github.v3; format=json + X-GitHub-Request-Id: + - 9F12:2C5955:3623CEB:3792942:6634E9B5 + X-OAuth-Scopes: + - repo + X-RateLimit-Limit: + - '5000' + X-RateLimit-Remaining: + - '4745' + X-RateLimit-Reset: + - '1714744789' + X-RateLimit-Resource: + - core + X-RateLimit-Used: + - '255' + X-XSS-Protection: + - '0' + github-authentication-token-expiration: + - 2024-07-08 07:44:52 UTC + x-github-api-version-selected: + - '2022-11-28' + status: + code: 200 + message: OK +- request: + body: + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Authorization: + - token ghp_MASKED + Connection: + - keep-alive + User-Agent: + - PyGithub/Python + method: GET + uri: https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/config + response: + body: + string: '[{"name":"github.ini","path":"fuji_server/config/github.ini","sha":"fb32936a9242da21a782b677b16897e8ab97b922","size":110,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/config/github.ini?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/config/github.ini","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/fb32936a9242da21a782b677b16897e8ab97b922","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/config/github.ini","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/config/github.ini?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/fb32936a9242da21a782b677b16897e8ab97b922","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/config/github.ini"}},{"name":"logging.ini","path":"fuji_server/config/logging.ini","sha":"071c592feb5f43f1d9b8b27262646dc3750d96e3","size":446,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/config/logging.ini?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/config/logging.ini","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/071c592feb5f43f1d9b8b27262646dc3750d96e3","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/config/logging.ini","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/config/logging.ini?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/071c592feb5f43f1d9b8b27262646dc3750d96e3","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/config/logging.ini"}},{"name":"server.ini","path":"fuji_server/config/server.ini","sha":"c3902d7485301bf164be8093be7d8dffcea71489","size":860,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/config/server.ini?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/config/server.ini","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/c3902d7485301bf164be8093be7d8dffcea71489","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/config/server.ini","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/config/server.ini?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/c3902d7485301bf164be8093be7d8dffcea71489","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/config/server.ini"}},{"name":"users.py","path":"fuji_server/config/users.py","sha":"e7f662572f509877dbef96334e0fbf06e609a9d4","size":189,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/config/users.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/config/users.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/e7f662572f509877dbef96334e0fbf06e609a9d4","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/config/users.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/config/users.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/e7f662572f509877dbef96334e0fbf06e609a9d4","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/config/users.py"}}]' + headers: + Access-Control-Allow-Origin: + - '*' + Access-Control-Expose-Headers: + - ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset + Cache-Control: + - private, max-age=60, s-maxage=60 + Content-Encoding: + - gzip + Content-Security-Policy: + - default-src 'none' + Content-Type: + - application/json; charset=utf-8 + Date: + - Fri, 03 May 2024 13:42:13 GMT + ETag: + - W/"ebba17509a44e60e09b57a6d211021b3ca0688d2" + Last-Modified: + - Fri, 03 May 2024 07:27:29 GMT + Referrer-Policy: + - origin-when-cross-origin, strict-origin-when-cross-origin + Server: + - GitHub.com + Strict-Transport-Security: + - max-age=31536000; includeSubdomains; preload + Transfer-Encoding: + - chunked + Vary: + - Accept, Authorization, Cookie, X-GitHub-OTP + - Accept-Encoding, Accept, X-Requested-With + X-Accepted-OAuth-Scopes: + - '' + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + X-GitHub-Media-Type: + - github.v3; format=json + X-GitHub-Request-Id: + - 2915:3316FD:1E1AD67:1EF0277:6634E9B5 + X-OAuth-Scopes: + - repo + X-RateLimit-Limit: + - '5000' + X-RateLimit-Remaining: + - '4744' + X-RateLimit-Reset: + - '1714744789' + X-RateLimit-Resource: + - core + X-RateLimit-Used: + - '256' + X-XSS-Protection: + - '0' + github-authentication-token-expiration: + - 2024-07-08 07:44:52 UTC + x-github-api-version-selected: + - '2022-11-28' + status: + code: 200 + message: OK +- request: + body: + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Authorization: + - token ghp_MASKED + Connection: + - keep-alive + User-Agent: + - PyGithub/Python + method: GET + uri: https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/controllers + response: + body: + string: '[{"name":"__init__.py","path":"fuji_server/controllers/__init__.py","sha":"329b58cef463289a6ca1e0e32772c5d0d11aa92e","size":98,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/controllers/__init__.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/controllers/__init__.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/329b58cef463289a6ca1e0e32772c5d0d11aa92e","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/controllers/__init__.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/controllers/__init__.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/329b58cef463289a6ca1e0e32772c5d0d11aa92e","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/controllers/__init__.py"}},{"name":"authorization_controller.py","path":"fuji_server/controllers/authorization_controller.py","sha":"6ab8aa30c45ca5425ebe4f3ac3e91665bd3fab14","size":826,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/controllers/authorization_controller.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/controllers/authorization_controller.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/6ab8aa30c45ca5425ebe4f3ac3e91665bd3fab14","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/controllers/authorization_controller.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/controllers/authorization_controller.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/6ab8aa30c45ca5425ebe4f3ac3e91665bd3fab14","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/controllers/authorization_controller.py"}},{"name":"fair_check.py","path":"fuji_server/controllers/fair_check.py","sha":"11c10ff371c5a01854ee61e09709e41077c2f456","size":31860,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/controllers/fair_check.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/controllers/fair_check.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/11c10ff371c5a01854ee61e09709e41077c2f456","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/controllers/fair_check.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/controllers/fair_check.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/11c10ff371c5a01854ee61e09709e41077c2f456","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/controllers/fair_check.py"}},{"name":"fair_metric_controller.py","path":"fuji_server/controllers/fair_metric_controller.py","sha":"ebda59b1725bc31861adff9bc3bd61b6fdbd9b44","size":791,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/controllers/fair_metric_controller.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/controllers/fair_metric_controller.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/ebda59b1725bc31861adff9bc3bd61b6fdbd9b44","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/controllers/fair_metric_controller.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/controllers/fair_metric_controller.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/ebda59b1725bc31861adff9bc3bd61b6fdbd9b44","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/controllers/fair_metric_controller.py"}},{"name":"fair_object_controller.py","path":"fuji_server/controllers/fair_object_controller.py","sha":"68e4a78baad0cd2bab46f07cb3b6d55653805c10","size":8643,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/controllers/fair_object_controller.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/controllers/fair_object_controller.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/68e4a78baad0cd2bab46f07cb3b6d55653805c10","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/controllers/fair_object_controller.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/controllers/fair_object_controller.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/68e4a78baad0cd2bab46f07cb3b6d55653805c10","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/controllers/fair_object_controller.py"}},{"name":"harvest_controller.py","path":"fuji_server/controllers/harvest_controller.py","sha":"407785333955a05f11d164ad45a50fcfabfe4e08","size":2098,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/controllers/harvest_controller.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/controllers/harvest_controller.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/407785333955a05f11d164ad45a50fcfabfe4e08","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/controllers/harvest_controller.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/controllers/harvest_controller.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/407785333955a05f11d164ad45a50fcfabfe4e08","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/controllers/harvest_controller.py"}}]' + headers: + Access-Control-Allow-Origin: + - '*' + Access-Control-Expose-Headers: + - ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset + Cache-Control: + - private, max-age=60, s-maxage=60 + Content-Encoding: + - gzip + Content-Security-Policy: + - default-src 'none' + Content-Type: + - application/json; charset=utf-8 + Date: + - Fri, 03 May 2024 13:42:14 GMT + ETag: + - W/"ebba17509a44e60e09b57a6d211021b3ca0688d2" + Last-Modified: + - Fri, 03 May 2024 07:27:29 GMT + Referrer-Policy: + - origin-when-cross-origin, strict-origin-when-cross-origin + Server: + - GitHub.com + Strict-Transport-Security: + - max-age=31536000; includeSubdomains; preload + Transfer-Encoding: + - chunked + Vary: + - Accept, Authorization, Cookie, X-GitHub-OTP + - Accept-Encoding, Accept, X-Requested-With + X-Accepted-OAuth-Scopes: + - '' + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + X-GitHub-Media-Type: + - github.v3; format=json + X-GitHub-Request-Id: + - C66B:2D2C78:343C811:359D500:6634E9B6 + X-OAuth-Scopes: + - repo + X-RateLimit-Limit: + - '5000' + X-RateLimit-Remaining: + - '4743' + X-RateLimit-Reset: + - '1714744789' + X-RateLimit-Resource: + - core + X-RateLimit-Used: + - '257' + X-XSS-Protection: + - '0' + github-authentication-token-expiration: + - 2024-07-08 07:44:52 UTC + x-github-api-version-selected: + - '2022-11-28' + status: + code: 200 + message: OK +- request: + body: + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Authorization: + - token ghp_MASKED + Connection: + - keep-alive + User-Agent: + - PyGithub/Python + method: GET + uri: https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/data + response: + body: + string: '[{"name":"README.md","path":"fuji_server/data/README.md","sha":"60c2ccea32ac87650ca88aa034c00b64126bc5ab","size":2246,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/data/README.md?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/data/README.md","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/60c2ccea32ac87650ca88aa034c00b64126bc5ab","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/data/README.md","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/data/README.md?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/60c2ccea32ac87650ca88aa034c00b64126bc5ab","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/data/README.md"}},{"name":"ResourceTypes.txt","path":"fuji_server/data/ResourceTypes.txt","sha":"c65eb228b27d0585a43e56a59abc91232247d0c1","size":1005,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/data/ResourceTypes.txt?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/data/ResourceTypes.txt","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/c65eb228b27d0585a43e56a59abc91232247d0c1","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/data/ResourceTypes.txt","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/data/ResourceTypes.txt?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/c65eb228b27d0585a43e56a59abc91232247d0c1","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/data/ResourceTypes.txt"}},{"name":"access_rights.json","path":"fuji_server/data/access_rights.json","sha":"9cd1aab8145d59ef71111ff63eed8c05030bedeb","size":5248,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/data/access_rights.json?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/data/access_rights.json","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/9cd1aab8145d59ef71111ff63eed8c05030bedeb","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/data/access_rights.json","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/data/access_rights.json?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/9cd1aab8145d59ef71111ff63eed8c05030bedeb","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/data/access_rights.json"}},{"name":"bioschemastypes.txt","path":"fuji_server/data/bioschemastypes.txt","sha":"b80899a3790f17d9348b59bab4bbf95a3bf766a4","size":464,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/data/bioschemastypes.txt?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/data/bioschemastypes.txt","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/b80899a3790f17d9348b59bab4bbf95a3bf766a4","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/data/bioschemastypes.txt","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/data/bioschemastypes.txt?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/b80899a3790f17d9348b59bab4bbf95a3bf766a4","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/data/bioschemastypes.txt"}},{"name":"creativeworktypes.txt","path":"fuji_server/data/creativeworktypes.txt","sha":"0d32b3f6c78aace8521840d5e7b21009f421b4a4","size":1566,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/data/creativeworktypes.txt?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/data/creativeworktypes.txt","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/0d32b3f6c78aace8521840d5e7b21009f421b4a4","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/data/creativeworktypes.txt","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/data/creativeworktypes.txt?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/0d32b3f6c78aace8521840d5e7b21009f421b4a4","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/data/creativeworktypes.txt"}},{"name":"default_namespaces.txt","path":"fuji_server/data/default_namespaces.txt","sha":"9ba396bb317859da34731fcb6b7227ef26b493a2","size":822,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/data/default_namespaces.txt?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/data/default_namespaces.txt","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/9ba396bb317859da34731fcb6b7227ef26b493a2","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/data/default_namespaces.txt","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/data/default_namespaces.txt?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/9ba396bb317859da34731fcb6b7227ef26b493a2","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/data/default_namespaces.txt"}},{"name":"file_formats.json","path":"fuji_server/data/file_formats.json","sha":"535c6b626a9254553bc46c78db54d2ba4b94d164","size":39498,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/data/file_formats.json?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/data/file_formats.json","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/535c6b626a9254553bc46c78db54d2ba4b94d164","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/data/file_formats.json","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/data/file_formats.json?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/535c6b626a9254553bc46c78db54d2ba4b94d164","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/data/file_formats.json"}},{"name":"identifiers_org_resolver_data.json","path":"fuji_server/data/identifiers_org_resolver_data.json","sha":"247b71a651342eccde0f1aa03568b4ed70e87ddc","size":1612981,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/data/identifiers_org_resolver_data.json?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/data/identifiers_org_resolver_data.json","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/247b71a651342eccde0f1aa03568b4ed70e87ddc","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/data/identifiers_org_resolver_data.json","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/data/identifiers_org_resolver_data.json?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/247b71a651342eccde0f1aa03568b4ed70e87ddc","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/data/identifiers_org_resolver_data.json"}},{"name":"jsonldcontext.json","path":"fuji_server/data/jsonldcontext.json","sha":"29aeea08bbcfd18fd66b756a147fb360c243c876","size":179094,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/data/jsonldcontext.json?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/data/jsonldcontext.json","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/29aeea08bbcfd18fd66b756a147fb360c243c876","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/data/jsonldcontext.json","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/data/jsonldcontext.json?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/29aeea08bbcfd18fd66b756a147fb360c243c876","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/data/jsonldcontext.json"}},{"name":"licenses.json","path":"fuji_server/data/licenses.json","sha":"320a951ebe5bd9b47237de6dd6f48c7c22d0c8b5","size":173926,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/data/licenses.json?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/data/licenses.json","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/320a951ebe5bd9b47237de6dd6f48c7c22d0c8b5","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/data/licenses.json","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/data/licenses.json?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/320a951ebe5bd9b47237de6dd6f48c7c22d0c8b5","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/data/licenses.json"}},{"name":"linked_vocab.json","path":"fuji_server/data/linked_vocab.json","sha":"34f496378a72d7ca5206baa9aaf92ddcb31e29ab","size":199292,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/data/linked_vocab.json?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/data/linked_vocab.json","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/34f496378a72d7ca5206baa9aaf92ddcb31e29ab","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/data/linked_vocab.json","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/data/linked_vocab.json?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/34f496378a72d7ca5206baa9aaf92ddcb31e29ab","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/data/linked_vocab.json"}},{"name":"linked_vocabs","path":"fuji_server/data/linked_vocabs","sha":"affa3868494c220bd2df9a3d3c15bcf61eab80e0","size":0,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/data/linked_vocabs?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/tree/master/fuji_server/data/linked_vocabs","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/affa3868494c220bd2df9a3d3c15bcf61eab80e0","download_url":null,"type":"dir","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/data/linked_vocabs?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/affa3868494c220bd2df9a3d3c15bcf61eab80e0","html":"https://github.com/pangaea-data-publisher/fuji/tree/master/fuji_server/data/linked_vocabs"}},{"name":"longterm_formats.json","path":"fuji_server/data/longterm_formats.json","sha":"405565c1340c6c0b4b25957fa14593abe3225191","size":2964,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/data/longterm_formats.json?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/data/longterm_formats.json","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/405565c1340c6c0b4b25957fa14593abe3225191","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/data/longterm_formats.json","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/data/longterm_formats.json?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/405565c1340c6c0b4b25957fa14593abe3225191","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/data/longterm_formats.json"}},{"name":"metadata_standards.json","path":"fuji_server/data/metadata_standards.json","sha":"2d61d7b8146f3ab44b002ac49a626e678d034101","size":179624,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/data/metadata_standards.json?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/data/metadata_standards.json","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/2d61d7b8146f3ab44b002ac49a626e678d034101","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/data/metadata_standards.json","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/data/metadata_standards.json?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/2d61d7b8146f3ab44b002ac49a626e678d034101","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/data/metadata_standards.json"}},{"name":"metadata_standards_uris.json","path":"fuji_server/data/metadata_standards_uris.json","sha":"25a48cb064239b940278fe3be0af04294f0b6f06","size":1174207,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/data/metadata_standards_uris.json?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/data/metadata_standards_uris.json","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/25a48cb064239b940278fe3be0af04294f0b6f06","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/data/metadata_standards_uris.json","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/data/metadata_standards_uris.json?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/25a48cb064239b940278fe3be0af04294f0b6f06","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/data/metadata_standards_uris.json"}},{"name":"open_formats.json","path":"fuji_server/data/open_formats.json","sha":"68c8f4869095af417e259314187767df9a09c0fe","size":2766,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/data/open_formats.json?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/data/open_formats.json","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/68c8f4869095af417e259314187767df9a09c0fe","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/data/open_formats.json","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/data/open_formats.json?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/68c8f4869095af417e259314187767df9a09c0fe","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/data/open_formats.json"}},{"name":"repodois.yaml","path":"fuji_server/data/repodois.yaml","sha":"db9707e21a4ef34cd7106bf65b7b632b2c6511f1","size":11442,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/data/repodois.yaml?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/data/repodois.yaml","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/db9707e21a4ef34cd7106bf65b7b632b2c6511f1","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/data/repodois.yaml","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/data/repodois.yaml?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/db9707e21a4ef34cd7106bf65b7b632b2c6511f1","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/data/repodois.yaml"}},{"name":"standard_uri_protocols.json","path":"fuji_server/data/standard_uri_protocols.json","sha":"3637fbfaa9b1c308e90ffb909afd6c2a6019f8b9","size":911,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/data/standard_uri_protocols.json?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/data/standard_uri_protocols.json","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/3637fbfaa9b1c308e90ffb909afd6c2a6019f8b9","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/data/standard_uri_protocols.json","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/data/standard_uri_protocols.json?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/3637fbfaa9b1c308e90ffb909afd6c2a6019f8b9","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/data/standard_uri_protocols.json"}}]' + headers: + Access-Control-Allow-Origin: + - '*' + Access-Control-Expose-Headers: + - ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset + Cache-Control: + - private, max-age=60, s-maxage=60 + Content-Encoding: + - gzip + Content-Security-Policy: + - default-src 'none' + Content-Type: + - application/json; charset=utf-8 + Date: + - Fri, 03 May 2024 13:42:14 GMT + ETag: + - W/"ebba17509a44e60e09b57a6d211021b3ca0688d2" + Last-Modified: + - Fri, 03 May 2024 07:27:29 GMT + Referrer-Policy: + - origin-when-cross-origin, strict-origin-when-cross-origin + Server: + - GitHub.com + Strict-Transport-Security: + - max-age=31536000; includeSubdomains; preload + Transfer-Encoding: + - chunked + Vary: + - Accept, Authorization, Cookie, X-GitHub-OTP + - Accept-Encoding, Accept, X-Requested-With + X-Accepted-OAuth-Scopes: + - '' + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + X-GitHub-Media-Type: + - github.v3; format=json + X-GitHub-Request-Id: + - 77C3:202DB0:3751B32:38C0785:6634E9B6 + X-OAuth-Scopes: + - repo + X-RateLimit-Limit: + - '5000' + X-RateLimit-Remaining: + - '4742' + X-RateLimit-Reset: + - '1714744789' + X-RateLimit-Resource: + - core + X-RateLimit-Used: + - '258' + X-XSS-Protection: + - '0' + github-authentication-token-expiration: + - 2024-07-08 07:44:52 UTC + x-github-api-version-selected: + - '2022-11-28' + status: + code: 200 + message: OK +- request: + body: + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Authorization: + - token ghp_MASKED + Connection: + - keep-alive + User-Agent: + - PyGithub/Python + method: GET + uri: https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/evaluators + response: + body: + string: '[{"name":"__init__.py","path":"fuji_server/evaluators/__init__.py","sha":"329b58cef463289a6ca1e0e32772c5d0d11aa92e","size":98,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/evaluators/__init__.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/evaluators/__init__.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/329b58cef463289a6ca1e0e32772c5d0d11aa92e","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/evaluators/__init__.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/evaluators/__init__.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/329b58cef463289a6ca1e0e32772c5d0d11aa92e","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/evaluators/__init__.py"}},{"name":"fair_evaluator.py","path":"fuji_server/evaluators/fair_evaluator.py","sha":"6f1c4594089dac8ce99a51a4f718e08bdc2c00d1","size":8532,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/evaluators/fair_evaluator.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/evaluators/fair_evaluator.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/6f1c4594089dac8ce99a51a4f718e08bdc2c00d1","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/evaluators/fair_evaluator.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/evaluators/fair_evaluator.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/6f1c4594089dac8ce99a51a4f718e08bdc2c00d1","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/evaluators/fair_evaluator.py"}},{"name":"fair_evaluator_community_metadata.py","path":"fuji_server/evaluators/fair_evaluator_community_metadata.py","sha":"d74d99cc5a5c3266e685d6b0e924ba5abad467a4","size":20610,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/evaluators/fair_evaluator_community_metadata.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/evaluators/fair_evaluator_community_metadata.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/d74d99cc5a5c3266e685d6b0e924ba5abad467a4","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/evaluators/fair_evaluator_community_metadata.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/evaluators/fair_evaluator_community_metadata.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/d74d99cc5a5c3266e685d6b0e924ba5abad467a4","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/evaluators/fair_evaluator_community_metadata.py"}},{"name":"fair_evaluator_data_access_level.py","path":"fuji_server/evaluators/fair_evaluator_data_access_level.py","sha":"3b6ba2754bfa7b5e9e6c773d0fc63eba0047ff4a","size":12962,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/evaluators/fair_evaluator_data_access_level.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/evaluators/fair_evaluator_data_access_level.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/3b6ba2754bfa7b5e9e6c773d0fc63eba0047ff4a","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/evaluators/fair_evaluator_data_access_level.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/evaluators/fair_evaluator_data_access_level.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/3b6ba2754bfa7b5e9e6c773d0fc63eba0047ff4a","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/evaluators/fair_evaluator_data_access_level.py"}},{"name":"fair_evaluator_data_content_metadata.py","path":"fuji_server/evaluators/fair_evaluator_data_content_metadata.py","sha":"5276b47e7ccfd70a9a615ca8bd9c4a41492c7c52","size":17837,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/evaluators/fair_evaluator_data_content_metadata.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/evaluators/fair_evaluator_data_content_metadata.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/5276b47e7ccfd70a9a615ca8bd9c4a41492c7c52","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/evaluators/fair_evaluator_data_content_metadata.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/evaluators/fair_evaluator_data_content_metadata.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/5276b47e7ccfd70a9a615ca8bd9c4a41492c7c52","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/evaluators/fair_evaluator_data_content_metadata.py"}},{"name":"fair_evaluator_data_identifier_included.py","path":"fuji_server/evaluators/fair_evaluator_data_identifier_included.py","sha":"81f3e1f33536b08f7a4120e437b08b8281e9008f","size":6251,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/evaluators/fair_evaluator_data_identifier_included.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/evaluators/fair_evaluator_data_identifier_included.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/81f3e1f33536b08f7a4120e437b08b8281e9008f","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/evaluators/fair_evaluator_data_identifier_included.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/evaluators/fair_evaluator_data_identifier_included.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/81f3e1f33536b08f7a4120e437b08b8281e9008f","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/evaluators/fair_evaluator_data_identifier_included.py"}},{"name":"fair_evaluator_data_provenance.py","path":"fuji_server/evaluators/fair_evaluator_data_provenance.py","sha":"1f2c3d7211a42874549c372209b5bd763822a1c2","size":6590,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/evaluators/fair_evaluator_data_provenance.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/evaluators/fair_evaluator_data_provenance.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/1f2c3d7211a42874549c372209b5bd763822a1c2","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/evaluators/fair_evaluator_data_provenance.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/evaluators/fair_evaluator_data_provenance.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/1f2c3d7211a42874549c372209b5bd763822a1c2","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/evaluators/fair_evaluator_data_provenance.py"}},{"name":"fair_evaluator_file_format.py","path":"fuji_server/evaluators/fair_evaluator_file_format.py","sha":"e0fdc8a580f1781cf53ea424f93eb9fe8bb9799b","size":11892,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/evaluators/fair_evaluator_file_format.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/evaluators/fair_evaluator_file_format.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/e0fdc8a580f1781cf53ea424f93eb9fe8bb9799b","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/evaluators/fair_evaluator_file_format.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/evaluators/fair_evaluator_file_format.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/e0fdc8a580f1781cf53ea424f93eb9fe8bb9799b","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/evaluators/fair_evaluator_file_format.py"}},{"name":"fair_evaluator_formal_metadata.py","path":"fuji_server/evaluators/fair_evaluator_formal_metadata.py","sha":"273ece5030b9cadd89ed6d6a6806f435d3b60b14","size":10114,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/evaluators/fair_evaluator_formal_metadata.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/evaluators/fair_evaluator_formal_metadata.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/273ece5030b9cadd89ed6d6a6806f435d3b60b14","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/evaluators/fair_evaluator_formal_metadata.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/evaluators/fair_evaluator_formal_metadata.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/273ece5030b9cadd89ed6d6a6806f435d3b60b14","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/evaluators/fair_evaluator_formal_metadata.py"}},{"name":"fair_evaluator_license.py","path":"fuji_server/evaluators/fair_evaluator_license.py","sha":"c735c0a4dca9cecb077ff912e86b1dcfaad27d25","size":21600,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/evaluators/fair_evaluator_license.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/evaluators/fair_evaluator_license.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/c735c0a4dca9cecb077ff912e86b1dcfaad27d25","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/evaluators/fair_evaluator_license.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/evaluators/fair_evaluator_license.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/c735c0a4dca9cecb077ff912e86b1dcfaad27d25","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/evaluators/fair_evaluator_license.py"}},{"name":"fair_evaluator_metadata_identifier_included.py","path":"fuji_server/evaluators/fair_evaluator_metadata_identifier_included.py","sha":"b062d8e07611f9fa69d244de4d561069fd220efb","size":3756,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/evaluators/fair_evaluator_metadata_identifier_included.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/evaluators/fair_evaluator_metadata_identifier_included.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/b062d8e07611f9fa69d244de4d561069fd220efb","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/evaluators/fair_evaluator_metadata_identifier_included.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/evaluators/fair_evaluator_metadata_identifier_included.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/b062d8e07611f9fa69d244de4d561069fd220efb","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/evaluators/fair_evaluator_metadata_identifier_included.py"}},{"name":"fair_evaluator_metadata_preservation.py","path":"fuji_server/evaluators/fair_evaluator_metadata_preservation.py","sha":"bb6e5940e38c917be2fef01c2c3feb19f72831e7","size":1848,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/evaluators/fair_evaluator_metadata_preservation.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/evaluators/fair_evaluator_metadata_preservation.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/bb6e5940e38c917be2fef01c2c3feb19f72831e7","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/evaluators/fair_evaluator_metadata_preservation.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/evaluators/fair_evaluator_metadata_preservation.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/bb6e5940e38c917be2fef01c2c3feb19f72831e7","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/evaluators/fair_evaluator_metadata_preservation.py"}},{"name":"fair_evaluator_minimal_metadata.py","path":"fuji_server/evaluators/fair_evaluator_minimal_metadata.py","sha":"c81d1b76bc44c9a04f3787ca71a7cb40ff1a697a","size":8905,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/evaluators/fair_evaluator_minimal_metadata.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/evaluators/fair_evaluator_minimal_metadata.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/c81d1b76bc44c9a04f3787ca71a7cb40ff1a697a","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/evaluators/fair_evaluator_minimal_metadata.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/evaluators/fair_evaluator_minimal_metadata.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/c81d1b76bc44c9a04f3787ca71a7cb40ff1a697a","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/evaluators/fair_evaluator_minimal_metadata.py"}},{"name":"fair_evaluator_persistent_identifier_data.py","path":"fuji_server/evaluators/fair_evaluator_persistent_identifier_data.py","sha":"1a975525afc1f82f2cf04c9d95e188f884209581","size":4682,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/evaluators/fair_evaluator_persistent_identifier_data.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/evaluators/fair_evaluator_persistent_identifier_data.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/1a975525afc1f82f2cf04c9d95e188f884209581","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/evaluators/fair_evaluator_persistent_identifier_data.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/evaluators/fair_evaluator_persistent_identifier_data.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/1a975525afc1f82f2cf04c9d95e188f884209581","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/evaluators/fair_evaluator_persistent_identifier_data.py"}},{"name":"fair_evaluator_persistent_identifier_metadata.py","path":"fuji_server/evaluators/fair_evaluator_persistent_identifier_metadata.py","sha":"022f13c50003f0df1c073943fdc192dc45cc671f","size":5557,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/evaluators/fair_evaluator_persistent_identifier_metadata.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/evaluators/fair_evaluator_persistent_identifier_metadata.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/022f13c50003f0df1c073943fdc192dc45cc671f","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/evaluators/fair_evaluator_persistent_identifier_metadata.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/evaluators/fair_evaluator_persistent_identifier_metadata.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/022f13c50003f0df1c073943fdc192dc45cc671f","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/evaluators/fair_evaluator_persistent_identifier_metadata.py"}},{"name":"fair_evaluator_related_resources.py","path":"fuji_server/evaluators/fair_evaluator_related_resources.py","sha":"12efdea346e1f0c66d9c668dfacff7510afcb193","size":3709,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/evaluators/fair_evaluator_related_resources.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/evaluators/fair_evaluator_related_resources.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/12efdea346e1f0c66d9c668dfacff7510afcb193","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/evaluators/fair_evaluator_related_resources.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/evaluators/fair_evaluator_related_resources.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/12efdea346e1f0c66d9c668dfacff7510afcb193","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/evaluators/fair_evaluator_related_resources.py"}},{"name":"fair_evaluator_searchable.py","path":"fuji_server/evaluators/fair_evaluator_searchable.py","sha":"944f54b96c31a222eddde03b7304adc617ef2908","size":14248,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/evaluators/fair_evaluator_searchable.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/evaluators/fair_evaluator_searchable.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/944f54b96c31a222eddde03b7304adc617ef2908","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/evaluators/fair_evaluator_searchable.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/evaluators/fair_evaluator_searchable.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/944f54b96c31a222eddde03b7304adc617ef2908","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/evaluators/fair_evaluator_searchable.py"}},{"name":"fair_evaluator_semantic_vocabulary.py","path":"fuji_server/evaluators/fair_evaluator_semantic_vocabulary.py","sha":"324dc36ba45ad6cf28215408dfeaf03eec62a175","size":9547,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/evaluators/fair_evaluator_semantic_vocabulary.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/evaluators/fair_evaluator_semantic_vocabulary.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/324dc36ba45ad6cf28215408dfeaf03eec62a175","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/evaluators/fair_evaluator_semantic_vocabulary.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/evaluators/fair_evaluator_semantic_vocabulary.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/324dc36ba45ad6cf28215408dfeaf03eec62a175","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/evaluators/fair_evaluator_semantic_vocabulary.py"}},{"name":"fair_evaluator_standardised_protocol_data.py","path":"fuji_server/evaluators/fair_evaluator_standardised_protocol_data.py","sha":"20806014fbb6d72c5a0189e712407d858892009d","size":3446,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/evaluators/fair_evaluator_standardised_protocol_data.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/evaluators/fair_evaluator_standardised_protocol_data.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/20806014fbb6d72c5a0189e712407d858892009d","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/evaluators/fair_evaluator_standardised_protocol_data.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/evaluators/fair_evaluator_standardised_protocol_data.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/20806014fbb6d72c5a0189e712407d858892009d","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/evaluators/fair_evaluator_standardised_protocol_data.py"}},{"name":"fair_evaluator_standardised_protocol_metadata.py","path":"fuji_server/evaluators/fair_evaluator_standardised_protocol_metadata.py","sha":"b3ab1cd2378a388cc2f19d61fc1dd21cbfaf0137","size":4077,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/evaluators/fair_evaluator_standardised_protocol_metadata.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/evaluators/fair_evaluator_standardised_protocol_metadata.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/b3ab1cd2378a388cc2f19d61fc1dd21cbfaf0137","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/evaluators/fair_evaluator_standardised_protocol_metadata.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/evaluators/fair_evaluator_standardised_protocol_metadata.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/b3ab1cd2378a388cc2f19d61fc1dd21cbfaf0137","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/evaluators/fair_evaluator_standardised_protocol_metadata.py"}},{"name":"fair_evaluator_unique_identifier_data.py","path":"fuji_server/evaluators/fair_evaluator_unique_identifier_data.py","sha":"3ec14e0ca66eb9e08485606f061d56c5738c39e9","size":5342,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/evaluators/fair_evaluator_unique_identifier_data.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/evaluators/fair_evaluator_unique_identifier_data.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/3ec14e0ca66eb9e08485606f061d56c5738c39e9","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/evaluators/fair_evaluator_unique_identifier_data.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/evaluators/fair_evaluator_unique_identifier_data.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/3ec14e0ca66eb9e08485606f061d56c5738c39e9","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/evaluators/fair_evaluator_unique_identifier_data.py"}},{"name":"fair_evaluator_unique_identifier_metadata.py","path":"fuji_server/evaluators/fair_evaluator_unique_identifier_metadata.py","sha":"1a379099dee718beb3a443484488eed590726dd3","size":5181,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/evaluators/fair_evaluator_unique_identifier_metadata.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/evaluators/fair_evaluator_unique_identifier_metadata.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/1a379099dee718beb3a443484488eed590726dd3","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/evaluators/fair_evaluator_unique_identifier_metadata.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/evaluators/fair_evaluator_unique_identifier_metadata.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/1a379099dee718beb3a443484488eed590726dd3","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/evaluators/fair_evaluator_unique_identifier_metadata.py"}}]' + headers: + Access-Control-Allow-Origin: + - '*' + Access-Control-Expose-Headers: + - ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset + Cache-Control: + - private, max-age=60, s-maxage=60 + Content-Encoding: + - gzip + Content-Security-Policy: + - default-src 'none' + Content-Type: + - application/json; charset=utf-8 + Date: + - Fri, 03 May 2024 13:42:15 GMT + ETag: + - W/"ebba17509a44e60e09b57a6d211021b3ca0688d2" + Last-Modified: + - Fri, 03 May 2024 07:27:29 GMT + Referrer-Policy: + - origin-when-cross-origin, strict-origin-when-cross-origin + Server: + - GitHub.com + Strict-Transport-Security: + - max-age=31536000; includeSubdomains; preload + Transfer-Encoding: + - chunked + Vary: + - Accept, Authorization, Cookie, X-GitHub-OTP + - Accept-Encoding, Accept, X-Requested-With + X-Accepted-OAuth-Scopes: + - '' + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + X-GitHub-Media-Type: + - github.v3; format=json + X-GitHub-Request-Id: + - 77C5:203DC:2300DB:23D3FD:6634E9B7 + X-OAuth-Scopes: + - repo + X-RateLimit-Limit: + - '5000' + X-RateLimit-Remaining: + - '4741' + X-RateLimit-Reset: + - '1714744789' + X-RateLimit-Resource: + - core + X-RateLimit-Used: + - '259' + X-XSS-Protection: + - '0' + github-authentication-token-expiration: + - 2024-07-08 07:44:52 UTC + x-github-api-version-selected: + - '2022-11-28' + status: + code: 200 + message: OK +- request: + body: + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Authorization: + - token ghp_MASKED + Connection: + - keep-alive + User-Agent: + - PyGithub/Python + method: GET + uri: https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/harvester + response: + body: + string: '[{"name":"__init__.py","path":"fuji_server/harvester/__init__.py","sha":"329b58cef463289a6ca1e0e32772c5d0d11aa92e","size":98,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/harvester/__init__.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/harvester/__init__.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/329b58cef463289a6ca1e0e32772c5d0d11aa92e","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/harvester/__init__.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/harvester/__init__.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/329b58cef463289a6ca1e0e32772c5d0d11aa92e","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/harvester/__init__.py"}},{"name":"data_harvester.py","path":"fuji_server/harvester/data_harvester.py","sha":"daf2dc1a981f7a70dc238519d9dcd1f0e879a460","size":13065,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/harvester/data_harvester.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/harvester/data_harvester.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/daf2dc1a981f7a70dc238519d9dcd1f0e879a460","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/harvester/data_harvester.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/harvester/data_harvester.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/daf2dc1a981f7a70dc238519d9dcd1f0e879a460","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/harvester/data_harvester.py"}},{"name":"github_harvester.py","path":"fuji_server/harvester/github_harvester.py","sha":"63153b331e1c235c0cc26072467157d6023044d8","size":3541,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/harvester/github_harvester.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/harvester/github_harvester.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/63153b331e1c235c0cc26072467157d6023044d8","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/harvester/github_harvester.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/harvester/github_harvester.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/63153b331e1c235c0cc26072467157d6023044d8","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/harvester/github_harvester.py"}},{"name":"metadata_harvester.py","path":"fuji_server/harvester/metadata_harvester.py","sha":"8351be711185ca8d23e230f25f3209de6dabba0e","size":83206,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/harvester/metadata_harvester.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/harvester/metadata_harvester.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/8351be711185ca8d23e230f25f3209de6dabba0e","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/harvester/metadata_harvester.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/harvester/metadata_harvester.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/8351be711185ca8d23e230f25f3209de6dabba0e","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/harvester/metadata_harvester.py"}},{"name":"repository_harvester.py","path":"fuji_server/harvester/repository_harvester.py","sha":"6f4812ded4d1018da345b8ccda2efd5199bf934b","size":415,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/harvester/repository_harvester.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/harvester/repository_harvester.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/6f4812ded4d1018da345b8ccda2efd5199bf934b","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/harvester/repository_harvester.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/harvester/repository_harvester.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/6f4812ded4d1018da345b8ccda2efd5199bf934b","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/harvester/repository_harvester.py"}}]' + headers: + Access-Control-Allow-Origin: + - '*' + Access-Control-Expose-Headers: + - ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset + Cache-Control: + - private, max-age=60, s-maxage=60 + Content-Encoding: + - gzip + Content-Security-Policy: + - default-src 'none' + Content-Type: + - application/json; charset=utf-8 + Date: + - Fri, 03 May 2024 13:42:15 GMT + ETag: + - W/"ebba17509a44e60e09b57a6d211021b3ca0688d2" + Last-Modified: + - Fri, 03 May 2024 07:27:29 GMT + Referrer-Policy: + - origin-when-cross-origin, strict-origin-when-cross-origin + Server: + - GitHub.com + Strict-Transport-Security: + - max-age=31536000; includeSubdomains; preload + Transfer-Encoding: + - chunked + Vary: + - Accept, Authorization, Cookie, X-GitHub-OTP + - Accept-Encoding, Accept, X-Requested-With + X-Accepted-OAuth-Scopes: + - '' + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + X-GitHub-Media-Type: + - github.v3; format=json + X-GitHub-Request-Id: + - 291D:2C4C60:36A23A9:3810F7B:6634E9B7 + X-OAuth-Scopes: + - repo + X-RateLimit-Limit: + - '5000' + X-RateLimit-Remaining: + - '4740' + X-RateLimit-Reset: + - '1714744789' + X-RateLimit-Resource: + - core + X-RateLimit-Used: + - '260' + X-XSS-Protection: + - '0' + github-authentication-token-expiration: + - 2024-07-08 07:44:52 UTC + x-github-api-version-selected: + - '2022-11-28' + status: + code: 200 + message: OK +- request: + body: + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Authorization: + - token ghp_MASKED + Connection: + - keep-alive + User-Agent: + - PyGithub/Python + method: GET + uri: https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/helper + response: + body: + string: '[{"name":"__init__.py","path":"fuji_server/helper/__init__.py","sha":"329b58cef463289a6ca1e0e32772c5d0d11aa92e","size":98,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/helper/__init__.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/helper/__init__.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/329b58cef463289a6ca1e0e32772c5d0d11aa92e","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/helper/__init__.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/helper/__init__.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/329b58cef463289a6ca1e0e32772c5d0d11aa92e","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/helper/__init__.py"}},{"name":"catalogue_helper.py","path":"fuji_server/helper/catalogue_helper.py","sha":"5f7b6f86ebe25a86237ae1c2415824c3dc0ad667","size":1548,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/helper/catalogue_helper.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/helper/catalogue_helper.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/5f7b6f86ebe25a86237ae1c2415824c3dc0ad667","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/helper/catalogue_helper.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/helper/catalogue_helper.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/5f7b6f86ebe25a86237ae1c2415824c3dc0ad667","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/helper/catalogue_helper.py"}},{"name":"catalogue_helper_datacite.py","path":"fuji_server/helper/catalogue_helper_datacite.py","sha":"317253d1233d3f2eede2843c746fb7f06803b370","size":2063,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/helper/catalogue_helper_datacite.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/helper/catalogue_helper_datacite.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/317253d1233d3f2eede2843c746fb7f06803b370","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/helper/catalogue_helper_datacite.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/helper/catalogue_helper_datacite.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/317253d1233d3f2eede2843c746fb7f06803b370","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/helper/catalogue_helper_datacite.py"}},{"name":"catalogue_helper_google_datasearch.py","path":"fuji_server/helper/catalogue_helper_google_datasearch.py","sha":"e6f7ce64b40f215c1a85bae5e7417ec55fe931c5","size":7801,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/helper/catalogue_helper_google_datasearch.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/helper/catalogue_helper_google_datasearch.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/e6f7ce64b40f215c1a85bae5e7417ec55fe931c5","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/helper/catalogue_helper_google_datasearch.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/helper/catalogue_helper_google_datasearch.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/e6f7ce64b40f215c1a85bae5e7417ec55fe931c5","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/helper/catalogue_helper_google_datasearch.py"}},{"name":"catalogue_helper_mendeley_data.py","path":"fuji_server/helper/catalogue_helper_mendeley_data.py","sha":"4bd91a201f3424f8ecbdc86aa2697ced67424557","size":2810,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/helper/catalogue_helper_mendeley_data.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/helper/catalogue_helper_mendeley_data.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/4bd91a201f3424f8ecbdc86aa2697ced67424557","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/helper/catalogue_helper_mendeley_data.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/helper/catalogue_helper_mendeley_data.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/4bd91a201f3424f8ecbdc86aa2697ced67424557","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/helper/catalogue_helper_mendeley_data.py"}},{"name":"create_google_cache_db.py","path":"fuji_server/helper/create_google_cache_db.py","sha":"53e0d0cceb1682f14c3c826dc2c7ba4c041aa7e9","size":791,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/helper/create_google_cache_db.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/helper/create_google_cache_db.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/53e0d0cceb1682f14c3c826dc2c7ba4c041aa7e9","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/helper/create_google_cache_db.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/helper/create_google_cache_db.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/53e0d0cceb1682f14c3c826dc2c7ba4c041aa7e9","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/helper/create_google_cache_db.py"}},{"name":"create_google_lists.py","path":"fuji_server/helper/create_google_lists.py","sha":"9f3d48a1c4e48ade902e6b8868af1a7ee99cbe2a","size":860,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/helper/create_google_lists.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/helper/create_google_lists.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/9f3d48a1c4e48ade902e6b8868af1a7ee99cbe2a","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/helper/create_google_lists.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/helper/create_google_lists.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/9f3d48a1c4e48ade902e6b8868af1a7ee99cbe2a","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/helper/create_google_lists.py"}},{"name":"datacontent_helper.py","path":"fuji_server/helper/datacontent_helper.py","sha":"329b58cef463289a6ca1e0e32772c5d0d11aa92e","size":98,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/helper/datacontent_helper.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/helper/datacontent_helper.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/329b58cef463289a6ca1e0e32772c5d0d11aa92e","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/helper/datacontent_helper.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/helper/datacontent_helper.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/329b58cef463289a6ca1e0e32772c5d0d11aa92e","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/helper/datacontent_helper.py"}},{"name":"identifier_helper.py","path":"fuji_server/helper/identifier_helper.py","sha":"483ed01481a641e73a5c86bc9c8478d0bc32faa9","size":13886,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/helper/identifier_helper.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/helper/identifier_helper.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/483ed01481a641e73a5c86bc9c8478d0bc32faa9","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/helper/identifier_helper.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/helper/identifier_helper.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/483ed01481a641e73a5c86bc9c8478d0bc32faa9","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/helper/identifier_helper.py"}},{"name":"linked_vocab_helper.py","path":"fuji_server/helper/linked_vocab_helper.py","sha":"58d38081d54727d595520c5c48d189cd575ba353","size":8166,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/helper/linked_vocab_helper.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/helper/linked_vocab_helper.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/58d38081d54727d595520c5c48d189cd575ba353","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/helper/linked_vocab_helper.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/helper/linked_vocab_helper.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/58d38081d54727d595520c5c48d189cd575ba353","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/helper/linked_vocab_helper.py"}},{"name":"log_message_filter.py","path":"fuji_server/helper/log_message_filter.py","sha":"2ad771f7e125541dc6e425f6a01e90f5af696f58","size":850,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/helper/log_message_filter.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/helper/log_message_filter.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/2ad771f7e125541dc6e425f6a01e90f5af696f58","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/helper/log_message_filter.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/helper/log_message_filter.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/2ad771f7e125541dc6e425f6a01e90f5af696f58","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/helper/log_message_filter.py"}},{"name":"metadata_collector.py","path":"fuji_server/helper/metadata_collector.py","sha":"36fe08d7518e2a1420c385aa4a803d6e294998c3","size":10326,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/helper/metadata_collector.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/helper/metadata_collector.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/36fe08d7518e2a1420c385aa4a803d6e294998c3","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/helper/metadata_collector.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/helper/metadata_collector.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/36fe08d7518e2a1420c385aa4a803d6e294998c3","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/helper/metadata_collector.py"}},{"name":"metadata_collector_datacite.py","path":"fuji_server/helper/metadata_collector_datacite.py","sha":"78b592062e4749c6eaa69eafb7f624a202f72cfd","size":4943,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/helper/metadata_collector_datacite.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/helper/metadata_collector_datacite.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/78b592062e4749c6eaa69eafb7f624a202f72cfd","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/helper/metadata_collector_datacite.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/helper/metadata_collector_datacite.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/78b592062e4749c6eaa69eafb7f624a202f72cfd","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/helper/metadata_collector_datacite.py"}},{"name":"metadata_collector_dublincore.py","path":"fuji_server/helper/metadata_collector_dublincore.py","sha":"0235839e4c76bef54a8343263fbce82dcd59b58a","size":9255,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/helper/metadata_collector_dublincore.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/helper/metadata_collector_dublincore.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/0235839e4c76bef54a8343263fbce82dcd59b58a","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/helper/metadata_collector_dublincore.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/helper/metadata_collector_dublincore.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/0235839e4c76bef54a8343263fbce82dcd59b58a","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/helper/metadata_collector_dublincore.py"}},{"name":"metadata_collector_highwire_eprints.py","path":"fuji_server/helper/metadata_collector_highwire_eprints.py","sha":"ff7eb7d5939e335df0ca3eb33dc6c80f8a6e6bd1","size":3803,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/helper/metadata_collector_highwire_eprints.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/helper/metadata_collector_highwire_eprints.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/ff7eb7d5939e335df0ca3eb33dc6c80f8a6e6bd1","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/helper/metadata_collector_highwire_eprints.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/helper/metadata_collector_highwire_eprints.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/ff7eb7d5939e335df0ca3eb33dc6c80f8a6e6bd1","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/helper/metadata_collector_highwire_eprints.py"}},{"name":"metadata_collector_microdata.py","path":"fuji_server/helper/metadata_collector_microdata.py","sha":"aece9390fc8c684cf277dd6a78f020d911c75246","size":3309,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/helper/metadata_collector_microdata.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/helper/metadata_collector_microdata.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/aece9390fc8c684cf277dd6a78f020d911c75246","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/helper/metadata_collector_microdata.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/helper/metadata_collector_microdata.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/aece9390fc8c684cf277dd6a78f020d911c75246","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/helper/metadata_collector_microdata.py"}},{"name":"metadata_collector_opengraph.py","path":"fuji_server/helper/metadata_collector_opengraph.py","sha":"b436295de7191766aa27f0a48628c4fc9d2796e1","size":2379,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/helper/metadata_collector_opengraph.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/helper/metadata_collector_opengraph.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/b436295de7191766aa27f0a48628c4fc9d2796e1","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/helper/metadata_collector_opengraph.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/helper/metadata_collector_opengraph.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/b436295de7191766aa27f0a48628c4fc9d2796e1","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/helper/metadata_collector_opengraph.py"}},{"name":"metadata_collector_ore_atom.py","path":"fuji_server/helper/metadata_collector_ore_atom.py","sha":"1f787083ecd039fec075dcf8b2219ff2fd2d0083","size":3913,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/helper/metadata_collector_ore_atom.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/helper/metadata_collector_ore_atom.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/1f787083ecd039fec075dcf8b2219ff2fd2d0083","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/helper/metadata_collector_ore_atom.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/helper/metadata_collector_ore_atom.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/1f787083ecd039fec075dcf8b2219ff2fd2d0083","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/helper/metadata_collector_ore_atom.py"}},{"name":"metadata_collector_rdf.py","path":"fuji_server/helper/metadata_collector_rdf.py","sha":"71bb6ed32a2aa04340b3fa485a92ce0328fa2f5e","size":54270,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/helper/metadata_collector_rdf.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/helper/metadata_collector_rdf.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/71bb6ed32a2aa04340b3fa485a92ce0328fa2f5e","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/helper/metadata_collector_rdf.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/helper/metadata_collector_rdf.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/71bb6ed32a2aa04340b3fa485a92ce0328fa2f5e","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/helper/metadata_collector_rdf.py"}},{"name":"metadata_collector_xml.py","path":"fuji_server/helper/metadata_collector_xml.py","sha":"adbb42d8d6ee9675c370c20aebcb529b7ff66a3b","size":20004,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/helper/metadata_collector_xml.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/helper/metadata_collector_xml.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/adbb42d8d6ee9675c370c20aebcb529b7ff66a3b","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/helper/metadata_collector_xml.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/helper/metadata_collector_xml.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/adbb42d8d6ee9675c370c20aebcb529b7ff66a3b","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/helper/metadata_collector_xml.py"}},{"name":"metadata_mapper.py","path":"fuji_server/helper/metadata_mapper.py","sha":"09ee092c63260fdd62703dc6409bfd513dddc822","size":35412,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/helper/metadata_mapper.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/helper/metadata_mapper.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/09ee092c63260fdd62703dc6409bfd513dddc822","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/helper/metadata_mapper.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/helper/metadata_mapper.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/09ee092c63260fdd62703dc6409bfd513dddc822","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/helper/metadata_mapper.py"}},{"name":"metadata_provider.py","path":"fuji_server/helper/metadata_provider.py","sha":"bb37435b924ebd0bbaeb0f5349f4766a2b92e2b6","size":2511,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/helper/metadata_provider.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/helper/metadata_provider.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/bb37435b924ebd0bbaeb0f5349f4766a2b92e2b6","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/helper/metadata_provider.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/helper/metadata_provider.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/bb37435b924ebd0bbaeb0f5349f4766a2b92e2b6","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/helper/metadata_provider.py"}},{"name":"metadata_provider_csw.py","path":"fuji_server/helper/metadata_provider_csw.py","sha":"2488e100ec2779accefb17fe0259a195b78d157b","size":2662,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/helper/metadata_provider_csw.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/helper/metadata_provider_csw.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/2488e100ec2779accefb17fe0259a195b78d157b","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/helper/metadata_provider_csw.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/helper/metadata_provider_csw.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/2488e100ec2779accefb17fe0259a195b78d157b","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/helper/metadata_provider_csw.py"}},{"name":"metadata_provider_oai.py","path":"fuji_server/helper/metadata_provider_oai.py","sha":"e1528b54d33f1cf477391bbfffcb0a99d849cc47","size":4031,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/helper/metadata_provider_oai.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/helper/metadata_provider_oai.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/e1528b54d33f1cf477391bbfffcb0a99d849cc47","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/helper/metadata_provider_oai.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/helper/metadata_provider_oai.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/e1528b54d33f1cf477391bbfffcb0a99d849cc47","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/helper/metadata_provider_oai.py"}},{"name":"metadata_provider_rss_atom.py","path":"fuji_server/helper/metadata_provider_rss_atom.py","sha":"453616d187c6f3626b3707696bab6091315fa319","size":2650,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/helper/metadata_provider_rss_atom.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/helper/metadata_provider_rss_atom.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/453616d187c6f3626b3707696bab6091315fa319","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/helper/metadata_provider_rss_atom.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/helper/metadata_provider_rss_atom.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/453616d187c6f3626b3707696bab6091315fa319","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/helper/metadata_provider_rss_atom.py"}},{"name":"metadata_provider_sparql.py","path":"fuji_server/helper/metadata_provider_sparql.py","sha":"dc2dde370223a2902b2c4d5bd866efde745df4d8","size":3552,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/helper/metadata_provider_sparql.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/helper/metadata_provider_sparql.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/dc2dde370223a2902b2c4d5bd866efde745df4d8","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/helper/metadata_provider_sparql.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/helper/metadata_provider_sparql.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/dc2dde370223a2902b2c4d5bd866efde745df4d8","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/helper/metadata_provider_sparql.py"}},{"name":"metric_helper.py","path":"fuji_server/helper/metric_helper.py","sha":"ff95e430c4037cf40643ebea75f033b7ca6de44a","size":5575,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/helper/metric_helper.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/helper/metric_helper.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/ff95e430c4037cf40643ebea75f033b7ca6de44a","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/helper/metric_helper.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/helper/metric_helper.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/ff95e430c4037cf40643ebea75f033b7ca6de44a","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/helper/metric_helper.py"}},{"name":"preprocessor.py","path":"fuji_server/helper/preprocessor.py","sha":"aafc955e120440211f81be58777cbd820c8b2508","size":26119,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/helper/preprocessor.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/helper/preprocessor.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/aafc955e120440211f81be58777cbd820c8b2508","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/helper/preprocessor.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/helper/preprocessor.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/aafc955e120440211f81be58777cbd820c8b2508","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/helper/preprocessor.py"}},{"name":"repository_helper.py","path":"fuji_server/helper/repository_helper.py","sha":"b87d1dce3620f457e8f967d47745a59ac5f2b9ce","size":5348,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/helper/repository_helper.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/helper/repository_helper.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/b87d1dce3620f457e8f967d47745a59ac5f2b9ce","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/helper/repository_helper.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/helper/repository_helper.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/b87d1dce3620f457e8f967d47745a59ac5f2b9ce","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/helper/repository_helper.py"}},{"name":"request_helper.py","path":"fuji_server/helper/request_helper.py","sha":"eeff2dbc06bbb7ee9b9c12608bbc5aa617b3978e","size":28627,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/helper/request_helper.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/helper/request_helper.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/eeff2dbc06bbb7ee9b9c12608bbc5aa617b3978e","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/helper/request_helper.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/helper/request_helper.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/eeff2dbc06bbb7ee9b9c12608bbc5aa617b3978e","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/helper/request_helper.py"}}]' + headers: + Access-Control-Allow-Origin: + - '*' + Access-Control-Expose-Headers: + - ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset + Cache-Control: + - private, max-age=60, s-maxage=60 + Content-Encoding: + - gzip + Content-Security-Policy: + - default-src 'none' + Content-Type: + - application/json; charset=utf-8 + Date: + - Fri, 03 May 2024 13:42:16 GMT + ETag: + - W/"ebba17509a44e60e09b57a6d211021b3ca0688d2" + Last-Modified: + - Fri, 03 May 2024 07:27:29 GMT + Referrer-Policy: + - origin-when-cross-origin, strict-origin-when-cross-origin + Server: + - GitHub.com + Strict-Transport-Security: + - max-age=31536000; includeSubdomains; preload + Transfer-Encoding: + - chunked + Vary: + - Accept, Authorization, Cookie, X-GitHub-OTP + - Accept-Encoding, Accept, X-Requested-With + X-Accepted-OAuth-Scopes: + - '' + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + X-GitHub-Media-Type: + - github.v3; format=json + X-GitHub-Request-Id: + - C673:201B1D:36C846E:38370B5:6634E9B8 + X-OAuth-Scopes: + - repo + X-RateLimit-Limit: + - '5000' + X-RateLimit-Remaining: + - '4739' + X-RateLimit-Reset: + - '1714744789' + X-RateLimit-Resource: + - core + X-RateLimit-Used: + - '261' + X-XSS-Protection: + - '0' + github-authentication-token-expiration: + - 2024-07-08 07:44:52 UTC + x-github-api-version-selected: + - '2022-11-28' + status: + code: 200 + message: OK +- request: + body: + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Authorization: + - token ghp_MASKED + Connection: + - keep-alive + User-Agent: + - PyGithub/Python + method: GET + uri: https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models + response: + body: + string: '[{"name":"__init__.py","path":"fuji_server/models/__init__.py","sha":"329b58cef463289a6ca1e0e32772c5d0d11aa92e","size":98,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/__init__.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/__init__.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/329b58cef463289a6ca1e0e32772c5d0d11aa92e","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/models/__init__.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/__init__.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/329b58cef463289a6ca1e0e32772c5d0d11aa92e","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/__init__.py"}},{"name":"any_of_fair_results_results_items.py","path":"fuji_server/models/any_of_fair_results_results_items.py","sha":"f10c98621dd3758befb0ce97c864abdaa395bd6b","size":957,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/any_of_fair_results_results_items.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/any_of_fair_results_results_items.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/f10c98621dd3758befb0ce97c864abdaa395bd6b","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/models/any_of_fair_results_results_items.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/any_of_fair_results_results_items.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/f10c98621dd3758befb0ce97c864abdaa395bd6b","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/any_of_fair_results_results_items.py"}},{"name":"base_model_.py","path":"fuji_server/models/base_model_.py","sha":"ecffcc28320806290f92d5b13b42cd351ad4ffeb","size":1920,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/base_model_.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/base_model_.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/ecffcc28320806290f92d5b13b42cd351ad4ffeb","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/models/base_model_.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/base_model_.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/ecffcc28320806290f92d5b13b42cd351ad4ffeb","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/base_model_.py"}},{"name":"body.py","path":"fuji_server/models/body.py","sha":"96582174c750b7648d0e8170d486a4c9d75d39aa","size":10695,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/body.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/body.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/96582174c750b7648d0e8170d486a4c9d75d39aa","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/models/body.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/body.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/96582174c750b7648d0e8170d486a4c9d75d39aa","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/body.py"}},{"name":"community_endorsed_standard.py","path":"fuji_server/models/community_endorsed_standard.py","sha":"20149ff4815586fa901e9168c1cae3df80b2cab8","size":9705,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/community_endorsed_standard.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/community_endorsed_standard.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/20149ff4815586fa901e9168c1cae3df80b2cab8","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/models/community_endorsed_standard.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/community_endorsed_standard.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/20149ff4815586fa901e9168c1cae3df80b2cab8","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/community_endorsed_standard.py"}},{"name":"community_endorsed_standard_output.py","path":"fuji_server/models/community_endorsed_standard_output.py","sha":"d62f04247f35ab497dd2603d784cf4cd081ddb97","size":1108,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/community_endorsed_standard_output.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/community_endorsed_standard_output.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/d62f04247f35ab497dd2603d784cf4cd081ddb97","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/models/community_endorsed_standard_output.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/community_endorsed_standard_output.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/d62f04247f35ab497dd2603d784cf4cd081ddb97","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/community_endorsed_standard_output.py"}},{"name":"community_endorsed_standard_output_inner.py","path":"fuji_server/models/community_endorsed_standard_output_inner.py","sha":"4ca8167b5c2d9e52f91921b00528e13c770fa991","size":5258,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/community_endorsed_standard_output_inner.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/community_endorsed_standard_output_inner.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/4ca8167b5c2d9e52f91921b00528e13c770fa991","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/models/community_endorsed_standard_output_inner.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/community_endorsed_standard_output_inner.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/4ca8167b5c2d9e52f91921b00528e13c770fa991","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/community_endorsed_standard_output_inner.py"}},{"name":"core_metadata.py","path":"fuji_server/models/core_metadata.py","sha":"404abbbb039cf11f1be047a43036f3feb44a6276","size":8924,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/core_metadata.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/core_metadata.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/404abbbb039cf11f1be047a43036f3feb44a6276","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/models/core_metadata.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/core_metadata.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/404abbbb039cf11f1be047a43036f3feb44a6276","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/core_metadata.py"}},{"name":"core_metadata_output.py","path":"fuji_server/models/core_metadata_output.py","sha":"41ca50478ef774b4c7c7d259782f0f1509435328","size":4461,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/core_metadata_output.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/core_metadata_output.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/41ca50478ef774b4c7c7d259782f0f1509435328","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/models/core_metadata_output.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/core_metadata_output.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/41ca50478ef774b4c7c7d259782f0f1509435328","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/core_metadata_output.py"}},{"name":"data_access_level.py","path":"fuji_server/models/data_access_level.py","sha":"92ceaffefaa286a120728d3dd4b3bcdaa4a95387","size":9059,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/data_access_level.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/data_access_level.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/92ceaffefaa286a120728d3dd4b3bcdaa4a95387","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/models/data_access_level.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/data_access_level.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/92ceaffefaa286a120728d3dd4b3bcdaa4a95387","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/data_access_level.py"}},{"name":"data_access_output.py","path":"fuji_server/models/data_access_output.py","sha":"30280453960242dccf82b7abbc0d8eb41eecb1e4","size":2754,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/data_access_output.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/data_access_output.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/30280453960242dccf82b7abbc0d8eb41eecb1e4","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/models/data_access_output.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/data_access_output.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/30280453960242dccf82b7abbc0d8eb41eecb1e4","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/data_access_output.py"}},{"name":"data_content_metadata.py","path":"fuji_server/models/data_content_metadata.py","sha":"e7ba6de94a26537a61f47cad4da776057f769881","size":9345,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/data_content_metadata.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/data_content_metadata.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/e7ba6de94a26537a61f47cad4da776057f769881","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/models/data_content_metadata.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/data_content_metadata.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/e7ba6de94a26537a61f47cad4da776057f769881","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/data_content_metadata.py"}},{"name":"data_content_metadata_output.py","path":"fuji_server/models/data_content_metadata_output.py","sha":"fbd2d0b80455ff6c77d870339df638356b60deb3","size":3167,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/data_content_metadata_output.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/data_content_metadata_output.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/fbd2d0b80455ff6c77d870339df638356b60deb3","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/models/data_content_metadata_output.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/data_content_metadata_output.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/fbd2d0b80455ff6c77d870339df638356b60deb3","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/data_content_metadata_output.py"}},{"name":"data_content_metadata_output_inner.py","path":"fuji_server/models/data_content_metadata_output_inner.py","sha":"cb4f972bd54515f2eae65ef646d019c8fb6f6ca2","size":3687,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/data_content_metadata_output_inner.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/data_content_metadata_output_inner.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/cb4f972bd54515f2eae65ef646d019c8fb6f6ca2","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/models/data_content_metadata_output_inner.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/data_content_metadata_output_inner.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/cb4f972bd54515f2eae65ef646d019c8fb6f6ca2","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/data_content_metadata_output_inner.py"}},{"name":"data_file_format.py","path":"fuji_server/models/data_file_format.py","sha":"ef565d567b4d883a598acc1de572a5a9aae3ed4b","size":9045,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/data_file_format.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/data_file_format.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/ef565d567b4d883a598acc1de572a5a9aae3ed4b","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/models/data_file_format.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/data_file_format.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/ef565d567b4d883a598acc1de572a5a9aae3ed4b","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/data_file_format.py"}},{"name":"data_file_format_output.py","path":"fuji_server/models/data_file_format_output.py","sha":"c2e42b6e1eacd659c30b9aa41a3c16a8343d10ef","size":1011,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/data_file_format_output.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/data_file_format_output.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/c2e42b6e1eacd659c30b9aa41a3c16a8343d10ef","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/models/data_file_format_output.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/data_file_format_output.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/c2e42b6e1eacd659c30b9aa41a3c16a8343d10ef","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/data_file_format_output.py"}},{"name":"data_file_format_output_inner.py","path":"fuji_server/models/data_file_format_output_inner.py","sha":"59adaa3a5f25caa47578fb042f4947c7e61f5624","size":5466,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/data_file_format_output_inner.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/data_file_format_output_inner.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/59adaa3a5f25caa47578fb042f4947c7e61f5624","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/models/data_file_format_output_inner.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/data_file_format_output_inner.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/59adaa3a5f25caa47578fb042f4947c7e61f5624","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/data_file_format_output_inner.py"}},{"name":"data_provenance.py","path":"fuji_server/models/data_provenance.py","sha":"25040c54452f8e09198ad5df5002dfb9ab373919","size":9044,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/data_provenance.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/data_provenance.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/25040c54452f8e09198ad5df5002dfb9ab373919","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/models/data_provenance.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/data_provenance.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/25040c54452f8e09198ad5df5002dfb9ab373919","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/data_provenance.py"}},{"name":"data_provenance_output.py","path":"fuji_server/models/data_provenance_output.py","sha":"9fc62858ef609a830bee04f45ac2a9e1e5136c49","size":3759,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/data_provenance_output.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/data_provenance_output.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/9fc62858ef609a830bee04f45ac2a9e1e5136c49","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/models/data_provenance_output.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/data_provenance_output.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/9fc62858ef609a830bee04f45ac2a9e1e5136c49","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/data_provenance_output.py"}},{"name":"data_provenance_output_inner.py","path":"fuji_server/models/data_provenance_output_inner.py","sha":"cc20ce957e4c16b17cb188edaf4811e824ca4204","size":2862,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/data_provenance_output_inner.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/data_provenance_output_inner.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/cc20ce957e4c16b17cb188edaf4811e824ca4204","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/models/data_provenance_output_inner.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/data_provenance_output_inner.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/cc20ce957e4c16b17cb188edaf4811e824ca4204","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/data_provenance_output_inner.py"}},{"name":"debug.py","path":"fuji_server/models/debug.py","sha":"8e9007c7483dd1bf97b8aa0d40336393a4ec13ea","size":819,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/debug.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/debug.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/8e9007c7483dd1bf97b8aa0d40336393a4ec13ea","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/models/debug.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/debug.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/8e9007c7483dd1bf97b8aa0d40336393a4ec13ea","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/debug.py"}},{"name":"fair_result_common.py","path":"fuji_server/models/fair_result_common.py","sha":"3ae127233e399515100822ebb3dcd2c22c343ebb","size":7388,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/fair_result_common.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/fair_result_common.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/3ae127233e399515100822ebb3dcd2c22c343ebb","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/models/fair_result_common.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/fair_result_common.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/3ae127233e399515100822ebb3dcd2c22c343ebb","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/fair_result_common.py"}},{"name":"fair_result_common_score.py","path":"fuji_server/models/fair_result_common_score.py","sha":"3e145d291eb94407d5c124d9c60e731fee6739cb","size":2246,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/fair_result_common_score.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/fair_result_common_score.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/3e145d291eb94407d5c124d9c60e731fee6739cb","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/models/fair_result_common_score.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/fair_result_common_score.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/3e145d291eb94407d5c124d9c60e731fee6739cb","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/fair_result_common_score.py"}},{"name":"fair_result_evaluation_criterium.py","path":"fuji_server/models/fair_result_evaluation_criterium.py","sha":"a1e9228eb21fdcd3a29735653a4ffd5295cb6c2e","size":6635,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/fair_result_evaluation_criterium.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/fair_result_evaluation_criterium.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/a1e9228eb21fdcd3a29735653a4ffd5295cb6c2e","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/models/fair_result_evaluation_criterium.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/fair_result_evaluation_criterium.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/a1e9228eb21fdcd3a29735653a4ffd5295cb6c2e","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/fair_result_evaluation_criterium.py"}},{"name":"fair_result_evaluation_criterium_requirements.py","path":"fuji_server/models/fair_result_evaluation_criterium_requirements.py","sha":"fd03e8819eb6e3eb0319f21eaaa223a5be07afa9","size":5162,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/fair_result_evaluation_criterium_requirements.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/fair_result_evaluation_criterium_requirements.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/fd03e8819eb6e3eb0319f21eaaa223a5be07afa9","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/models/fair_result_evaluation_criterium_requirements.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/fair_result_evaluation_criterium_requirements.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/fd03e8819eb6e3eb0319f21eaaa223a5be07afa9","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/fair_result_evaluation_criterium_requirements.py"}},{"name":"fair_results.py","path":"fuji_server/models/fair_results.py","sha":"a774447303c08e232e18e88d835c50eab2d7c949","size":10790,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/fair_results.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/fair_results.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/a774447303c08e232e18e88d835c50eab2d7c949","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/models/fair_results.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/fair_results.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/a774447303c08e232e18e88d835c50eab2d7c949","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/fair_results.py"}},{"name":"formal_metadata.py","path":"fuji_server/models/formal_metadata.py","sha":"f4cb128f27da7fdd6107bf3ce6b7ac0dbfafde98","size":9044,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/formal_metadata.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/formal_metadata.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/f4cb128f27da7fdd6107bf3ce6b7ac0dbfafde98","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/models/formal_metadata.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/formal_metadata.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/f4cb128f27da7fdd6107bf3ce6b7ac0dbfafde98","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/formal_metadata.py"}},{"name":"formal_metadata_output.py","path":"fuji_server/models/formal_metadata_output.py","sha":"e23d68373de0fe7caf425963b5445f2bf1e4e241","size":1010,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/formal_metadata_output.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/formal_metadata_output.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/e23d68373de0fe7caf425963b5445f2bf1e4e241","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/models/formal_metadata_output.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/formal_metadata_output.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/e23d68373de0fe7caf425963b5445f2bf1e4e241","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/formal_metadata_output.py"}},{"name":"formal_metadata_output_inner.py","path":"fuji_server/models/formal_metadata_output_inner.py","sha":"b44f5a109584e471191e11211fbbd854cbd8de9d","size":3870,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/formal_metadata_output_inner.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/formal_metadata_output_inner.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/b44f5a109584e471191e11211fbbd854cbd8de9d","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/models/formal_metadata_output_inner.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/formal_metadata_output_inner.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/b44f5a109584e471191e11211fbbd854cbd8de9d","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/formal_metadata_output_inner.py"}},{"name":"harvest.py","path":"fuji_server/models/harvest.py","sha":"afc03a2f4c2a7b5f69b642dbe6e9efbb87e0ca18","size":4142,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/harvest.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/harvest.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/afc03a2f4c2a7b5f69b642dbe6e9efbb87e0ca18","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/models/harvest.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/harvest.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/afc03a2f4c2a7b5f69b642dbe6e9efbb87e0ca18","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/harvest.py"}},{"name":"harvest_results.py","path":"fuji_server/models/harvest_results.py","sha":"02e5742d729df339c8d8943ee5c832019b538316","size":2533,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/harvest_results.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/harvest_results.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/02e5742d729df339c8d8943ee5c832019b538316","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/models/harvest_results.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/harvest_results.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/02e5742d729df339c8d8943ee5c832019b538316","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/harvest_results.py"}},{"name":"harvest_results_metadata.py","path":"fuji_server/models/harvest_results_metadata.py","sha":"e8fa7736e79eab1aa293e88ef2f4d5f3eef4d315","size":5316,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/harvest_results_metadata.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/harvest_results_metadata.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/e8fa7736e79eab1aa293e88ef2f4d5f3eef4d315","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/models/harvest_results_metadata.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/harvest_results_metadata.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/e8fa7736e79eab1aa293e88ef2f4d5f3eef4d315","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/harvest_results_metadata.py"}},{"name":"identifier_included.py","path":"fuji_server/models/identifier_included.py","sha":"04810b52f75035709213d48cff084a08bf9699a2","size":9284,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/identifier_included.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/identifier_included.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/04810b52f75035709213d48cff084a08bf9699a2","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/models/identifier_included.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/identifier_included.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/04810b52f75035709213d48cff084a08bf9699a2","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/identifier_included.py"}},{"name":"identifier_included_output.py","path":"fuji_server/models/identifier_included_output.py","sha":"d4838356f4b175147a1dc4af47260727e5da0ec1","size":3797,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/identifier_included_output.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/identifier_included_output.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/d4838356f4b175147a1dc4af47260727e5da0ec1","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/models/identifier_included_output.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/identifier_included_output.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/d4838356f4b175147a1dc4af47260727e5da0ec1","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/identifier_included_output.py"}},{"name":"identifier_included_output_inner.py","path":"fuji_server/models/identifier_included_output_inner.py","sha":"367a2768b54e27baf09f351c31b5abf19d8aea84","size":2142,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/identifier_included_output_inner.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/identifier_included_output_inner.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/367a2768b54e27baf09f351c31b5abf19d8aea84","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/models/identifier_included_output_inner.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/identifier_included_output_inner.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/367a2768b54e27baf09f351c31b5abf19d8aea84","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/identifier_included_output_inner.py"}},{"name":"license.py","path":"fuji_server/models/license.py","sha":"66b839e774646a0cdc378c0fdce3df5de3b15d45","size":8623,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/license.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/license.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/66b839e774646a0cdc378c0fdce3df5de3b15d45","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/models/license.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/license.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/66b839e774646a0cdc378c0fdce3df5de3b15d45","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/license.py"}},{"name":"license_output.py","path":"fuji_server/models/license_output.py","sha":"cfb94589b2555e82e27b6cb119eedeb63bd5e84a","size":953,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/license_output.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/license_output.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/cfb94589b2555e82e27b6cb119eedeb63bd5e84a","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/models/license_output.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/license_output.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/cfb94589b2555e82e27b6cb119eedeb63bd5e84a","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/license_output.py"}},{"name":"license_output_inner.py","path":"fuji_server/models/license_output_inner.py","sha":"81e6bd3d7936c25fd566fe4b75e91bda5210c520","size":3132,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/license_output_inner.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/license_output_inner.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/81e6bd3d7936c25fd566fe4b75e91bda5210c520","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/models/license_output_inner.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/license_output_inner.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/81e6bd3d7936c25fd566fe4b75e91bda5210c520","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/license_output_inner.py"}},{"name":"metadata_preserved.py","path":"fuji_server/models/metadata_preserved.py","sha":"f47ef95c00ab2b0a17ec94376e5cab1b339edbb6","size":9224,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/metadata_preserved.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/metadata_preserved.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/f47ef95c00ab2b0a17ec94376e5cab1b339edbb6","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/models/metadata_preserved.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/metadata_preserved.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/f47ef95c00ab2b0a17ec94376e5cab1b339edbb6","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/metadata_preserved.py"}},{"name":"metadata_preserved_output.py","path":"fuji_server/models/metadata_preserved_output.py","sha":"64e1b25e3f5b5215b8efc77ef3e47d8611ba583e","size":2594,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/metadata_preserved_output.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/metadata_preserved_output.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/64e1b25e3f5b5215b8efc77ef3e47d8611ba583e","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/models/metadata_preserved_output.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/metadata_preserved_output.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/64e1b25e3f5b5215b8efc77ef3e47d8611ba583e","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/metadata_preserved_output.py"}},{"name":"metric.py","path":"fuji_server/models/metric.py","sha":"5739663f7df8f150ada7f7094fe3010cf4e41069","size":8586,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/metric.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/metric.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/5739663f7df8f150ada7f7094fe3010cf4e41069","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/models/metric.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/metric.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/5739663f7df8f150ada7f7094fe3010cf4e41069","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/metric.py"}},{"name":"metrics.py","path":"fuji_server/models/metrics.py","sha":"d0628c05d565b3b860bd09393295f15d3f569f7f","size":2143,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/metrics.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/metrics.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/d0628c05d565b3b860bd09393295f15d3f569f7f","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/models/metrics.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/metrics.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/d0628c05d565b3b860bd09393295f15d3f569f7f","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/metrics.py"}},{"name":"output_core_metadata_found.py","path":"fuji_server/models/output_core_metadata_found.py","sha":"9c895c642c92b7386070c8b0ec888e80238e3cb4","size":930,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/output_core_metadata_found.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/output_core_metadata_found.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/9c895c642c92b7386070c8b0ec888e80238e3cb4","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/models/output_core_metadata_found.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/output_core_metadata_found.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/9c895c642c92b7386070c8b0ec888e80238e3cb4","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/output_core_metadata_found.py"}},{"name":"output_search_mechanisms.py","path":"fuji_server/models/output_search_mechanisms.py","sha":"225ce83822dbf4a47eeb304fd6096e34e03d0a56","size":2781,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/output_search_mechanisms.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/output_search_mechanisms.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/225ce83822dbf4a47eeb304fd6096e34e03d0a56","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/models/output_search_mechanisms.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/output_search_mechanisms.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/225ce83822dbf4a47eeb304fd6096e34e03d0a56","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/output_search_mechanisms.py"}},{"name":"persistence.py","path":"fuji_server/models/persistence.py","sha":"a3061d20bf5fd5dd5145b0bf1295479eecbaa8a7","size":8863,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/persistence.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/persistence.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/a3061d20bf5fd5dd5145b0bf1295479eecbaa8a7","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/models/persistence.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/persistence.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/a3061d20bf5fd5dd5145b0bf1295479eecbaa8a7","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/persistence.py"}},{"name":"persistence_output.py","path":"fuji_server/models/persistence_output.py","sha":"2f9ca03091ea01ea70663998bb51fe2d8f71ccf4","size":2153,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/persistence_output.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/persistence_output.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/2f9ca03091ea01ea70663998bb51fe2d8f71ccf4","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/models/persistence_output.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/persistence_output.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/2f9ca03091ea01ea70663998bb51fe2d8f71ccf4","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/persistence_output.py"}},{"name":"persistence_output_inner.py","path":"fuji_server/models/persistence_output_inner.py","sha":"ee0503cb7098fe6666bdd9572169380f125a09cd","size":4128,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/persistence_output_inner.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/persistence_output_inner.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/ee0503cb7098fe6666bdd9572169380f125a09cd","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/models/persistence_output_inner.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/persistence_output_inner.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/ee0503cb7098fe6666bdd9572169380f125a09cd","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/persistence_output_inner.py"}},{"name":"related_resource.py","path":"fuji_server/models/related_resource.py","sha":"ef32315d57ecf98437bb4020dbd302928b4aa255","size":9104,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/related_resource.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/related_resource.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/ef32315d57ecf98437bb4020dbd302928b4aa255","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/models/related_resource.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/related_resource.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/ef32315d57ecf98437bb4020dbd302928b4aa255","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/related_resource.py"}},{"name":"related_resource_output.py","path":"fuji_server/models/related_resource_output.py","sha":"004c7fc9dc50a6caea4e62cc68a90ea74691e8c4","size":1018,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/related_resource_output.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/related_resource_output.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/004c7fc9dc50a6caea4e62cc68a90ea74691e8c4","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/models/related_resource_output.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/related_resource_output.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/004c7fc9dc50a6caea4e62cc68a90ea74691e8c4","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/related_resource_output.py"}},{"name":"related_resource_output_inner.py","path":"fuji_server/models/related_resource_output_inner.py","sha":"c9e4ed7654ce685fe946f4cf9c59386123264230","size":2715,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/related_resource_output_inner.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/related_resource_output_inner.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/c9e4ed7654ce685fe946f4cf9c59386123264230","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/models/related_resource_output_inner.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/related_resource_output_inner.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/c9e4ed7654ce685fe946f4cf9c59386123264230","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/related_resource_output_inner.py"}},{"name":"searchable.py","path":"fuji_server/models/searchable.py","sha":"8beb479ff9233a806a27242797a8b8c1e5f17f0a","size":8803,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/searchable.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/searchable.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/8beb479ff9233a806a27242797a8b8c1e5f17f0a","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/models/searchable.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/searchable.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/8beb479ff9233a806a27242797a8b8c1e5f17f0a","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/searchable.py"}},{"name":"searchable_output.py","path":"fuji_server/models/searchable_output.py","sha":"c7162cc882b4417e3eea2b658a25e2e49add2657","size":2032,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/searchable_output.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/searchable_output.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/c7162cc882b4417e3eea2b658a25e2e49add2657","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/models/searchable_output.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/searchable_output.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/c7162cc882b4417e3eea2b658a25e2e49add2657","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/searchable_output.py"}},{"name":"semantic_vocabulary.py","path":"fuji_server/models/semantic_vocabulary.py","sha":"a0c9f0044881281e870df842cef5c02c1004017d","size":9284,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/semantic_vocabulary.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/semantic_vocabulary.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/a0c9f0044881281e870df842cef5c02c1004017d","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/models/semantic_vocabulary.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/semantic_vocabulary.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/a0c9f0044881281e870df842cef5c02c1004017d","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/semantic_vocabulary.py"}},{"name":"semantic_vocabulary_output.py","path":"fuji_server/models/semantic_vocabulary_output.py","sha":"43101a36731c5542f8b88d0d131324581f0ca216","size":1042,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/semantic_vocabulary_output.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/semantic_vocabulary_output.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/43101a36731c5542f8b88d0d131324581f0ca216","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/models/semantic_vocabulary_output.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/semantic_vocabulary_output.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/43101a36731c5542f8b88d0d131324581f0ca216","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/semantic_vocabulary_output.py"}},{"name":"semantic_vocabulary_output_inner.py","path":"fuji_server/models/semantic_vocabulary_output_inner.py","sha":"d892aeb29ac080001573be28c5a23c72231210da","size":2742,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/semantic_vocabulary_output_inner.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/semantic_vocabulary_output_inner.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/d892aeb29ac080001573be28c5a23c72231210da","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/models/semantic_vocabulary_output_inner.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/semantic_vocabulary_output_inner.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/d892aeb29ac080001573be28c5a23c72231210da","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/semantic_vocabulary_output_inner.py"}},{"name":"standardised_protocol_data.py","path":"fuji_server/models/standardised_protocol_data.py","sha":"c3ef3aabd0904ebe8c3b41628c6b991f858cd664","size":9645,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/standardised_protocol_data.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/standardised_protocol_data.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/c3ef3aabd0904ebe8c3b41628c6b991f858cd664","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/models/standardised_protocol_data.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/standardised_protocol_data.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/c3ef3aabd0904ebe8c3b41628c6b991f858cd664","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/standardised_protocol_data.py"}},{"name":"standardised_protocol_data_output.py","path":"fuji_server/models/standardised_protocol_data_output.py","sha":"cc8f69e38d6eba8a9cd76bf17095584219e5bb4b","size":2042,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/standardised_protocol_data_output.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/standardised_protocol_data_output.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/cc8f69e38d6eba8a9cd76bf17095584219e5bb4b","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/models/standardised_protocol_data_output.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/standardised_protocol_data_output.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/cc8f69e38d6eba8a9cd76bf17095584219e5bb4b","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/standardised_protocol_data_output.py"}},{"name":"standardised_protocol_metadata.py","path":"fuji_server/models/standardised_protocol_metadata.py","sha":"968449fe6bf9868734114195902a070d746ab541","size":9885,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/standardised_protocol_metadata.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/standardised_protocol_metadata.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/968449fe6bf9868734114195902a070d746ab541","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/models/standardised_protocol_metadata.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/standardised_protocol_metadata.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/968449fe6bf9868734114195902a070d746ab541","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/standardised_protocol_metadata.py"}},{"name":"standardised_protocol_metadata_output.py","path":"fuji_server/models/standardised_protocol_metadata_output.py","sha":"bbd987427c7cf7e727af50789a096e21441cd4d0","size":2174,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/standardised_protocol_metadata_output.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/standardised_protocol_metadata_output.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/bbd987427c7cf7e727af50789a096e21441cd4d0","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/models/standardised_protocol_metadata_output.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/standardised_protocol_metadata_output.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/bbd987427c7cf7e727af50789a096e21441cd4d0","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/standardised_protocol_metadata_output.py"}},{"name":"uniqueness.py","path":"fuji_server/models/uniqueness.py","sha":"dcf93ac9749047c599da98fcc2f0cb97a7ee32b9","size":8803,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/uniqueness.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/uniqueness.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/dcf93ac9749047c599da98fcc2f0cb97a7ee32b9","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/models/uniqueness.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/uniqueness.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/dcf93ac9749047c599da98fcc2f0cb97a7ee32b9","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/uniqueness.py"}},{"name":"uniqueness_output.py","path":"fuji_server/models/uniqueness_output.py","sha":"994e00e9749c71aa2a5144e913199904fab0a50f","size":2246,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/uniqueness_output.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/uniqueness_output.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/994e00e9749c71aa2a5144e913199904fab0a50f","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/models/uniqueness_output.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/uniqueness_output.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/994e00e9749c71aa2a5144e913199904fab0a50f","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/uniqueness_output.py"}}]' + headers: + Access-Control-Allow-Origin: + - '*' + Access-Control-Expose-Headers: + - ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset + Cache-Control: + - private, max-age=60, s-maxage=60 + Content-Encoding: + - gzip + Content-Security-Policy: + - default-src 'none' + Content-Type: + - application/json; charset=utf-8 + Date: + - Fri, 03 May 2024 13:42:16 GMT + ETag: + - W/"ebba17509a44e60e09b57a6d211021b3ca0688d2" + Last-Modified: + - Fri, 03 May 2024 07:27:29 GMT + Referrer-Policy: + - origin-when-cross-origin, strict-origin-when-cross-origin + Server: + - GitHub.com + Strict-Transport-Security: + - max-age=31536000; includeSubdomains; preload + Transfer-Encoding: + - chunked + Vary: + - Accept, Authorization, Cookie, X-GitHub-OTP + - Accept-Encoding, Accept, X-Requested-With + X-Accepted-OAuth-Scopes: + - '' + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + X-GitHub-Media-Type: + - github.v3; format=json + X-GitHub-Request-Id: + - 2921:20215B:36F985B:38684A0:6634E9B8 + X-OAuth-Scopes: + - repo + X-RateLimit-Limit: + - '5000' + X-RateLimit-Remaining: + - '4738' + X-RateLimit-Reset: + - '1714744789' + X-RateLimit-Resource: + - core + X-RateLimit-Used: + - '262' + X-XSS-Protection: + - '0' + github-authentication-token-expiration: + - 2024-07-08 07:44:52 UTC + x-github-api-version-selected: + - '2022-11-28' + status: + code: 200 + message: OK +- request: + body: + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Authorization: + - token ghp_MASKED + Connection: + - keep-alive + User-Agent: + - PyGithub/Python + method: GET + uri: https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/static + response: + body: + string: '[{"name":"index.html","path":"fuji_server/static/index.html","sha":"b84c3566ed130f338c7c40ee7a685b5471675bde","size":130,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/static/index.html?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/static/index.html","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/b84c3566ed130f338c7c40ee7a685b5471675bde","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/static/index.html","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/static/index.html?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/b84c3566ed130f338c7c40ee7a685b5471675bde","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/static/index.html"}},{"name":"main.png","path":"fuji_server/static/main.png","sha":"4d7bc857054ed348a0255e8059af75d6b3e15548","size":65091,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/static/main.png?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/static/main.png","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/4d7bc857054ed348a0255e8059af75d6b3e15548","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/static/main.png","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/static/main.png?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/4d7bc857054ed348a0255e8059af75d6b3e15548","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/static/main.png"}}]' + headers: + Access-Control-Allow-Origin: + - '*' + Access-Control-Expose-Headers: + - ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset + Cache-Control: + - private, max-age=60, s-maxage=60 + Content-Encoding: + - gzip + Content-Security-Policy: + - default-src 'none' + Content-Type: + - application/json; charset=utf-8 + Date: + - Fri, 03 May 2024 13:42:17 GMT + ETag: + - W/"ebba17509a44e60e09b57a6d211021b3ca0688d2" + Last-Modified: + - Fri, 03 May 2024 07:27:29 GMT + Referrer-Policy: + - origin-when-cross-origin, strict-origin-when-cross-origin + Server: + - GitHub.com + Strict-Transport-Security: + - max-age=31536000; includeSubdomains; preload + Transfer-Encoding: + - chunked + Vary: + - Accept, Authorization, Cookie, X-GitHub-OTP + - Accept-Encoding, Accept, X-Requested-With + X-Accepted-OAuth-Scopes: + - '' + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + X-GitHub-Media-Type: + - github.v3; format=json + X-GitHub-Request-Id: + - 77CD:202BC7:3645FDF:37B4BF5:6634E9B9 + X-OAuth-Scopes: + - repo + X-RateLimit-Limit: + - '5000' + X-RateLimit-Remaining: + - '4737' + X-RateLimit-Reset: + - '1714744789' + X-RateLimit-Resource: + - core + X-RateLimit-Used: + - '263' + X-XSS-Protection: + - '0' + github-authentication-token-expiration: + - 2024-07-08 07:44:52 UTC + x-github-api-version-selected: + - '2022-11-28' + status: + code: 200 + message: OK +- request: + body: + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Authorization: + - token ghp_MASKED + Connection: + - keep-alive + User-Agent: + - PyGithub/Python + method: GET + uri: https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/yaml + response: + body: + string: '[{"name":"metrics_v0.2.yaml","path":"fuji_server/yaml/metrics_v0.2.yaml","sha":"a627e18c8060e27b0ffb0c7cb728c51766904a53","size":11554,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/yaml/metrics_v0.2.yaml?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/yaml/metrics_v0.2.yaml","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/a627e18c8060e27b0ffb0c7cb728c51766904a53","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/yaml/metrics_v0.2.yaml","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/yaml/metrics_v0.2.yaml?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/a627e18c8060e27b0ffb0c7cb728c51766904a53","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/yaml/metrics_v0.2.yaml"}},{"name":"metrics_v0.3.yaml","path":"fuji_server/yaml/metrics_v0.3.yaml","sha":"9a0fb46b14ee78c866de55afb17a08bde0ca1860","size":16836,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/yaml/metrics_v0.3.yaml?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/yaml/metrics_v0.3.yaml","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/9a0fb46b14ee78c866de55afb17a08bde0ca1860","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/yaml/metrics_v0.3.yaml","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/yaml/metrics_v0.3.yaml?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/9a0fb46b14ee78c866de55afb17a08bde0ca1860","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/yaml/metrics_v0.3.yaml"}},{"name":"metrics_v0.4.yaml","path":"fuji_server/yaml/metrics_v0.4.yaml","sha":"086930716c9dd4b4c7cc19464f9aee67d57d9625","size":30865,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/yaml/metrics_v0.4.yaml?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/yaml/metrics_v0.4.yaml","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/086930716c9dd4b4c7cc19464f9aee67d57d9625","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/yaml/metrics_v0.4.yaml","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/yaml/metrics_v0.4.yaml?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/086930716c9dd4b4c7cc19464f9aee67d57d9625","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/yaml/metrics_v0.4.yaml"}},{"name":"metrics_v0.5.yaml","path":"fuji_server/yaml/metrics_v0.5.yaml","sha":"3fe776461e5ee78ef1738af8520cfb24c1173944","size":36448,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/yaml/metrics_v0.5.yaml?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/yaml/metrics_v0.5.yaml","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/3fe776461e5ee78ef1738af8520cfb24c1173944","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/yaml/metrics_v0.5.yaml","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/yaml/metrics_v0.5.yaml?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/3fe776461e5ee78ef1738af8520cfb24c1173944","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/yaml/metrics_v0.5.yaml"}},{"name":"metrics_v0.6a2a.yaml","path":"fuji_server/yaml/metrics_v0.6a2a.yaml","sha":"d88ea14b157cb5e753ea77a741133f46506cc4d1","size":15145,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/yaml/metrics_v0.6a2a.yaml?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/yaml/metrics_v0.6a2a.yaml","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/d88ea14b157cb5e753ea77a741133f46506cc4d1","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/yaml/metrics_v0.6a2a.yaml","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/yaml/metrics_v0.6a2a.yaml?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/d88ea14b157cb5e753ea77a741133f46506cc4d1","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/yaml/metrics_v0.6a2a.yaml"}},{"name":"metrics_v0.7_software.yaml","path":"fuji_server/yaml/metrics_v0.7_software.yaml","sha":"bdccceaacb516c716b49d90662df0ee1e6dce84d","size":1583,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/yaml/metrics_v0.7_software.yaml?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/yaml/metrics_v0.7_software.yaml","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/bdccceaacb516c716b49d90662df0ee1e6dce84d","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/yaml/metrics_v0.7_software.yaml","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/yaml/metrics_v0.7_software.yaml?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/bdccceaacb516c716b49d90662df0ee1e6dce84d","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/yaml/metrics_v0.7_software.yaml"}},{"name":"metrics_v0.7_software_cessda.yaml","path":"fuji_server/yaml/metrics_v0.7_software_cessda.yaml","sha":"ef4efeab2331d6e4c7112b5bf81bf55839f9022c","size":1673,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/yaml/metrics_v0.7_software_cessda.yaml?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/yaml/metrics_v0.7_software_cessda.yaml","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/ef4efeab2331d6e4c7112b5bf81bf55839f9022c","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/yaml/metrics_v0.7_software_cessda.yaml","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/yaml/metrics_v0.7_software_cessda.yaml?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/ef4efeab2331d6e4c7112b5bf81bf55839f9022c","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/yaml/metrics_v0.7_software_cessda.yaml"}},{"name":"openapi.yaml","path":"fuji_server/yaml/openapi.yaml","sha":"aeef5a5451f1d991b4e31cdce739cb1bb141da3c","size":24591,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/yaml/openapi.yaml?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/yaml/openapi.yaml","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/aeef5a5451f1d991b4e31cdce739cb1bb141da3c","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/yaml/openapi.yaml","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/yaml/openapi.yaml?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/aeef5a5451f1d991b4e31cdce739cb1bb141da3c","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/yaml/openapi.yaml"}}]' + headers: + Access-Control-Allow-Origin: + - '*' + Access-Control-Expose-Headers: + - ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset + Cache-Control: + - private, max-age=60, s-maxage=60 + Content-Encoding: + - gzip + Content-Security-Policy: + - default-src 'none' + Content-Type: + - application/json; charset=utf-8 + Date: + - Fri, 03 May 2024 13:42:17 GMT + ETag: + - W/"ebba17509a44e60e09b57a6d211021b3ca0688d2" + Last-Modified: + - Fri, 03 May 2024 07:27:29 GMT + Referrer-Policy: + - origin-when-cross-origin, strict-origin-when-cross-origin + Server: + - GitHub.com + Strict-Transport-Security: + - max-age=31536000; includeSubdomains; preload + Transfer-Encoding: + - chunked + Vary: + - Accept, Authorization, Cookie, X-GitHub-OTP + - Accept-Encoding, Accept, X-Requested-With + X-Accepted-OAuth-Scopes: + - '' + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + X-GitHub-Media-Type: + - github.v3; format=json + X-GitHub-Request-Id: + - EDD1:2C3F40:37090E7:3877D2D:6634E9B9 + X-OAuth-Scopes: + - repo + X-RateLimit-Limit: + - '5000' + X-RateLimit-Remaining: + - '4736' + X-RateLimit-Reset: + - '1714744789' + X-RateLimit-Resource: + - core + X-RateLimit-Used: + - '264' + X-XSS-Protection: + - '0' + github-authentication-token-expiration: + - 2024-07-08 07:44:52 UTC + x-github-api-version-selected: + - '2022-11-28' + status: + code: 200 + message: OK +- request: + body: + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Authorization: + - token ghp_MASKED + Connection: + - keep-alive + User-Agent: + - PyGithub/Python + method: GET + uri: https://api.github.com/repos/pangaea-data-publisher/fuji/contents/simpleclient/icon + response: + body: + string: '[{"name":"bootstrap","path":"simpleclient/icon/bootstrap","sha":"0507072516f9c60cd67d1b042ccce4b88dca25b6","size":0,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/simpleclient/icon/bootstrap?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/tree/master/simpleclient/icon/bootstrap","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/0507072516f9c60cd67d1b042ccce4b88dca25b6","download_url":null,"type":"dir","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/simpleclient/icon/bootstrap?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/0507072516f9c60cd67d1b042ccce4b88dca25b6","html":"https://github.com/pangaea-data-publisher/fuji/tree/master/simpleclient/icon/bootstrap"}},{"name":"fuji_logo_square.png","path":"simpleclient/icon/fuji_logo_square.png","sha":"16ae24d19d33e9eadbdf29b0a53692407f3b0935","size":23779,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/simpleclient/icon/fuji_logo_square.png?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/simpleclient/icon/fuji_logo_square.png","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/16ae24d19d33e9eadbdf29b0a53692407f3b0935","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/simpleclient/icon/fuji_logo_square.png","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/simpleclient/icon/fuji_logo_square.png?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/16ae24d19d33e9eadbdf29b0a53692407f3b0935","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/simpleclient/icon/fuji_logo_square.png"}},{"name":"passed.png","path":"simpleclient/icon/passed.png","sha":"a1ebdc43ae53e5bdbfb56019cf90a23624d0ab4f","size":32129,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/simpleclient/icon/passed.png?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/simpleclient/icon/passed.png","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/a1ebdc43ae53e5bdbfb56019cf90a23624d0ab4f","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/simpleclient/icon/passed.png","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/simpleclient/icon/passed.png?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/a1ebdc43ae53e5bdbfb56019cf90a23624d0ab4f","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/simpleclient/icon/passed.png"}},{"name":"passed_1.png","path":"simpleclient/icon/passed_1.png","sha":"21ffe0a48db239578e159f818e7ef39a9b39a073","size":19284,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/simpleclient/icon/passed_1.png?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/simpleclient/icon/passed_1.png","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/21ffe0a48db239578e159f818e7ef39a9b39a073","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/simpleclient/icon/passed_1.png","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/simpleclient/icon/passed_1.png?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/21ffe0a48db239578e159f818e7ef39a9b39a073","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/simpleclient/icon/passed_1.png"}},{"name":"passed_2.png","path":"simpleclient/icon/passed_2.png","sha":"a474856292d611e1d44280fb561c157043d99cee","size":19566,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/simpleclient/icon/passed_2.png?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/simpleclient/icon/passed_2.png","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/a474856292d611e1d44280fb561c157043d99cee","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/simpleclient/icon/passed_2.png","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/simpleclient/icon/passed_2.png?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/a474856292d611e1d44280fb561c157043d99cee","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/simpleclient/icon/passed_2.png"}},{"name":"passed_3.png","path":"simpleclient/icon/passed_3.png","sha":"daf39e356e17dde336e84500d3fdb46925ed8499","size":19851,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/simpleclient/icon/passed_3.png?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/simpleclient/icon/passed_3.png","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/daf39e356e17dde336e84500d3fdb46925ed8499","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/simpleclient/icon/passed_3.png","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/simpleclient/icon/passed_3.png?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/daf39e356e17dde336e84500d3fdb46925ed8499","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/simpleclient/icon/passed_3.png"}},{"name":"unknown.png","path":"simpleclient/icon/unknown.png","sha":"1f6842648f48d098ac6409327c8ee08d529e6dd0","size":8427,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/simpleclient/icon/unknown.png?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/simpleclient/icon/unknown.png","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/1f6842648f48d098ac6409327c8ee08d529e6dd0","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/simpleclient/icon/unknown.png","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/simpleclient/icon/unknown.png?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/1f6842648f48d098ac6409327c8ee08d529e6dd0","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/simpleclient/icon/unknown.png"}}]' + headers: + Access-Control-Allow-Origin: + - '*' + Access-Control-Expose-Headers: + - ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset + Cache-Control: + - private, max-age=60, s-maxage=60 + Content-Encoding: + - gzip + Content-Security-Policy: + - default-src 'none' + Content-Type: + - application/json; charset=utf-8 + Date: + - Fri, 03 May 2024 13:42:18 GMT + ETag: + - W/"ebba17509a44e60e09b57a6d211021b3ca0688d2" + Last-Modified: + - Fri, 03 May 2024 07:27:29 GMT + Referrer-Policy: + - origin-when-cross-origin, strict-origin-when-cross-origin + Server: + - GitHub.com + Strict-Transport-Security: + - max-age=31536000; includeSubdomains; preload + Transfer-Encoding: + - chunked + Vary: + - Accept, Authorization, Cookie, X-GitHub-OTP + - Accept-Encoding, Accept, X-Requested-With + X-Accepted-OAuth-Scopes: + - '' + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + X-GitHub-Media-Type: + - github.v3; format=json + X-GitHub-Request-Id: + - 507C:2C5B5F:364AE06:37B9A7D:6634E9BA + X-OAuth-Scopes: + - repo + X-RateLimit-Limit: + - '5000' + X-RateLimit-Remaining: + - '4735' + X-RateLimit-Reset: + - '1714744789' + X-RateLimit-Resource: + - core + X-RateLimit-Used: + - '265' + X-XSS-Protection: + - '0' + github-authentication-token-expiration: + - 2024-07-08 07:44:52 UTC + x-github-api-version-selected: + - '2022-11-28' + status: + code: 200 + message: OK +- request: + body: + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Authorization: + - token ghp_MASKED + Connection: + - keep-alive + User-Agent: + - PyGithub/Python + method: GET + uri: https://api.github.com/repos/pangaea-data-publisher/fuji/contents/tests/api + response: + body: + string: '[{"name":"test_urls.py","path":"tests/api/test_urls.py","sha":"a856fe298d0ad0d28f63ee8fe2df6893f2ed6a84","size":1010,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/tests/api/test_urls.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/tests/api/test_urls.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/a856fe298d0ad0d28f63ee8fe2df6893f2ed6a84","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/tests/api/test_urls.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/tests/api/test_urls.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/a856fe298d0ad0d28f63ee8fe2df6893f2ed6a84","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/tests/api/test_urls.py"}}]' + headers: + Access-Control-Allow-Origin: + - '*' + Access-Control-Expose-Headers: + - ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset + Cache-Control: + - private, max-age=60, s-maxage=60 + Content-Encoding: + - gzip + Content-Security-Policy: + - default-src 'none' + Content-Type: + - application/json; charset=utf-8 + Date: + - Fri, 03 May 2024 13:42:18 GMT + ETag: + - W/"ebba17509a44e60e09b57a6d211021b3ca0688d2" + Last-Modified: + - Fri, 03 May 2024 07:27:29 GMT + Referrer-Policy: + - origin-when-cross-origin, strict-origin-when-cross-origin + Server: + - GitHub.com + Strict-Transport-Security: + - max-age=31536000; includeSubdomains; preload + Transfer-Encoding: + - chunked + Vary: + - Accept, Authorization, Cookie, X-GitHub-OTP + - Accept-Encoding, Accept, X-Requested-With + X-Accepted-OAuth-Scopes: + - '' + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + X-GitHub-Media-Type: + - github.v3; format=json + X-GitHub-Request-Id: + - 9F28:20058F:363CFBB:37ABBF4:6634E9BA + X-OAuth-Scopes: + - repo + X-RateLimit-Limit: + - '5000' + X-RateLimit-Remaining: + - '4734' + X-RateLimit-Reset: + - '1714744789' + X-RateLimit-Resource: + - core + X-RateLimit-Used: + - '266' + X-XSS-Protection: + - '0' + github-authentication-token-expiration: + - 2024-07-08 07:44:52 UTC + x-github-api-version-selected: + - '2022-11-28' + status: + code: 200 + message: OK +- request: + body: + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Authorization: + - token ghp_MASKED + Connection: + - keep-alive + User-Agent: + - PyGithub/Python + method: GET + uri: https://api.github.com/repos/pangaea-data-publisher/fuji/contents/tests/config + response: + body: + string: '[{"name":"test_server.ini","path":"tests/config/test_server.ini","sha":"4d02fda8b5e0f03778527a9751f66a63fa76b133","size":751,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/tests/config/test_server.ini?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/tests/config/test_server.ini","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/4d02fda8b5e0f03778527a9751f66a63fa76b133","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/tests/config/test_server.ini","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/tests/config/test_server.ini?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/4d02fda8b5e0f03778527a9751f66a63fa76b133","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/tests/config/test_server.ini"}}]' + headers: + Access-Control-Allow-Origin: + - '*' + Access-Control-Expose-Headers: + - ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset + Cache-Control: + - private, max-age=60, s-maxage=60 + Content-Encoding: + - gzip + Content-Security-Policy: + - default-src 'none' + Content-Type: + - application/json; charset=utf-8 + Date: + - Fri, 03 May 2024 13:42:19 GMT + ETag: + - W/"ebba17509a44e60e09b57a6d211021b3ca0688d2" + Last-Modified: + - Fri, 03 May 2024 07:27:29 GMT + Referrer-Policy: + - origin-when-cross-origin, strict-origin-when-cross-origin + Server: + - GitHub.com + Strict-Transport-Security: + - max-age=31536000; includeSubdomains; preload + Transfer-Encoding: + - chunked + Vary: + - Accept, Authorization, Cookie, X-GitHub-OTP + - Accept-Encoding, Accept, X-Requested-With + X-Accepted-OAuth-Scopes: + - '' + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + X-GitHub-Media-Type: + - github.v3; format=json + X-GitHub-Request-Id: + - 9F2A:201833:362D0DB:379BD33:6634E9BB + X-OAuth-Scopes: + - repo + X-RateLimit-Limit: + - '5000' + X-RateLimit-Remaining: + - '4733' + X-RateLimit-Reset: + - '1714744789' + X-RateLimit-Resource: + - core + X-RateLimit-Used: + - '267' + X-XSS-Protection: + - '0' + github-authentication-token-expiration: + - 2024-07-08 07:44:52 UTC + x-github-api-version-selected: + - '2022-11-28' + status: + code: 200 + message: OK +- request: + body: + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Authorization: + - token ghp_MASKED + Connection: + - keep-alive + User-Agent: + - PyGithub/Python + method: GET + uri: https://api.github.com/repos/pangaea-data-publisher/fuji/contents/tests/controllers + response: + body: + string: '[{"name":"cassettes","path":"tests/controllers/cassettes","sha":"c313b24602bc3dd7cd01cff081b5e4ff0045d5b4","size":0,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/tests/controllers/cassettes?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/tree/master/tests/controllers/cassettes","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/c313b24602bc3dd7cd01cff081b5e4ff0045d5b4","download_url":null,"type":"dir","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/tests/controllers/cassettes?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/c313b24602bc3dd7cd01cff081b5e4ff0045d5b4","html":"https://github.com/pangaea-data-publisher/fuji/tree/master/tests/controllers/cassettes"}},{"name":"test_fair_check.py","path":"tests/controllers/test_fair_check.py","sha":"b22f291010069360efc1ed4edc8a7f22dc80b576","size":992,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/tests/controllers/test_fair_check.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/tests/controllers/test_fair_check.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/b22f291010069360efc1ed4edc8a7f22dc80b576","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/tests/controllers/test_fair_check.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/tests/controllers/test_fair_check.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/b22f291010069360efc1ed4edc8a7f22dc80b576","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/tests/controllers/test_fair_check.py"}}]' + headers: + Access-Control-Allow-Origin: + - '*' + Access-Control-Expose-Headers: + - ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset + Cache-Control: + - private, max-age=60, s-maxage=60 + Content-Encoding: + - gzip + Content-Security-Policy: + - default-src 'none' + Content-Type: + - application/json; charset=utf-8 + Date: + - Fri, 03 May 2024 13:42:20 GMT + ETag: + - W/"ebba17509a44e60e09b57a6d211021b3ca0688d2" + Last-Modified: + - Fri, 03 May 2024 07:27:29 GMT + Referrer-Policy: + - origin-when-cross-origin, strict-origin-when-cross-origin + Server: + - GitHub.com + Strict-Transport-Security: + - max-age=31536000; includeSubdomains; preload + Transfer-Encoding: + - chunked + Vary: + - Accept, Authorization, Cookie, X-GitHub-OTP + - Accept-Encoding, Accept, X-Requested-With + X-Accepted-OAuth-Scopes: + - '' + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + X-GitHub-Media-Type: + - github.v3; format=json + X-GitHub-Request-Id: + - 5082:16999:126A3AA:12E6AF6:6634E9BB + X-OAuth-Scopes: + - repo + X-RateLimit-Limit: + - '5000' + X-RateLimit-Remaining: + - '4732' + X-RateLimit-Reset: + - '1714744789' + X-RateLimit-Resource: + - core + X-RateLimit-Used: + - '268' + X-XSS-Protection: + - '0' + github-authentication-token-expiration: + - 2024-07-08 07:44:52 UTC + x-github-api-version-selected: + - '2022-11-28' + status: + code: 200 + message: OK +- request: + body: + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Authorization: + - token ghp_MASKED + Connection: + - keep-alive + User-Agent: + - PyGithub/Python + method: GET + uri: https://api.github.com/repos/pangaea-data-publisher/fuji/contents/tests/functional + response: + body: + string: '[{"name":"cassettes","path":"tests/functional/cassettes","sha":"c659f90099019f9ee85576833dcc5d9161135b46","size":0,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/tests/functional/cassettes?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/tree/master/tests/functional/cassettes","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/c659f90099019f9ee85576833dcc5d9161135b46","download_url":null,"type":"dir","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/tests/functional/cassettes?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/c659f90099019f9ee85576833dcc5d9161135b46","html":"https://github.com/pangaea-data-publisher/fuji/tree/master/tests/functional/cassettes"}},{"name":"test_evaluation.py","path":"tests/functional/test_evaluation.py","sha":"57a36c91dcde2562741a454af1d3d77ad5008f97","size":4965,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/tests/functional/test_evaluation.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/tests/functional/test_evaluation.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/57a36c91dcde2562741a454af1d3d77ad5008f97","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/tests/functional/test_evaluation.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/tests/functional/test_evaluation.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/57a36c91dcde2562741a454af1d3d77ad5008f97","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/tests/functional/test_evaluation.py"}}]' + headers: + Access-Control-Allow-Origin: + - '*' + Access-Control-Expose-Headers: + - ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset + Cache-Control: + - private, max-age=60, s-maxage=60 + Content-Encoding: + - gzip + Content-Security-Policy: + - default-src 'none' + Content-Type: + - application/json; charset=utf-8 + Date: + - Fri, 03 May 2024 13:42:20 GMT + ETag: + - W/"ebba17509a44e60e09b57a6d211021b3ca0688d2" + Last-Modified: + - Fri, 03 May 2024 07:27:29 GMT + Referrer-Policy: + - origin-when-cross-origin, strict-origin-when-cross-origin + Server: + - GitHub.com + Strict-Transport-Security: + - max-age=31536000; includeSubdomains; preload + Transfer-Encoding: + - chunked + Vary: + - Accept, Authorization, Cookie, X-GitHub-OTP + - Accept-Encoding, Accept, X-Requested-With + X-Accepted-OAuth-Scopes: + - '' + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + X-GitHub-Media-Type: + - github.v3; format=json + X-GitHub-Request-Id: + - 9F2E:2C4AEA:368E078:37FCCCF:6634E9BC + X-OAuth-Scopes: + - repo + X-RateLimit-Limit: + - '5000' + X-RateLimit-Remaining: + - '4731' + X-RateLimit-Reset: + - '1714744789' + X-RateLimit-Resource: + - core + X-RateLimit-Used: + - '269' + X-XSS-Protection: + - '0' + github-authentication-token-expiration: + - 2024-07-08 07:44:52 UTC + x-github-api-version-selected: + - '2022-11-28' + status: + code: 200 + message: OK +- request: + body: + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Authorization: + - token ghp_MASKED + Connection: + - keep-alive + User-Agent: + - PyGithub/Python + method: GET + uri: https://api.github.com/repos/pangaea-data-publisher/fuji/contents/tests/helper + response: + body: + string: '[{"name":"cassettes","path":"tests/helper/cassettes","sha":"b48bbd7a4979315a3ea51b7d5090795c4b7eeb44","size":0,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/tests/helper/cassettes?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/tree/master/tests/helper/cassettes","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/b48bbd7a4979315a3ea51b7d5090795c4b7eeb44","download_url":null,"type":"dir","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/tests/helper/cassettes?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/b48bbd7a4979315a3ea51b7d5090795c4b7eeb44","html":"https://github.com/pangaea-data-publisher/fuji/tree/master/tests/helper/cassettes"}},{"name":"test_preprocessor.py","path":"tests/helper/test_preprocessor.py","sha":"b30b5f76842d2aec1cb2305d9a3b9bdcbd6b8c15","size":6094,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/tests/helper/test_preprocessor.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/tests/helper/test_preprocessor.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/b30b5f76842d2aec1cb2305d9a3b9bdcbd6b8c15","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/tests/helper/test_preprocessor.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/tests/helper/test_preprocessor.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/b30b5f76842d2aec1cb2305d9a3b9bdcbd6b8c15","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/tests/helper/test_preprocessor.py"}}]' + headers: + Access-Control-Allow-Origin: + - '*' + Access-Control-Expose-Headers: + - ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset + Cache-Control: + - private, max-age=60, s-maxage=60 + Content-Encoding: + - gzip + Content-Security-Policy: + - default-src 'none' + Content-Type: + - application/json; charset=utf-8 + Date: + - Fri, 03 May 2024 13:42:21 GMT + ETag: + - W/"ebba17509a44e60e09b57a6d211021b3ca0688d2" + Last-Modified: + - Fri, 03 May 2024 07:27:29 GMT + Referrer-Policy: + - origin-when-cross-origin, strict-origin-when-cross-origin + Server: + - GitHub.com + Strict-Transport-Security: + - max-age=31536000; includeSubdomains; preload + Transfer-Encoding: + - chunked + Vary: + - Accept, Authorization, Cookie, X-GitHub-OTP + - Accept-Encoding, Accept, X-Requested-With + X-Accepted-OAuth-Scopes: + - '' + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + X-GitHub-Media-Type: + - github.v3; format=json + X-GitHub-Request-Id: + - 9F30:2C5955:362445D:37930DF:6634E9BC + X-OAuth-Scopes: + - repo + X-RateLimit-Limit: + - '5000' + X-RateLimit-Remaining: + - '4730' + X-RateLimit-Reset: + - '1714744789' + X-RateLimit-Resource: + - core + X-RateLimit-Used: + - '270' + X-XSS-Protection: + - '0' + github-authentication-token-expiration: + - 2024-07-08 07:44:52 UTC + x-github-api-version-selected: + - '2022-11-28' + status: + code: 200 + message: OK +- request: + body: + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Authorization: + - token ghp_MASKED + Connection: + - keep-alive + User-Agent: + - PyGithub/Python + method: GET + uri: https://api.github.com/repos/pangaea-data-publisher/fuji/contents/tests/models + response: + body: + string: '[{"name":"test_harvest.py","path":"tests/models/test_harvest.py","sha":"9eab7b2e600045866144743e3e392a64eb1d4724","size":1275,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/tests/models/test_harvest.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/tests/models/test_harvest.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/9eab7b2e600045866144743e3e392a64eb1d4724","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/tests/models/test_harvest.py","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/tests/models/test_harvest.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/9eab7b2e600045866144743e3e392a64eb1d4724","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/tests/models/test_harvest.py"}}]' + headers: + Access-Control-Allow-Origin: + - '*' + Access-Control-Expose-Headers: + - ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset + Cache-Control: + - private, max-age=60, s-maxage=60 + Content-Encoding: + - gzip + Content-Security-Policy: + - default-src 'none' + Content-Type: + - application/json; charset=utf-8 + Date: + - Fri, 03 May 2024 13:42:21 GMT + ETag: + - W/"ebba17509a44e60e09b57a6d211021b3ca0688d2" + Last-Modified: + - Fri, 03 May 2024 07:27:29 GMT + Referrer-Policy: + - origin-when-cross-origin, strict-origin-when-cross-origin + Server: + - GitHub.com + Strict-Transport-Security: + - max-age=31536000; includeSubdomains; preload + Transfer-Encoding: + - chunked + Vary: + - Accept, Authorization, Cookie, X-GitHub-OTP + - Accept-Encoding, Accept, X-Requested-With + X-Accepted-OAuth-Scopes: + - '' + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + X-GitHub-Media-Type: + - github.v3; format=json + X-GitHub-Request-Id: + - 5088:2C5E27:387345B:39E2072:6634E9BD + X-OAuth-Scopes: + - repo + X-RateLimit-Limit: + - '5000' + X-RateLimit-Remaining: + - '4729' + X-RateLimit-Reset: + - '1714744789' + X-RateLimit-Resource: + - core + X-RateLimit-Used: + - '271' + X-XSS-Protection: + - '0' + github-authentication-token-expiration: + - 2024-07-08 07:44:52 UTC + x-github-api-version-selected: + - '2022-11-28' + status: + code: 200 + message: OK +- request: + body: + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Authorization: + - token ghp_MASKED + Connection: + - keep-alive + User-Agent: + - PyGithub/Python + method: GET + uri: https://api.github.com/repos/pangaea-data-publisher/fuji/contents/docs/source/developer_guide + response: + body: + string: '[{"name":"index.rst","path":"docs/source/developer_guide/index.rst","sha":"6cfa9603e3cb0cfe13a7eb6424c3fb2afe080104","size":36,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/docs/source/developer_guide/index.rst?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/docs/source/developer_guide/index.rst","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/6cfa9603e3cb0cfe13a7eb6424c3fb2afe080104","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/docs/source/developer_guide/index.rst","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/docs/source/developer_guide/index.rst?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/6cfa9603e3cb0cfe13a7eb6424c3fb2afe080104","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/docs/source/developer_guide/index.rst"}}]' + headers: + Access-Control-Allow-Origin: + - '*' + Access-Control-Expose-Headers: + - ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset + Cache-Control: + - private, max-age=60, s-maxage=60 + Content-Encoding: + - gzip + Content-Security-Policy: + - default-src 'none' + Content-Type: + - application/json; charset=utf-8 + Date: + - Fri, 03 May 2024 13:42:22 GMT + ETag: + - W/"ebba17509a44e60e09b57a6d211021b3ca0688d2" + Last-Modified: + - Fri, 03 May 2024 07:27:29 GMT + Referrer-Policy: + - origin-when-cross-origin, strict-origin-when-cross-origin + Server: + - GitHub.com + Strict-Transport-Security: + - max-age=31536000; includeSubdomains; preload + Transfer-Encoding: + - chunked + Vary: + - Accept, Authorization, Cookie, X-GitHub-OTP + - Accept-Encoding, Accept, X-Requested-With + X-Accepted-OAuth-Scopes: + - '' + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + X-GitHub-Media-Type: + - github.v3; format=json + X-GitHub-Request-Id: + - 2935:202D2C:3721C05:389086B:6634E9BD + X-OAuth-Scopes: + - repo + X-RateLimit-Limit: + - '5000' + X-RateLimit-Remaining: + - '4728' + X-RateLimit-Reset: + - '1714744789' + X-RateLimit-Resource: + - core + X-RateLimit-Used: + - '272' + X-XSS-Protection: + - '0' + github-authentication-token-expiration: + - 2024-07-08 07:44:52 UTC + x-github-api-version-selected: + - '2022-11-28' + status: + code: 200 + message: OK +- request: + body: + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Authorization: + - token ghp_MASKED + Connection: + - keep-alive + User-Agent: + - PyGithub/Python + method: GET + uri: https://api.github.com/repos/pangaea-data-publisher/fuji/contents/docs/source/images + response: + body: + string: '[{"name":"fuji_logo.png","path":"docs/source/images/fuji_logo.png","sha":"5b2ddcdd6f21d0dc77881ef9660b25ee1826906b","size":80626,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/docs/source/images/fuji_logo.png?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/docs/source/images/fuji_logo.png","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/5b2ddcdd6f21d0dc77881ef9660b25ee1826906b","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/docs/source/images/fuji_logo.png","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/docs/source/images/fuji_logo.png?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/5b2ddcdd6f21d0dc77881ef9660b25ee1826906b","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/docs/source/images/fuji_logo.png"}}]' + headers: + Access-Control-Allow-Origin: + - '*' + Access-Control-Expose-Headers: + - ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset + Cache-Control: + - private, max-age=60, s-maxage=60 + Content-Encoding: + - gzip + Content-Security-Policy: + - default-src 'none' + Content-Type: + - application/json; charset=utf-8 + Date: + - Fri, 03 May 2024 13:42:22 GMT + ETag: + - W/"ebba17509a44e60e09b57a6d211021b3ca0688d2" + Last-Modified: + - Fri, 03 May 2024 07:27:29 GMT + Referrer-Policy: + - origin-when-cross-origin, strict-origin-when-cross-origin + Server: + - GitHub.com + Strict-Transport-Security: + - max-age=31536000; includeSubdomains; preload + Transfer-Encoding: + - chunked + Vary: + - Accept, Authorization, Cookie, X-GitHub-OTP + - Accept-Encoding, Accept, X-Requested-With + X-Accepted-OAuth-Scopes: + - '' + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + X-GitHub-Media-Type: + - github.v3; format=json + X-GitHub-Request-Id: + - 2937:2030AF:36CDB89:383C80A:6634E9BE + X-OAuth-Scopes: + - repo + X-RateLimit-Limit: + - '5000' + X-RateLimit-Remaining: + - '4727' + X-RateLimit-Reset: + - '1714744789' + X-RateLimit-Resource: + - core + X-RateLimit-Used: + - '273' + X-XSS-Protection: + - '0' + github-authentication-token-expiration: + - 2024-07-08 07:44:52 UTC + x-github-api-version-selected: + - '2022-11-28' + status: + code: 200 + message: OK +- request: + body: + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Authorization: + - token ghp_MASKED + Connection: + - keep-alive + User-Agent: + - PyGithub/Python + method: GET + uri: https://api.github.com/repos/pangaea-data-publisher/fuji/contents/docs/source/module_guide + response: + body: + string: '[{"name":"fuji_server.app.rst","path":"docs/source/module_guide/fuji_server.app.rst","sha":"9405fff0f90204852d8cd9e0d51a3aacd64d36c8","size":358,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/docs/source/module_guide/fuji_server.app.rst?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/docs/source/module_guide/fuji_server.app.rst","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/9405fff0f90204852d8cd9e0d51a3aacd64d36c8","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/docs/source/module_guide/fuji_server.app.rst","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/docs/source/module_guide/fuji_server.app.rst?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/9405fff0f90204852d8cd9e0d51a3aacd64d36c8","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/docs/source/module_guide/fuji_server.app.rst"}},{"name":"fuji_server.client.rst","path":"docs/source/module_guide/fuji_server.client.rst","sha":"2c62dc0ef520d17960718d6f46a18f6883f52b05","size":562,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/docs/source/module_guide/fuji_server.client.rst?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/docs/source/module_guide/fuji_server.client.rst","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/2c62dc0ef520d17960718d6f46a18f6883f52b05","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/docs/source/module_guide/fuji_server.client.rst","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/docs/source/module_guide/fuji_server.client.rst?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/2c62dc0ef520d17960718d6f46a18f6883f52b05","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/docs/source/module_guide/fuji_server.client.rst"}},{"name":"fuji_server.controllers.rst","path":"docs/source/module_guide/fuji_server.controllers.rst","sha":"b428cc02ca353563ae636b4ed5614d7127cdfa8a","size":1115,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/docs/source/module_guide/fuji_server.controllers.rst?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/docs/source/module_guide/fuji_server.controllers.rst","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/b428cc02ca353563ae636b4ed5614d7127cdfa8a","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/docs/source/module_guide/fuji_server.controllers.rst","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/docs/source/module_guide/fuji_server.controllers.rst?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/b428cc02ca353563ae636b4ed5614d7127cdfa8a","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/docs/source/module_guide/fuji_server.controllers.rst"}},{"name":"fuji_server.evaluators.rst","path":"docs/source/module_guide/fuji_server.evaluators.rst","sha":"b908c83f803c6205578f600f9cf5bf4d9359fdbe","size":4900,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/docs/source/module_guide/fuji_server.evaluators.rst?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/docs/source/module_guide/fuji_server.evaluators.rst","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/b908c83f803c6205578f600f9cf5bf4d9359fdbe","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/docs/source/module_guide/fuji_server.evaluators.rst","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/docs/source/module_guide/fuji_server.evaluators.rst?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/b908c83f803c6205578f600f9cf5bf4d9359fdbe","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/docs/source/module_guide/fuji_server.evaluators.rst"}},{"name":"fuji_server.harvester.rst","path":"docs/source/module_guide/fuji_server.harvester.rst","sha":"87e8700389b1608ed560949f7d8e40f38efc8f07","size":430,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/docs/source/module_guide/fuji_server.harvester.rst?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/docs/source/module_guide/fuji_server.harvester.rst","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/87e8700389b1608ed560949f7d8e40f38efc8f07","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/docs/source/module_guide/fuji_server.harvester.rst","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/docs/source/module_guide/fuji_server.harvester.rst?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/87e8700389b1608ed560949f7d8e40f38efc8f07","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/docs/source/module_guide/fuji_server.harvester.rst"}},{"name":"fuji_server.helper.rst","path":"docs/source/module_guide/fuji_server.helper.rst","sha":"eac15e8c2b639897c4f6d1829370f51b8f288553","size":6081,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/docs/source/module_guide/fuji_server.helper.rst?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/docs/source/module_guide/fuji_server.helper.rst","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/eac15e8c2b639897c4f6d1829370f51b8f288553","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/docs/source/module_guide/fuji_server.helper.rst","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/docs/source/module_guide/fuji_server.helper.rst?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/eac15e8c2b639897c4f6d1829370f51b8f288553","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/docs/source/module_guide/fuji_server.helper.rst"}},{"name":"fuji_server.models.rst","path":"docs/source/module_guide/fuji_server.models.rst","sha":"90a3fdb875b0651237244e96c4bad8f90808bdbb","size":12025,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/docs/source/module_guide/fuji_server.models.rst?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/docs/source/module_guide/fuji_server.models.rst","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/90a3fdb875b0651237244e96c4bad8f90808bdbb","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/docs/source/module_guide/fuji_server.models.rst","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/docs/source/module_guide/fuji_server.models.rst?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/90a3fdb875b0651237244e96c4bad8f90808bdbb","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/docs/source/module_guide/fuji_server.models.rst"}},{"name":"fuji_server.rst","path":"docs/source/module_guide/fuji_server.rst","sha":"b70a3524bb605be7cbecf51e61d199b6cb40f099","size":687,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/docs/source/module_guide/fuji_server.rst?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/docs/source/module_guide/fuji_server.rst","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/b70a3524bb605be7cbecf51e61d199b6cb40f099","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/docs/source/module_guide/fuji_server.rst","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/docs/source/module_guide/fuji_server.rst?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/b70a3524bb605be7cbecf51e61d199b6cb40f099","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/docs/source/module_guide/fuji_server.rst"}},{"name":"mg_index.rst","path":"docs/source/module_guide/mg_index.rst","sha":"51bf605df3a1998999f6d5a35352f8e40cd48832","size":92,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/docs/source/module_guide/mg_index.rst?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/docs/source/module_guide/mg_index.rst","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/51bf605df3a1998999f6d5a35352f8e40cd48832","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/docs/source/module_guide/mg_index.rst","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/docs/source/module_guide/mg_index.rst?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/51bf605df3a1998999f6d5a35352f8e40cd48832","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/docs/source/module_guide/mg_index.rst"}},{"name":"mg_index_old.txt","path":"docs/source/module_guide/mg_index_old.txt","sha":"b9da41d1296cdd88b0438e20cf4b09c34595bd17","size":294,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/docs/source/module_guide/mg_index_old.txt?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/docs/source/module_guide/mg_index_old.txt","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/b9da41d1296cdd88b0438e20cf4b09c34595bd17","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/docs/source/module_guide/mg_index_old.txt","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/docs/source/module_guide/mg_index_old.txt?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/b9da41d1296cdd88b0438e20cf4b09c34595bd17","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/docs/source/module_guide/mg_index_old.txt"}}]' + headers: + Access-Control-Allow-Origin: + - '*' + Access-Control-Expose-Headers: + - ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset + Cache-Control: + - private, max-age=60, s-maxage=60 + Content-Encoding: + - gzip + Content-Security-Policy: + - default-src 'none' + Content-Type: + - application/json; charset=utf-8 + Date: + - Fri, 03 May 2024 13:42:23 GMT + ETag: + - W/"ebba17509a44e60e09b57a6d211021b3ca0688d2" + Last-Modified: + - Fri, 03 May 2024 07:27:29 GMT + Referrer-Policy: + - origin-when-cross-origin, strict-origin-when-cross-origin + Server: + - GitHub.com + Strict-Transport-Security: + - max-age=31536000; includeSubdomains; preload + Transfer-Encoding: + - chunked + Vary: + - Accept, Authorization, Cookie, X-GitHub-OTP + - Accept-Encoding, Accept, X-Requested-With + X-Accepted-OAuth-Scopes: + - '' + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + X-GitHub-Media-Type: + - github.v3; format=json + X-GitHub-Request-Id: + - C68D:2C5955:36246C2:379334F:6634E9BF + X-OAuth-Scopes: + - repo + X-RateLimit-Limit: + - '5000' + X-RateLimit-Remaining: + - '4726' + X-RateLimit-Reset: + - '1714744789' + X-RateLimit-Resource: + - core + X-RateLimit-Used: + - '274' + X-XSS-Protection: + - '0' + github-authentication-token-expiration: + - 2024-07-08 07:44:52 UTC + x-github-api-version-selected: + - '2022-11-28' + status: + code: 200 + message: OK +- request: + body: + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Authorization: + - token ghp_MASKED + Connection: + - keep-alive + User-Agent: + - PyGithub/Python + method: GET + uri: https://api.github.com/repos/pangaea-data-publisher/fuji/contents/docs/source/user_guide + response: + body: + string: '[{"name":"index.rst","path":"docs/source/user_guide/index.rst","sha":"633e6996e227349cff8bf54beaaaa564f4b77119","size":22,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/docs/source/user_guide/index.rst?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/docs/source/user_guide/index.rst","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/633e6996e227349cff8bf54beaaaa564f4b77119","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/docs/source/user_guide/index.rst","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/docs/source/user_guide/index.rst?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/633e6996e227349cff8bf54beaaaa564f4b77119","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/docs/source/user_guide/index.rst"}}]' + headers: + Access-Control-Allow-Origin: + - '*' + Access-Control-Expose-Headers: + - ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset + Cache-Control: + - private, max-age=60, s-maxage=60 + Content-Encoding: + - gzip + Content-Security-Policy: + - default-src 'none' + Content-Type: + - application/json; charset=utf-8 + Date: + - Fri, 03 May 2024 13:42:23 GMT + ETag: + - W/"ebba17509a44e60e09b57a6d211021b3ca0688d2" + Last-Modified: + - Fri, 03 May 2024 07:27:29 GMT + Referrer-Policy: + - origin-when-cross-origin, strict-origin-when-cross-origin + Server: + - GitHub.com + Strict-Transport-Security: + - max-age=31536000; includeSubdomains; preload + Transfer-Encoding: + - chunked + Vary: + - Accept, Authorization, Cookie, X-GitHub-OTP + - Accept-Encoding, Accept, X-Requested-With + X-Accepted-OAuth-Scopes: + - '' + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + X-GitHub-Media-Type: + - github.v3; format=json + X-GitHub-Request-Id: + - 293B:2C4C60:36A2C65:381186E:6634E9BF + X-OAuth-Scopes: + - repo + X-RateLimit-Limit: + - '5000' + X-RateLimit-Remaining: + - '4725' + X-RateLimit-Reset: + - '1714744789' + X-RateLimit-Resource: + - core + X-RateLimit-Used: + - '275' + X-XSS-Protection: + - '0' + github-authentication-token-expiration: + - 2024-07-08 07:44:52 UTC + x-github-api-version-selected: + - '2022-11-28' + status: + code: 200 + message: OK +- request: + body: + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Authorization: + - token ghp_MASKED + Connection: + - keep-alive + User-Agent: + - PyGithub/Python + method: GET + uri: https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/data/README.md?ref=master + response: + body: + string: '{"name":"README.md","path":"fuji_server/data/README.md","sha":"60c2ccea32ac87650ca88aa034c00b64126bc5ab","size":2246,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/data/README.md?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/data/README.md","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/60c2ccea32ac87650ca88aa034c00b64126bc5ab","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/data/README.md","type":"file","content":"IyBEYXRhIGZpbGVzCgoKLSBbYGxpbmtlZF92b2NhYnMvKl9vbnRvbG9naWVz\nLmpzb25gXSguL2xpbmtlZF92b2NhYnMpCi0gW2BhY2Nlc3NfcmlnaHRzLmpz\nb25gXSguL2FjY2Vzc19yaWdodHMuanNvbik6IExpc3RzIENPQVIsIEVQUklO\nVFMsIEVVLCBPUEVOQUlSRSBhY2Nlc3MgcmlnaHRzLiBVc2VkIGZvciBldmFs\ndWF0aW9uIG9mIHRoZSBkYXRhIGFjY2VzcyBsZXZlbCwgRnNGLUExLTAxTSwg\nd2hpY2ggbG9va3MgZm9yIG1ldGFkYXRhIGl0ZW0gYGFjY2Vzc19sZXZlbGAu\nCi0gW2BiaW9zY2hlbWFzdHlwZXMudHh0YF0oLi9iaW9zY2hlbWFzdHlwZXMu\ndHh0KQotIFtgY3JlYXRpdmV3b3JrdHlwZXMudHh0YF0oLi9jcmVhdGl2ZXdv\ncmt0eXBlcy50eHQpCi0gW2BkZWZhdWx0X25hbWVzcGFjZXMudHh0YF0oLi9k\nZWZhdWx0X25hbWVzcGFjZXMudHh0KTogRXhjbHVkZWQgZHVyaW5nIGV2YWx1\nYXRpb24gb2YgdGhlIHNlbWFudGljIHZvY2FidWxhcnksIEZzRi1JMi0wMU0u\nCi0gW2BmaWxlX2Zvcm1hdHMuanNvbmBdKC4vZmlsZV9mb3JtYXRzLmpzb24p\nOiBEaWN0aW9uYXJ5IG9mIHNjaWVudGlmaWMgZmlsZSBmb3JtYXRzLiBVc2Vk\nIGluIGV2YWx1YXRpb24gb2YgUjEuMy0wMkQgdG8gY2hlY2sgdGhlIGZpbGUg\nZm9ybWF0IG9mIHRoZSBkYXRhLgotIFtgZ29vZ2xlX2NhY2hlLmRiYF0oLi9n\nb29nbGVfY2FjaGUuZGIpOiBVc2VkIGZvciBldmFsdWF0aW5nIEZzRi1GNC0w\nMU0gKHNlYXJjaGFiaWxpdHkgaW4gbWFqb3IgY2F0YWxvZ3VlcyBsaWtlIERh\ndGFDaXRlIHJlZ2lzdHJ5LCBHb29nbGUgRGF0YXNldCwgTWVuZGVsZXksIC4u\nLikuIEdvb2dsZSBEYXRhIHNlYXJjaCBpcyBxdWVyaWVkIGZvciBhIFBJRCBp\nbiBjb2x1bW4gYGdvb2dsZV9saW5rc2AuIEl0J3MgYSBkYXRhc2V0IHdpdGgg\nbWV0YWRhdGEgYWJvdXQgZGF0YXNldHMgdGhhdCBoYXZlIGEgRE9JIG9yIHBl\ncnNpc3RlbnQgaWRlbnRpZmllciBmcm9tIGBpZGVudGlmZXIub3JnYC4KLSBb\nYGlkZW50aWZpZXJzX29yZ19yZXNvbHZlcl9kYXRhLmpzb25gXSguL2lkZW50\naWZpZXJzX29yZ19yZXNvbHZlcl9kYXRhLmpzb24pOiBVc2VkIGluIFtgSWRl\nbnRpZmllckhlbHBlcmBdKGZ1amlfc2VydmVyL2hlbHBlci9pZGVudGlmaWVy\nX2hlbHBlci5weSkuCi0gW2Bqc29ubGRjb250ZXh0Lmpzb25gXSguL2pzb25s\nZGNvbnRleHQuanNvbikKLSBbYGxpY2Vuc2VzLmpzb25gXSguL2xpY2Vuc2Vz\nLmpzb24pOiBVc2VkIHRvIHBvcHVsYXRlIGBQcmVwcm9jZXNzb3IubGljZW5z\nZV9uYW1lc2AsIGEgbGlzdCBvZiBTUERYIGxpY2VuY2VzLiBVc2VkIGluIGV2\nYWx1YXRpb24gb2YgbGljZW5zZXMsIEZzRi1SMS4xLTAxTS4KLSBbYGxpbmtl\nZF92b2NhYi5qc29uYF0oLi9saW5rZWRfdm9jYWIuanNvbikKLSBbYGxvbmd0\nZXJtX2Zvcm1hdHMuanNvbmBdKC4vbG9uZ3Rlcm1fZm9ybWF0cy5qc29uKTog\nVGhpcyBpc24ndCB1c2VkIGFueSBtb3JlIChjb2RlIGlzIGNvbW1lbnRlZCBv\ndXQpLiBJbnN0ZWFkLCB0aGUgaW5mbyBzaG91bGQgYmUgcHVsbGVkIGZyb20g\nW2BmaWxlX2Zvcm1hdHMuanNvbmBdKC4vZmlsZV9mb3JtYXRzLmpzb24pLgot\nIFtgbWV0YWRhdGFfc3RhbmRhcmRzX3VyaXMuanNvbmBdKC4vbWV0YWRhdGFf\nc3RhbmRhcmRzX3VyaXMuanNvbikKLSBbYG1ldGFkYXRhX3N0YW5kYXJkcy5q\nc29uYF0oLi9tZXRhZGF0YV9zdGFuZGFyZHMuanNvbik6IFVzZWQgaW4gZXZh\nbHVhdGlvbiBvZiBjb21tdW5pdHkgbWV0YWRhdGEsIEZzRi1SMS4zLTAxTS4K\nLSBbYG9wZW5fZm9ybWF0cy5qc29uYF0oLi9vcGVuX2Zvcm1hdHMuanNvbik6\nIFRoaXMgaXNuJ3QgdXNlZCBhbnkgbW9yZSAoY29kZSBpcyBjb21tZW50ZWQg\nb3V0KS4gSW5zdGVhZCwgdGhlIGluZm8gc2hvdWxkIGJlIHB1bGxlZCBmcm9t\nIFtgZmlsZV9mb3JtYXRzLmpzb25gXSguL2ZpbGVfZm9ybWF0cy5qc29uKS4K\nLSBbYHJlcG9kb2lzLnlhbWxgXSguL3JlcG9kb2lzLnlhbWwpOiBET0lzIGZy\nb20gcmUzZGF0YSAoRGF0YWNpdGUpLgotIFtgUmVzb3VyY2VUeXBlcy50eHRg\nXSguL1Jlc291cmNlVHlwZXMudHh0KQotIFtgc3RhbmRhcmRfdXJpX3Byb3Rv\nY29scy5qc29uYF0oLi9zdGFuZGFyZF91cmlfcHJvdG9jb2xzLmpzb24pOiBV\nc2VkIGZvciBldmFsdWF0aW5nIGFjY2VzcyB0aHJvdWdoIHN0YW5kYXJkaXNl\nZCBwcm90b2NvbHMgKEZzRi1BMS0wM0QpLiBNYXBwaW5nIG9mIGFjcm9ueW0g\ndG8gbG9uZyBuYW1lIChlLmcuIEZUUCwgU0ZUUCwgSFRUUCBldGMuKQo=\n","encoding":"base64","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/data/README.md?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/60c2ccea32ac87650ca88aa034c00b64126bc5ab","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/data/README.md"}}' + headers: + Access-Control-Allow-Origin: + - '*' + Access-Control-Expose-Headers: + - ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset + Cache-Control: + - private, max-age=60, s-maxage=60 + Content-Encoding: + - gzip + Content-Security-Policy: + - default-src 'none' + Content-Type: + - application/json; charset=utf-8 + Date: + - Fri, 03 May 2024 13:42:24 GMT + ETag: + - W/"60c2ccea32ac87650ca88aa034c00b64126bc5ab" + Last-Modified: + - Fri, 03 May 2024 07:27:26 GMT + Referrer-Policy: + - origin-when-cross-origin, strict-origin-when-cross-origin + Server: + - GitHub.com + Strict-Transport-Security: + - max-age=31536000; includeSubdomains; preload + Transfer-Encoding: + - chunked + Vary: + - Accept, Authorization, Cookie, X-GitHub-OTP + - Accept-Encoding, Accept, X-Requested-With + X-Accepted-OAuth-Scopes: + - '' + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + X-GitHub-Media-Type: + - github.v3; format=json + X-GitHub-Request-Id: + - 77E7:2C51EE:36DDA6F:384C640:6634E9C0 + X-OAuth-Scopes: + - repo + X-RateLimit-Limit: + - '5000' + X-RateLimit-Remaining: + - '4724' + X-RateLimit-Reset: + - '1714744789' + X-RateLimit-Resource: + - core + X-RateLimit-Used: + - '276' + X-XSS-Protection: + - '0' + github-authentication-token-expiration: + - 2024-07-08 07:44:52 UTC + x-github-api-version-selected: + - '2022-11-28' + status: + code: 200 + message: OK +- request: + body: + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Authorization: + - token ghp_MASKED + Connection: + - keep-alive + User-Agent: + - PyGithub/Python + method: GET + uri: https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/data/linked_vocabs + response: + body: + string: '[{"name":"bioportal_ontologies.json","path":"fuji_server/data/linked_vocabs/bioportal_ontologies.json","sha":"4f7885edc73d00505e2c2d259befad996afcea11","size":230775,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/data/linked_vocabs/bioportal_ontologies.json?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/data/linked_vocabs/bioportal_ontologies.json","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/4f7885edc73d00505e2c2d259befad996afcea11","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/data/linked_vocabs/bioportal_ontologies.json","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/data/linked_vocabs/bioportal_ontologies.json?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/4f7885edc73d00505e2c2d259befad996afcea11","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/data/linked_vocabs/bioportal_ontologies.json"}},{"name":"bioregistry.json","path":"fuji_server/data/linked_vocabs/bioregistry.json","sha":"7530ace6db9b4d0c1d2ca369942de03d097072f2","size":2724015,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/data/linked_vocabs/bioregistry.json?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/data/linked_vocabs/bioregistry.json","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/7530ace6db9b4d0c1d2ca369942de03d097072f2","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/data/linked_vocabs/bioregistry.json","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/data/linked_vocabs/bioregistry.json?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/7530ace6db9b4d0c1d2ca369942de03d097072f2","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/data/linked_vocabs/bioregistry.json"}},{"name":"bioregistry_ontologies.json","path":"fuji_server/data/linked_vocabs/bioregistry_ontologies.json","sha":"0af1eeb605292dbace52b7ef4e7c2e63260852a2","size":1447737,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/data/linked_vocabs/bioregistry_ontologies.json?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/data/linked_vocabs/bioregistry_ontologies.json","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/0af1eeb605292dbace52b7ef4e7c2e63260852a2","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/data/linked_vocabs/bioregistry_ontologies.json","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/data/linked_vocabs/bioregistry_ontologies.json?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/0af1eeb605292dbace52b7ef4e7c2e63260852a2","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/data/linked_vocabs/bioregistry_ontologies.json"}},{"name":"cessda_ontologies.json","path":"fuji_server/data/linked_vocabs/cessda_ontologies.json","sha":"444db14156da8de5a8e615f0bc560cdfa29420f2","size":23972,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/data/linked_vocabs/cessda_ontologies.json?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/data/linked_vocabs/cessda_ontologies.json","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/444db14156da8de5a8e615f0bc560cdfa29420f2","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/data/linked_vocabs/cessda_ontologies.json","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/data/linked_vocabs/cessda_ontologies.json?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/444db14156da8de5a8e615f0bc560cdfa29420f2","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/data/linked_vocabs/cessda_ontologies.json"}},{"name":"fuji_ontologies.json","path":"fuji_server/data/linked_vocabs/fuji_ontologies.json","sha":"26a39014cd4665e141b73692fa491a6783bf697f","size":2076,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/data/linked_vocabs/fuji_ontologies.json?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/data/linked_vocabs/fuji_ontologies.json","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/26a39014cd4665e141b73692fa491a6783bf697f","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/data/linked_vocabs/fuji_ontologies.json","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/data/linked_vocabs/fuji_ontologies.json?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/26a39014cd4665e141b73692fa491a6783bf697f","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/data/linked_vocabs/fuji_ontologies.json"}},{"name":"gesis_ontologies.json","path":"fuji_server/data/linked_vocabs/gesis_ontologies.json","sha":"9536ed8bc2ebdda9f72bf30d0a41271519d85a91","size":1089,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/data/linked_vocabs/gesis_ontologies.json?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/data/linked_vocabs/gesis_ontologies.json","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/9536ed8bc2ebdda9f72bf30d0a41271519d85a91","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/data/linked_vocabs/gesis_ontologies.json","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/data/linked_vocabs/gesis_ontologies.json?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/9536ed8bc2ebdda9f72bf30d0a41271519d85a91","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/data/linked_vocabs/gesis_ontologies.json"}},{"name":"iso_ontologies.json","path":"fuji_server/data/linked_vocabs/iso_ontologies.json","sha":"8330735e718ab4521faa3aa9e49f3b5ccbe698f1","size":38477,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/data/linked_vocabs/iso_ontologies.json?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/data/linked_vocabs/iso_ontologies.json","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/8330735e718ab4521faa3aa9e49f3b5ccbe698f1","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/data/linked_vocabs/iso_ontologies.json","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/data/linked_vocabs/iso_ontologies.json?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/8330735e718ab4521faa3aa9e49f3b5ccbe698f1","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/data/linked_vocabs/iso_ontologies.json"}},{"name":"lov_ontologies.json","path":"fuji_server/data/linked_vocabs/lov_ontologies.json","sha":"81abdbb06fc4cdc0be26bc9daf57e601bdd5bf60","size":469174,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/data/linked_vocabs/lov_ontologies.json?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/data/linked_vocabs/lov_ontologies.json","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/81abdbb06fc4cdc0be26bc9daf57e601bdd5bf60","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/data/linked_vocabs/lov_ontologies.json","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/data/linked_vocabs/lov_ontologies.json?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/81abdbb06fc4cdc0be26bc9daf57e601bdd5bf60","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/data/linked_vocabs/lov_ontologies.json"}},{"name":"mmisw_ontologies.json","path":"fuji_server/data/linked_vocabs/mmisw_ontologies.json","sha":"0967ef424bce6791893e9a57bb952f80fd536e93","size":3,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/data/linked_vocabs/mmisw_ontologies.json?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/data/linked_vocabs/mmisw_ontologies.json","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/0967ef424bce6791893e9a57bb952f80fd536e93","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/data/linked_vocabs/mmisw_ontologies.json","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/data/linked_vocabs/mmisw_ontologies.json?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/0967ef424bce6791893e9a57bb952f80fd536e93","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/data/linked_vocabs/mmisw_ontologies.json"}},{"name":"sdn_ontologies.json","path":"fuji_server/data/linked_vocabs/sdn_ontologies.json","sha":"285b25cf1d04a639ff0f9545c8157382892762ee","size":179584,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/data/linked_vocabs/sdn_ontologies.json?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/data/linked_vocabs/sdn_ontologies.json","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/285b25cf1d04a639ff0f9545c8157382892762ee","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/data/linked_vocabs/sdn_ontologies.json","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/data/linked_vocabs/sdn_ontologies.json?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/285b25cf1d04a639ff0f9545c8157382892762ee","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/data/linked_vocabs/sdn_ontologies.json"}},{"name":"sweet_ontologies.json","path":"fuji_server/data/linked_vocabs/sweet_ontologies.json","sha":"3463135bb7cedc55202d9e17d6bc1ce74d62d06d","size":73558,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/data/linked_vocabs/sweet_ontologies.json?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/data/linked_vocabs/sweet_ontologies.json","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/3463135bb7cedc55202d9e17d6bc1ce74d62d06d","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/data/linked_vocabs/sweet_ontologies.json","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/data/linked_vocabs/sweet_ontologies.json?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/3463135bb7cedc55202d9e17d6bc1ce74d62d06d","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/data/linked_vocabs/sweet_ontologies.json"}}]' + headers: + Access-Control-Allow-Origin: + - '*' + Access-Control-Expose-Headers: + - ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset + Cache-Control: + - private, max-age=60, s-maxage=60 + Content-Encoding: + - gzip + Content-Security-Policy: + - default-src 'none' + Content-Type: + - application/json; charset=utf-8 + Date: + - Fri, 03 May 2024 13:42:24 GMT + ETag: + - W/"ebba17509a44e60e09b57a6d211021b3ca0688d2" + Last-Modified: + - Fri, 03 May 2024 07:27:29 GMT + Referrer-Policy: + - origin-when-cross-origin, strict-origin-when-cross-origin + Server: + - GitHub.com + Strict-Transport-Security: + - max-age=31536000; includeSubdomains; preload + Transfer-Encoding: + - chunked + Vary: + - Accept, Authorization, Cookie, X-GitHub-OTP + - Accept-Encoding, Accept, X-Requested-With + X-Accepted-OAuth-Scopes: + - '' + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + X-GitHub-Media-Type: + - github.v3; format=json + X-GitHub-Request-Id: + - 293F:20215B:36FA1A5:3868E11:6634E9C0 + X-OAuth-Scopes: + - repo + X-RateLimit-Limit: + - '5000' + X-RateLimit-Remaining: + - '4723' + X-RateLimit-Reset: + - '1714744789' + X-RateLimit-Resource: + - core + X-RateLimit-Used: + - '277' + X-XSS-Protection: + - '0' + github-authentication-token-expiration: + - 2024-07-08 07:44:52 UTC + x-github-api-version-selected: + - '2022-11-28' + status: + code: 200 + message: OK +- request: + body: + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Authorization: + - token ghp_MASKED + Connection: + - keep-alive + User-Agent: + - PyGithub/Python + method: GET + uri: https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/license.py?ref=master + response: + body: + string: '{"name":"license.py","path":"fuji_server/models/license.py","sha":"66b839e774646a0cdc378c0fdce3df5de3b15d45","size":8623,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/license.py?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/license.py","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/66b839e774646a0cdc378c0fdce3df5de3b15d45","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/fuji_server/models/license.py","type":"file","content":"IyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiAyMDIwIFBBTkdBRUEgKGh0dHBz\nOi8vd3d3LnBhbmdhZWEuZGUvKQojCiMgU1BEWC1MaWNlbnNlLUlkZW50aWZp\nZXI6IE1JVAoKIyBjb2Rpbmc6IHV0Zi04Cgpmcm9tIGRhdGV0aW1lIGltcG9y\ndCBkYXRlLCBkYXRldGltZSAgIyBub3FhOiBGNDAxCgpmcm9tIGZ1amlfc2Vy\ndmVyIGltcG9ydCB1dGlsCmZyb20gZnVqaV9zZXJ2ZXIubW9kZWxzLmJhc2Vf\nbW9kZWxfIGltcG9ydCBNb2RlbApmcm9tIGZ1amlfc2VydmVyLm1vZGVscy5k\nZWJ1ZyBpbXBvcnQgRGVidWcKZnJvbSBmdWppX3NlcnZlci5tb2RlbHMuZmFp\ncl9yZXN1bHRfY29tbW9uIGltcG9ydCBGQUlSUmVzdWx0Q29tbW9uICAjIG5v\ncWE6IEY0MDEKZnJvbSBmdWppX3NlcnZlci5tb2RlbHMuZmFpcl9yZXN1bHRf\nY29tbW9uX3Njb3JlIGltcG9ydCBGQUlSUmVzdWx0Q29tbW9uU2NvcmUKZnJv\nbSBmdWppX3NlcnZlci5tb2RlbHMuZmFpcl9yZXN1bHRfZXZhbHVhdGlvbl9j\ncml0ZXJpdW0gaW1wb3J0IEZBSVJSZXN1bHRFdmFsdWF0aW9uQ3JpdGVyaXVt\nCmZyb20gZnVqaV9zZXJ2ZXIubW9kZWxzLmxpY2Vuc2Vfb3V0cHV0IGltcG9y\ndCBMaWNlbnNlT3V0cHV0CgoKY2xhc3MgTGljZW5zZShNb2RlbCk6CiAgICAi\nIiJOT1RFOiBUaGlzIGNsYXNzIGlzIGF1dG8gZ2VuZXJhdGVkIGJ5IHRoZSBz\nd2FnZ2VyIGNvZGUgZ2VuZXJhdG9yIHByb2dyYW0uCgogICAgRG8gbm90IGVk\naXQgdGhlIGNsYXNzIG1hbnVhbGx5LgogICAgIiIiCgogICAgZGVmIF9faW5p\ndF9fKAogICAgICAgIHNlbGYsCiAgICAgICAgaWQ6IGludCB8IE5vbmUgPSBO\nb25lLAogICAgICAgIG1ldHJpY19pZGVudGlmaWVyOiBzdHIgfCBOb25lID0g\nTm9uZSwKICAgICAgICBtZXRyaWNfbmFtZTogc3RyIHwgTm9uZSA9IE5vbmUs\nCiAgICAgICAgbWV0cmljX3Rlc3RzOiBkaWN0W3N0ciwgRkFJUlJlc3VsdEV2\nYWx1YXRpb25Dcml0ZXJpdW1dIHwgTm9uZSA9IE5vbmUsCiAgICAgICAgdGVz\ndF9zdGF0dXM6IHN0ciA9ICJmYWlsIiwKICAgICAgICBzY29yZTogRkFJUlJl\nc3VsdENvbW1vblNjb3JlID0gTm9uZSwKICAgICAgICBtYXR1cml0eTogaW50\nID0gMCwKICAgICAgICBvdXRwdXQ6IExpY2Vuc2VPdXRwdXQgPSBOb25lLAog\nICAgICAgIHRlc3RfZGVidWc6IERlYnVnID0gTm9uZSwKICAgICk6CiAgICAg\nICAgIiIiTGljZW5zZSAtIGEgbW9kZWwgZGVmaW5lZCBpbiBTd2FnZ2VyCgog\nICAgICAgIDpwYXJhbSBpZDogVGhlIGlkIG9mIHRoaXMgTGljZW5zZS4gICMg\nbm9xYTogRTUwMQogICAgICAgIDp0eXBlIGlkOiBpbnQKICAgICAgICA6cGFy\nYW0gbWV0cmljX2lkZW50aWZpZXI6IFRoZSBtZXRyaWNfaWRlbnRpZmllciBv\nZiB0aGlzIExpY2Vuc2UuICAjIG5vcWE6IEU1MDEKICAgICAgICA6dHlwZSBt\nZXRyaWNfaWRlbnRpZmllcjogc3RyCiAgICAgICAgOnBhcmFtIG1ldHJpY19u\nYW1lOiBUaGUgbWV0cmljX25hbWUgb2YgdGhpcyBMaWNlbnNlLiAgIyBub3Fh\nOiBFNTAxCiAgICAgICAgOnR5cGUgbWV0cmljX25hbWU6IHN0cgogICAgICAg\nIDpwYXJhbSBtZXRyaWNfdGVzdHM6IFRoZSBtZXRyaWNfdGVzdHMgb2YgdGhp\ncyBMaWNlbnNlLiAgIyBub3FhOiBFNTAxCiAgICAgICAgOnR5cGUgbWV0cmlj\nX3Rlc3RzOiBEaWN0W3N0ciwgRkFJUlJlc3VsdEV2YWx1YXRpb25Dcml0ZXJp\ndW1dCiAgICAgICAgOnBhcmFtIHRlc3Rfc3RhdHVzOiBUaGUgdGVzdF9zdGF0\ndXMgb2YgdGhpcyBMaWNlbnNlLiAgIyBub3FhOiBFNTAxCiAgICAgICAgOnR5\ncGUgdGVzdF9zdGF0dXM6IHN0cgogICAgICAgIDpwYXJhbSBzY29yZTogVGhl\nIHNjb3JlIG9mIHRoaXMgTGljZW5zZS4gICMgbm9xYTogRTUwMQogICAgICAg\nIDp0eXBlIHNjb3JlOiBGQUlSUmVzdWx0Q29tbW9uU2NvcmUKICAgICAgICA6\ncGFyYW0gbWF0dXJpdHk6IFRoZSBtYXR1cml0eSBvZiB0aGlzIExpY2Vuc2Uu\nICAjIG5vcWE6IEU1MDEKICAgICAgICA6dHlwZSBtYXR1cml0eTogaW50CiAg\nICAgICAgOnBhcmFtIG91dHB1dDogVGhlIG91dHB1dCBvZiB0aGlzIExpY2Vu\nc2UuICAjIG5vcWE6IEU1MDEKICAgICAgICA6dHlwZSBvdXRwdXQ6IExpY2Vu\nc2VPdXRwdXQKICAgICAgICA6cGFyYW0gdGVzdF9kZWJ1ZzogVGhlIHRlc3Rf\nZGVidWcgb2YgdGhpcyBMaWNlbnNlLiAgIyBub3FhOiBFNTAxCiAgICAgICAg\nOnR5cGUgdGVzdF9kZWJ1ZzogRGVidWcKICAgICAgICAiIiIKICAgICAgICBz\nZWxmLnN3YWdnZXJfdHlwZXMgPSB7CiAgICAgICAgICAgICJpZCI6IGludCwK\nICAgICAgICAgICAgIm1ldHJpY19pZGVudGlmaWVyIjogc3RyLAogICAgICAg\nICAgICAibWV0cmljX25hbWUiOiBzdHIsCiAgICAgICAgICAgICJtZXRyaWNf\ndGVzdHMiOiBkaWN0W3N0ciwgRkFJUlJlc3VsdEV2YWx1YXRpb25Dcml0ZXJp\ndW1dLAogICAgICAgICAgICAidGVzdF9zdGF0dXMiOiBzdHIsCiAgICAgICAg\nICAgICJzY29yZSI6IEZBSVJSZXN1bHRDb21tb25TY29yZSwKICAgICAgICAg\nICAgIm1hdHVyaXR5IjogaW50LAogICAgICAgICAgICAib3V0cHV0IjogTGlj\nZW5zZU91dHB1dCwKICAgICAgICAgICAgInRlc3RfZGVidWciOiBEZWJ1ZywK\nICAgICAgICB9CgogICAgICAgIHNlbGYuYXR0cmlidXRlX21hcCA9IHsKICAg\nICAgICAgICAgImlkIjogImlkIiwKICAgICAgICAgICAgIm1ldHJpY19pZGVu\ndGlmaWVyIjogIm1ldHJpY19pZGVudGlmaWVyIiwKICAgICAgICAgICAgIm1l\ndHJpY19uYW1lIjogIm1ldHJpY19uYW1lIiwKICAgICAgICAgICAgIm1ldHJp\nY190ZXN0cyI6ICJtZXRyaWNfdGVzdHMiLAogICAgICAgICAgICAidGVzdF9z\ndGF0dXMiOiAidGVzdF9zdGF0dXMiLAogICAgICAgICAgICAic2NvcmUiOiAi\nc2NvcmUiLAogICAgICAgICAgICAibWF0dXJpdHkiOiAibWF0dXJpdHkiLAog\nICAgICAgICAgICAib3V0cHV0IjogIm91dHB1dCIsCiAgICAgICAgICAgICJ0\nZXN0X2RlYnVnIjogInRlc3RfZGVidWciLAogICAgICAgIH0KICAgICAgICBz\nZWxmLl9pZCA9IGlkCiAgICAgICAgc2VsZi5fbWV0cmljX2lkZW50aWZpZXIg\nPSBtZXRyaWNfaWRlbnRpZmllcgogICAgICAgIHNlbGYuX21ldHJpY19uYW1l\nID0gbWV0cmljX25hbWUKICAgICAgICBzZWxmLl9tZXRyaWNfdGVzdHMgPSBt\nZXRyaWNfdGVzdHMKICAgICAgICBzZWxmLl90ZXN0X3N0YXR1cyA9IHRlc3Rf\nc3RhdHVzCiAgICAgICAgc2VsZi5fc2NvcmUgPSBzY29yZQogICAgICAgIHNl\nbGYuX21hdHVyaXR5ID0gbWF0dXJpdHkKICAgICAgICBzZWxmLl9vdXRwdXQg\nPSBvdXRwdXQKICAgICAgICBzZWxmLl90ZXN0X2RlYnVnID0gdGVzdF9kZWJ1\nZwoKICAgIEBjbGFzc21ldGhvZAogICAgZGVmIGZyb21fZGljdChjbHMsIGRp\na3QpIC0+ICJMaWNlbnNlIjoKICAgICAgICAiIiJSZXR1cm5zIHRoZSBkaWN0\nIGFzIGEgbW9kZWwKCiAgICAgICAgOnBhcmFtIGRpa3Q6IEEgZGljdC4KICAg\nICAgICA6dHlwZTogZGljdAogICAgICAgIDpyZXR1cm46IFRoZSBMaWNlbnNl\nIG9mIHRoaXMgTGljZW5zZS4gICMgbm9xYTogRTUwMQogICAgICAgIDpydHlw\nZTogTGljZW5zZQogICAgICAgICIiIgogICAgICAgIHJldHVybiB1dGlsLmRl\nc2VyaWFsaXplX21vZGVsKGRpa3QsIGNscykKCiAgICBAcHJvcGVydHkKICAg\nIGRlZiBpZChzZWxmKSAtPiBpbnQ6CiAgICAgICAgIiIiR2V0cyB0aGUgaWQg\nb2YgdGhpcyBMaWNlbnNlLgoKCiAgICAgICAgOnJldHVybjogVGhlIGlkIG9m\nIHRoaXMgTGljZW5zZS4KICAgICAgICA6cnR5cGU6IGludAogICAgICAgICIi\nIgogICAgICAgIHJldHVybiBzZWxmLl9pZAoKICAgIEBpZC5zZXR0ZXIKICAg\nIGRlZiBpZChzZWxmLCBpZDogaW50KToKICAgICAgICAiIiJTZXRzIHRoZSBp\nZCBvZiB0aGlzIExpY2Vuc2UuCgoKICAgICAgICA6cGFyYW0gaWQ6IFRoZSBp\nZCBvZiB0aGlzIExpY2Vuc2UuCiAgICAgICAgOnR5cGUgaWQ6IGludAogICAg\nICAgICIiIgogICAgICAgIGlmIGlkIGlzIE5vbmU6CiAgICAgICAgICAgIHJh\naXNlIFZhbHVlRXJyb3IoIkludmFsaWQgdmFsdWUgZm9yIGBpZGAsIG11c3Qg\nbm90IGJlIGBOb25lYCIpCgogICAgICAgIHNlbGYuX2lkID0gaWQKCiAgICBA\ncHJvcGVydHkKICAgIGRlZiBtZXRyaWNfaWRlbnRpZmllcihzZWxmKSAtPiBz\ndHI6CiAgICAgICAgIiIiR2V0cyB0aGUgbWV0cmljX2lkZW50aWZpZXIgb2Yg\ndGhpcyBMaWNlbnNlLgoKCiAgICAgICAgOnJldHVybjogVGhlIG1ldHJpY19p\nZGVudGlmaWVyIG9mIHRoaXMgTGljZW5zZS4KICAgICAgICA6cnR5cGU6IHN0\ncgogICAgICAgICIiIgogICAgICAgIHJldHVybiBzZWxmLl9tZXRyaWNfaWRl\nbnRpZmllcgoKICAgIEBtZXRyaWNfaWRlbnRpZmllci5zZXR0ZXIKICAgIGRl\nZiBtZXRyaWNfaWRlbnRpZmllcihzZWxmLCBtZXRyaWNfaWRlbnRpZmllcjog\nc3RyKToKICAgICAgICAiIiJTZXRzIHRoZSBtZXRyaWNfaWRlbnRpZmllciBv\nZiB0aGlzIExpY2Vuc2UuCgoKICAgICAgICA6cGFyYW0gbWV0cmljX2lkZW50\naWZpZXI6IFRoZSBtZXRyaWNfaWRlbnRpZmllciBvZiB0aGlzIExpY2Vuc2Uu\nCiAgICAgICAgOnR5cGUgbWV0cmljX2lkZW50aWZpZXI6IHN0cgogICAgICAg\nICIiIgogICAgICAgIGlmIG1ldHJpY19pZGVudGlmaWVyIGlzIE5vbmU6CiAg\nICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIkludmFsaWQgdmFsdWUgZm9y\nIGBtZXRyaWNfaWRlbnRpZmllcmAsIG11c3Qgbm90IGJlIGBOb25lYCIpCgog\nICAgICAgIHNlbGYuX21ldHJpY19pZGVudGlmaWVyID0gbWV0cmljX2lkZW50\naWZpZXIKCiAgICBAcHJvcGVydHkKICAgIGRlZiBtZXRyaWNfbmFtZShzZWxm\nKSAtPiBzdHI6CiAgICAgICAgIiIiR2V0cyB0aGUgbWV0cmljX25hbWUgb2Yg\ndGhpcyBMaWNlbnNlLgoKCiAgICAgICAgOnJldHVybjogVGhlIG1ldHJpY19u\nYW1lIG9mIHRoaXMgTGljZW5zZS4KICAgICAgICA6cnR5cGU6IHN0cgogICAg\nICAgICIiIgogICAgICAgIHJldHVybiBzZWxmLl9tZXRyaWNfbmFtZQoKICAg\nIEBtZXRyaWNfbmFtZS5zZXR0ZXIKICAgIGRlZiBtZXRyaWNfbmFtZShzZWxm\nLCBtZXRyaWNfbmFtZTogc3RyKToKICAgICAgICAiIiJTZXRzIHRoZSBtZXRy\naWNfbmFtZSBvZiB0aGlzIExpY2Vuc2UuCgoKICAgICAgICA6cGFyYW0gbWV0\ncmljX25hbWU6IFRoZSBtZXRyaWNfbmFtZSBvZiB0aGlzIExpY2Vuc2UuCiAg\nICAgICAgOnR5cGUgbWV0cmljX25hbWU6IHN0cgogICAgICAgICIiIgogICAg\nICAgIGlmIG1ldHJpY19uYW1lIGlzIE5vbmU6CiAgICAgICAgICAgIHJhaXNl\nIFZhbHVlRXJyb3IoIkludmFsaWQgdmFsdWUgZm9yIGBtZXRyaWNfbmFtZWAs\nIG11c3Qgbm90IGJlIGBOb25lYCIpCgogICAgICAgIHNlbGYuX21ldHJpY19u\nYW1lID0gbWV0cmljX25hbWUKCiAgICBAcHJvcGVydHkKICAgIGRlZiBtZXRy\naWNfdGVzdHMoc2VsZikgLT4gZGljdFtzdHIsIEZBSVJSZXN1bHRFdmFsdWF0\naW9uQ3JpdGVyaXVtXToKICAgICAgICAiIiJHZXRzIHRoZSBtZXRyaWNfdGVz\ndHMgb2YgdGhpcyBMaWNlbnNlLgoKCiAgICAgICAgOnJldHVybjogVGhlIG1l\ndHJpY190ZXN0cyBvZiB0aGlzIExpY2Vuc2UuCiAgICAgICAgOnJ0eXBlOiBE\naWN0W3N0ciwgRkFJUlJlc3VsdEV2YWx1YXRpb25Dcml0ZXJpdW1dCiAgICAg\nICAgIiIiCiAgICAgICAgcmV0dXJuIHNlbGYuX21ldHJpY190ZXN0cwoKICAg\nIEBtZXRyaWNfdGVzdHMuc2V0dGVyCiAgICBkZWYgbWV0cmljX3Rlc3RzKHNl\nbGYsIG1ldHJpY190ZXN0czogZGljdFtzdHIsIEZBSVJSZXN1bHRFdmFsdWF0\naW9uQ3JpdGVyaXVtXSk6CiAgICAgICAgIiIiU2V0cyB0aGUgbWV0cmljX3Rl\nc3RzIG9mIHRoaXMgTGljZW5zZS4KCgogICAgICAgIDpwYXJhbSBtZXRyaWNf\ndGVzdHM6IFRoZSBtZXRyaWNfdGVzdHMgb2YgdGhpcyBMaWNlbnNlLgogICAg\nICAgIDp0eXBlIG1ldHJpY190ZXN0czogRGljdFtzdHIsIEZBSVJSZXN1bHRF\ndmFsdWF0aW9uQ3JpdGVyaXVtXQogICAgICAgICIiIgoKICAgICAgICBzZWxm\nLl9tZXRyaWNfdGVzdHMgPSBtZXRyaWNfdGVzdHMKCiAgICBAcHJvcGVydHkK\nICAgIGRlZiB0ZXN0X3N0YXR1cyhzZWxmKSAtPiBzdHI6CiAgICAgICAgIiIi\nR2V0cyB0aGUgdGVzdF9zdGF0dXMgb2YgdGhpcyBMaWNlbnNlLgoKCiAgICAg\nICAgOnJldHVybjogVGhlIHRlc3Rfc3RhdHVzIG9mIHRoaXMgTGljZW5zZS4K\nICAgICAgICA6cnR5cGU6IHN0cgogICAgICAgICIiIgogICAgICAgIHJldHVy\nbiBzZWxmLl90ZXN0X3N0YXR1cwoKICAgIEB0ZXN0X3N0YXR1cy5zZXR0ZXIK\nICAgIGRlZiB0ZXN0X3N0YXR1cyhzZWxmLCB0ZXN0X3N0YXR1czogc3RyKToK\nICAgICAgICAiIiJTZXRzIHRoZSB0ZXN0X3N0YXR1cyBvZiB0aGlzIExpY2Vu\nc2UuCgoKICAgICAgICA6cGFyYW0gdGVzdF9zdGF0dXM6IFRoZSB0ZXN0X3N0\nYXR1cyBvZiB0aGlzIExpY2Vuc2UuCiAgICAgICAgOnR5cGUgdGVzdF9zdGF0\ndXM6IHN0cgogICAgICAgICIiIgogICAgICAgIGFsbG93ZWRfdmFsdWVzID0g\nWyJwYXNzIiwgImZhaWwiLCAiaW5kZXRlcm1pbmF0ZSJdCiAgICAgICAgaWYg\ndGVzdF9zdGF0dXMgbm90IGluIGFsbG93ZWRfdmFsdWVzOgogICAgICAgICAg\nICByYWlzZSBWYWx1ZUVycm9yKGYiSW52YWxpZCB2YWx1ZSBmb3IgYHRlc3Rf\nc3RhdHVzYCAoe3Rlc3Rfc3RhdHVzfSksIG11c3QgYmUgb25lIG9mIHthbGxv\nd2VkX3ZhbHVlc30iKQoKICAgICAgICBzZWxmLl90ZXN0X3N0YXR1cyA9IHRl\nc3Rfc3RhdHVzCgogICAgQHByb3BlcnR5CiAgICBkZWYgc2NvcmUoc2VsZikg\nLT4gRkFJUlJlc3VsdENvbW1vblNjb3JlOgogICAgICAgICIiIkdldHMgdGhl\nIHNjb3JlIG9mIHRoaXMgTGljZW5zZS4KCgogICAgICAgIDpyZXR1cm46IFRo\nZSBzY29yZSBvZiB0aGlzIExpY2Vuc2UuCiAgICAgICAgOnJ0eXBlOiBGQUlS\nUmVzdWx0Q29tbW9uU2NvcmUKICAgICAgICAiIiIKICAgICAgICByZXR1cm4g\nc2VsZi5fc2NvcmUKCiAgICBAc2NvcmUuc2V0dGVyCiAgICBkZWYgc2NvcmUo\nc2VsZiwgc2NvcmU6IEZBSVJSZXN1bHRDb21tb25TY29yZSk6CiAgICAgICAg\nIiIiU2V0cyB0aGUgc2NvcmUgb2YgdGhpcyBMaWNlbnNlLgoKCiAgICAgICAg\nOnBhcmFtIHNjb3JlOiBUaGUgc2NvcmUgb2YgdGhpcyBMaWNlbnNlLgogICAg\nICAgIDp0eXBlIHNjb3JlOiBGQUlSUmVzdWx0Q29tbW9uU2NvcmUKICAgICAg\nICAiIiIKICAgICAgICBpZiBzY29yZSBpcyBOb25lOgogICAgICAgICAgICBy\nYWlzZSBWYWx1ZUVycm9yKCJJbnZhbGlkIHZhbHVlIGZvciBgc2NvcmVgLCBt\ndXN0IG5vdCBiZSBgTm9uZWAiKQoKICAgICAgICBzZWxmLl9zY29yZSA9IHNj\nb3JlCgogICAgQHByb3BlcnR5CiAgICBkZWYgbWF0dXJpdHkoc2VsZikgLT4g\naW50OgogICAgICAgICIiIkdldHMgdGhlIG1hdHVyaXR5IG9mIHRoaXMgTGlj\nZW5zZS4KCgogICAgICAgIDpyZXR1cm46IFRoZSBtYXR1cml0eSBvZiB0aGlz\nIExpY2Vuc2UuCiAgICAgICAgOnJ0eXBlOiBpbnQKICAgICAgICAiIiIKICAg\nICAgICByZXR1cm4gc2VsZi5fbWF0dXJpdHkKCiAgICBAbWF0dXJpdHkuc2V0\ndGVyCiAgICBkZWYgbWF0dXJpdHkoc2VsZiwgbWF0dXJpdHk6IGludCk6CiAg\nICAgICAgIiIiU2V0cyB0aGUgbWF0dXJpdHkgb2YgdGhpcyBMaWNlbnNlLgoK\nCiAgICAgICAgOnBhcmFtIG1hdHVyaXR5OiBUaGUgbWF0dXJpdHkgb2YgdGhp\ncyBMaWNlbnNlLgogICAgICAgIDp0eXBlIG1hdHVyaXR5OiBpbnQKICAgICAg\nICAiIiIKCiAgICAgICAgc2VsZi5fbWF0dXJpdHkgPSBtYXR1cml0eQoKICAg\nIEBwcm9wZXJ0eQogICAgZGVmIG91dHB1dChzZWxmKSAtPiBMaWNlbnNlT3V0\ncHV0OgogICAgICAgICIiIkdldHMgdGhlIG91dHB1dCBvZiB0aGlzIExpY2Vu\nc2UuCgoKICAgICAgICA6cmV0dXJuOiBUaGUgb3V0cHV0IG9mIHRoaXMgTGlj\nZW5zZS4KICAgICAgICA6cnR5cGU6IExpY2Vuc2VPdXRwdXQKICAgICAgICAi\nIiIKICAgICAgICByZXR1cm4gc2VsZi5fb3V0cHV0CgogICAgQG91dHB1dC5z\nZXR0ZXIKICAgIGRlZiBvdXRwdXQoc2VsZiwgb3V0cHV0OiBMaWNlbnNlT3V0\ncHV0KToKICAgICAgICAiIiJTZXRzIHRoZSBvdXRwdXQgb2YgdGhpcyBMaWNl\nbnNlLgoKCiAgICAgICAgOnBhcmFtIG91dHB1dDogVGhlIG91dHB1dCBvZiB0\naGlzIExpY2Vuc2UuCiAgICAgICAgOnR5cGUgb3V0cHV0OiBMaWNlbnNlT3V0\ncHV0CiAgICAgICAgIiIiCgogICAgICAgIHNlbGYuX291dHB1dCA9IG91dHB1\ndAoKICAgIEBwcm9wZXJ0eQogICAgZGVmIHRlc3RfZGVidWcoc2VsZikgLT4g\nRGVidWc6CiAgICAgICAgIiIiR2V0cyB0aGUgdGVzdF9kZWJ1ZyBvZiB0aGlz\nIExpY2Vuc2UuCgoKICAgICAgICA6cmV0dXJuOiBUaGUgdGVzdF9kZWJ1ZyBv\nZiB0aGlzIExpY2Vuc2UuCiAgICAgICAgOnJ0eXBlOiBEZWJ1ZwogICAgICAg\nICIiIgogICAgICAgIHJldHVybiBzZWxmLl90ZXN0X2RlYnVnCgogICAgQHRl\nc3RfZGVidWcuc2V0dGVyCiAgICBkZWYgdGVzdF9kZWJ1ZyhzZWxmLCB0ZXN0\nX2RlYnVnOiBEZWJ1Zyk6CiAgICAgICAgIiIiU2V0cyB0aGUgdGVzdF9kZWJ1\nZyBvZiB0aGlzIExpY2Vuc2UuCgoKICAgICAgICA6cGFyYW0gdGVzdF9kZWJ1\nZzogVGhlIHRlc3RfZGVidWcgb2YgdGhpcyBMaWNlbnNlLgogICAgICAgIDp0\neXBlIHRlc3RfZGVidWc6IERlYnVnCiAgICAgICAgIiIiCgogICAgICAgIHNl\nbGYuX3Rlc3RfZGVidWcgPSB0ZXN0X2RlYnVnCg==\n","encoding":"base64","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/fuji_server/models/license.py?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/66b839e774646a0cdc378c0fdce3df5de3b15d45","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/fuji_server/models/license.py"}}' + headers: + Access-Control-Allow-Origin: + - '*' + Access-Control-Expose-Headers: + - ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset + Cache-Control: + - private, max-age=60, s-maxage=60 + Content-Encoding: + - gzip + Content-Security-Policy: + - default-src 'none' + Content-Type: + - application/json; charset=utf-8 + Date: + - Fri, 03 May 2024 13:42:25 GMT + ETag: + - W/"66b839e774646a0cdc378c0fdce3df5de3b15d45" + Last-Modified: + - Fri, 03 May 2024 07:27:26 GMT + Referrer-Policy: + - origin-when-cross-origin, strict-origin-when-cross-origin + Server: + - GitHub.com + Strict-Transport-Security: + - max-age=31536000; includeSubdomains; preload + Transfer-Encoding: + - chunked + Vary: + - Accept, Authorization, Cookie, X-GitHub-OTP + - Accept-Encoding, Accept, X-Requested-With + X-Accepted-OAuth-Scopes: + - '' + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + X-GitHub-Media-Type: + - github.v3; format=json + X-GitHub-Request-Id: + - 2941:202984:380B66D:397A33D:6634E9C1 + X-OAuth-Scopes: + - repo + X-RateLimit-Limit: + - '5000' + X-RateLimit-Remaining: + - '4722' + X-RateLimit-Reset: + - '1714744789' + X-RateLimit-Resource: + - core + X-RateLimit-Used: + - '278' + X-XSS-Protection: + - '0' + github-authentication-token-expiration: + - 2024-07-08 07:44:52 UTC + x-github-api-version-selected: + - '2022-11-28' + status: + code: 200 + message: OK +- request: + body: + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Authorization: + - token ghp_MASKED + Connection: + - keep-alive + User-Agent: + - PyGithub/Python + method: GET + uri: https://api.github.com/repos/pangaea-data-publisher/fuji/contents/simpleclient/icon/bootstrap + response: + body: + string: '[{"name":"question-circle.svg","path":"simpleclient/icon/bootstrap/question-circle.svg","sha":"cfb7c81c5f702f3f01ba4109841c7daced571d66","size":742,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/simpleclient/icon/bootstrap/question-circle.svg?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/simpleclient/icon/bootstrap/question-circle.svg","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/cfb7c81c5f702f3f01ba4109841c7daced571d66","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/simpleclient/icon/bootstrap/question-circle.svg","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/simpleclient/icon/bootstrap/question-circle.svg?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/cfb7c81c5f702f3f01ba4109841c7daced571d66","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/simpleclient/icon/bootstrap/question-circle.svg"}}]' + headers: + Access-Control-Allow-Origin: + - '*' + Access-Control-Expose-Headers: + - ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset + Cache-Control: + - private, max-age=60, s-maxage=60 + Content-Encoding: + - gzip + Content-Security-Policy: + - default-src 'none' + Content-Type: + - application/json; charset=utf-8 + Date: + - Fri, 03 May 2024 13:42:25 GMT + ETag: + - W/"ebba17509a44e60e09b57a6d211021b3ca0688d2" + Last-Modified: + - Fri, 03 May 2024 07:27:29 GMT + Referrer-Policy: + - origin-when-cross-origin, strict-origin-when-cross-origin + Server: + - GitHub.com + Strict-Transport-Security: + - max-age=31536000; includeSubdomains; preload + Transfer-Encoding: + - chunked + Vary: + - Accept, Authorization, Cookie, X-GitHub-OTP + - Accept-Encoding, Accept, X-Requested-With + X-Accepted-OAuth-Scopes: + - '' + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + X-GitHub-Media-Type: + - github.v3; format=json + X-GitHub-Request-Id: + - 77ED:3316FD:1E1B9FA:1EF0F51:6634E9C1 + X-OAuth-Scopes: + - repo + X-RateLimit-Limit: + - '5000' + X-RateLimit-Remaining: + - '4721' + X-RateLimit-Reset: + - '1714744789' + X-RateLimit-Resource: + - core + X-RateLimit-Used: + - '279' + X-XSS-Protection: + - '0' + github-authentication-token-expiration: + - 2024-07-08 07:44:52 UTC + x-github-api-version-selected: + - '2022-11-28' + status: + code: 200 + message: OK +- request: + body: + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Authorization: + - token ghp_MASKED + Connection: + - keep-alive + User-Agent: + - PyGithub/Python + method: GET + uri: https://api.github.com/repos/pangaea-data-publisher/fuji/contents/tests/controllers/cassettes + response: + body: + string: '[{"name":"test_fair_check","path":"tests/controllers/cassettes/test_fair_check","sha":"acd2d32792aabd1534fb89ff54165f660c3f107e","size":0,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/tests/controllers/cassettes/test_fair_check?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/tree/master/tests/controllers/cassettes/test_fair_check","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/acd2d32792aabd1534fb89ff54165f660c3f107e","download_url":null,"type":"dir","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/tests/controllers/cassettes/test_fair_check?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/acd2d32792aabd1534fb89ff54165f660c3f107e","html":"https://github.com/pangaea-data-publisher/fuji/tree/master/tests/controllers/cassettes/test_fair_check"}}]' + headers: + Access-Control-Allow-Origin: + - '*' + Access-Control-Expose-Headers: + - ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset + Cache-Control: + - private, max-age=60, s-maxage=60 + Content-Encoding: + - gzip + Content-Security-Policy: + - default-src 'none' + Content-Type: + - application/json; charset=utf-8 + Date: + - Fri, 03 May 2024 13:42:26 GMT + ETag: + - W/"ebba17509a44e60e09b57a6d211021b3ca0688d2" + Last-Modified: + - Fri, 03 May 2024 07:27:29 GMT + Referrer-Policy: + - origin-when-cross-origin, strict-origin-when-cross-origin + Server: + - GitHub.com + Strict-Transport-Security: + - max-age=31536000; includeSubdomains; preload + Transfer-Encoding: + - chunked + Vary: + - Accept, Authorization, Cookie, X-GitHub-OTP + - Accept-Encoding, Accept, X-Requested-With + X-Accepted-OAuth-Scopes: + - '' + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + X-GitHub-Media-Type: + - github.v3; format=json + X-GitHub-Request-Id: + - 9F44:2C3FB9:3627962:37965D9:6634E9C2 + X-OAuth-Scopes: + - repo + X-RateLimit-Limit: + - '5000' + X-RateLimit-Remaining: + - '4720' + X-RateLimit-Reset: + - '1714744789' + X-RateLimit-Resource: + - core + X-RateLimit-Used: + - '280' + X-XSS-Protection: + - '0' + github-authentication-token-expiration: + - 2024-07-08 07:44:52 UTC + x-github-api-version-selected: + - '2022-11-28' + status: + code: 200 + message: OK +- request: + body: + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Authorization: + - token ghp_MASKED + Connection: + - keep-alive + User-Agent: + - PyGithub/Python + method: GET + uri: https://api.github.com/repos/pangaea-data-publisher/fuji/contents/tests/functional/cassettes + response: + body: + string: '[{"name":"test_evaluation","path":"tests/functional/cassettes/test_evaluation","sha":"d043c2c9a85c038c1ebbf3c01331fcdd5311ec70","size":0,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/tests/functional/cassettes/test_evaluation?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/tree/master/tests/functional/cassettes/test_evaluation","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/d043c2c9a85c038c1ebbf3c01331fcdd5311ec70","download_url":null,"type":"dir","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/tests/functional/cassettes/test_evaluation?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/d043c2c9a85c038c1ebbf3c01331fcdd5311ec70","html":"https://github.com/pangaea-data-publisher/fuji/tree/master/tests/functional/cassettes/test_evaluation"}}]' + headers: + Access-Control-Allow-Origin: + - '*' + Access-Control-Expose-Headers: + - ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset + Cache-Control: + - private, max-age=60, s-maxage=60 + Content-Encoding: + - gzip + Content-Security-Policy: + - default-src 'none' + Content-Type: + - application/json; charset=utf-8 + Date: + - Fri, 03 May 2024 13:42:27 GMT + ETag: + - W/"ebba17509a44e60e09b57a6d211021b3ca0688d2" + Last-Modified: + - Fri, 03 May 2024 07:27:29 GMT + Referrer-Policy: + - origin-when-cross-origin, strict-origin-when-cross-origin + Server: + - GitHub.com + Strict-Transport-Security: + - max-age=31536000; includeSubdomains; preload + Transfer-Encoding: + - chunked + Vary: + - Accept, Authorization, Cookie, X-GitHub-OTP + - Accept-Encoding, Accept, X-Requested-With + X-Accepted-OAuth-Scopes: + - '' + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + X-GitHub-Media-Type: + - github.v3; format=json + X-GitHub-Request-Id: + - 9F46:20058F:363D876:37AC4E9:6634E9C2 + X-OAuth-Scopes: + - repo + X-RateLimit-Limit: + - '5000' + X-RateLimit-Remaining: + - '4719' + X-RateLimit-Reset: + - '1714744789' + X-RateLimit-Resource: + - core + X-RateLimit-Used: + - '281' + X-XSS-Protection: + - '0' + github-authentication-token-expiration: + - 2024-07-08 07:44:52 UTC + x-github-api-version-selected: + - '2022-11-28' + status: + code: 200 + message: OK +- request: + body: + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Authorization: + - token ghp_MASKED + Connection: + - keep-alive + User-Agent: + - PyGithub/Python + method: GET + uri: https://api.github.com/repos/pangaea-data-publisher/fuji/contents/tests/helper/cassettes + response: + body: + string: '[{"name":"test_preprocessor","path":"tests/helper/cassettes/test_preprocessor","sha":"9e76ace39e00b2a86b3237abb6d2072780cdc721","size":0,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/tests/helper/cassettes/test_preprocessor?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/tree/master/tests/helper/cassettes/test_preprocessor","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/9e76ace39e00b2a86b3237abb6d2072780cdc721","download_url":null,"type":"dir","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/tests/helper/cassettes/test_preprocessor?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/trees/9e76ace39e00b2a86b3237abb6d2072780cdc721","html":"https://github.com/pangaea-data-publisher/fuji/tree/master/tests/helper/cassettes/test_preprocessor"}}]' + headers: + Access-Control-Allow-Origin: + - '*' + Access-Control-Expose-Headers: + - ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset + Cache-Control: + - private, max-age=60, s-maxage=60 + Content-Encoding: + - gzip + Content-Security-Policy: + - default-src 'none' + Content-Type: + - application/json; charset=utf-8 + Date: + - Fri, 03 May 2024 13:42:27 GMT + ETag: + - W/"ebba17509a44e60e09b57a6d211021b3ca0688d2" + Last-Modified: + - Fri, 03 May 2024 07:27:29 GMT + Referrer-Policy: + - origin-when-cross-origin, strict-origin-when-cross-origin + Server: + - GitHub.com + Strict-Transport-Security: + - max-age=31536000; includeSubdomains; preload + Transfer-Encoding: + - chunked + Vary: + - Accept, Authorization, Cookie, X-GitHub-OTP + - Accept-Encoding, Accept, X-Requested-With + X-Accepted-OAuth-Scopes: + - '' + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + X-GitHub-Media-Type: + - github.v3; format=json + X-GitHub-Request-Id: + - 9F48:201833:362D90A:379C59F:6634E9C3 + X-OAuth-Scopes: + - repo + X-RateLimit-Limit: + - '5000' + X-RateLimit-Remaining: + - '4718' + X-RateLimit-Reset: + - '1714744789' + X-RateLimit-Resource: + - core + X-RateLimit-Used: + - '282' + X-XSS-Protection: + - '0' + github-authentication-token-expiration: + - 2024-07-08 07:44:52 UTC + x-github-api-version-selected: + - '2022-11-28' + status: + code: 200 + message: OK +- request: + body: + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Authorization: + - token ghp_MASKED + Connection: + - keep-alive + User-Agent: + - PyGithub/Python + method: GET + uri: https://api.github.com/repos/pangaea-data-publisher/fuji/contents/tests/controllers/cassettes/test_fair_check + response: + body: + string: '[{"name":"test_harvest_all_metadata.yaml","path":"tests/controllers/cassettes/test_fair_check/test_harvest_all_metadata.yaml","sha":"91ba6860f36c870027aa128aeefdbd042c5411a5","size":467282,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/tests/controllers/cassettes/test_fair_check/test_harvest_all_metadata.yaml?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/tests/controllers/cassettes/test_fair_check/test_harvest_all_metadata.yaml","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/91ba6860f36c870027aa128aeefdbd042c5411a5","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/tests/controllers/cassettes/test_fair_check/test_harvest_all_metadata.yaml","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/tests/controllers/cassettes/test_fair_check/test_harvest_all_metadata.yaml?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/91ba6860f36c870027aa128aeefdbd042c5411a5","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/tests/controllers/cassettes/test_fair_check/test_harvest_all_metadata.yaml"}}]' + headers: + Access-Control-Allow-Origin: + - '*' + Access-Control-Expose-Headers: + - ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset + Cache-Control: + - private, max-age=60, s-maxage=60 + Content-Encoding: + - gzip + Content-Security-Policy: + - default-src 'none' + Content-Type: + - application/json; charset=utf-8 + Date: + - Fri, 03 May 2024 13:42:28 GMT + ETag: + - W/"ebba17509a44e60e09b57a6d211021b3ca0688d2" + Last-Modified: + - Fri, 03 May 2024 07:27:29 GMT + Referrer-Policy: + - origin-when-cross-origin, strict-origin-when-cross-origin + Server: + - GitHub.com + Strict-Transport-Security: + - max-age=31536000; includeSubdomains; preload + Transfer-Encoding: + - chunked + Vary: + - Accept, Authorization, Cookie, X-GitHub-OTP + - Accept-Encoding, Accept, X-Requested-With + X-Accepted-OAuth-Scopes: + - '' + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + X-GitHub-Media-Type: + - github.v3; format=json + X-GitHub-Request-Id: + - 50A0:16999:126AB62:12E72EE:6634E9C3 + X-OAuth-Scopes: + - repo + X-RateLimit-Limit: + - '5000' + X-RateLimit-Remaining: + - '4717' + X-RateLimit-Reset: + - '1714744789' + X-RateLimit-Resource: + - core + X-RateLimit-Used: + - '283' + X-XSS-Protection: + - '0' + github-authentication-token-expiration: + - 2024-07-08 07:44:52 UTC + x-github-api-version-selected: + - '2022-11-28' + status: + code: 200 + message: OK +- request: + body: + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Authorization: + - token ghp_MASKED + Connection: + - keep-alive + User-Agent: + - PyGithub/Python + method: GET + uri: https://api.github.com/repos/pangaea-data-publisher/fuji/contents/tests/functional/cassettes/test_evaluation + response: + body: + string: '[{"name":"test_evaluation.yaml","path":"tests/functional/cassettes/test_evaluation/test_evaluation.yaml","sha":"3610ff6c443b08405a23e1aecb8123f3df82f1b2","size":251344,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/tests/functional/cassettes/test_evaluation/test_evaluation.yaml?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/tests/functional/cassettes/test_evaluation/test_evaluation.yaml","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/3610ff6c443b08405a23e1aecb8123f3df82f1b2","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/tests/functional/cassettes/test_evaluation/test_evaluation.yaml","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/tests/functional/cassettes/test_evaluation/test_evaluation.yaml?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/3610ff6c443b08405a23e1aecb8123f3df82f1b2","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/tests/functional/cassettes/test_evaluation/test_evaluation.yaml"}},{"name":"test_evaluation_software.yaml","path":"tests/functional/cassettes/test_evaluation/test_evaluation_software.yaml","sha":"afe91d07def6ae972e7636e23ab4ed0abf22413f","size":439021,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/tests/functional/cassettes/test_evaluation/test_evaluation_software.yaml?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/tests/functional/cassettes/test_evaluation/test_evaluation_software.yaml","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/afe91d07def6ae972e7636e23ab4ed0abf22413f","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/tests/functional/cassettes/test_evaluation/test_evaluation_software.yaml","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/tests/functional/cassettes/test_evaluation/test_evaluation_software.yaml?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/afe91d07def6ae972e7636e23ab4ed0abf22413f","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/tests/functional/cassettes/test_evaluation/test_evaluation_software.yaml"}}]' + headers: + Access-Control-Allow-Origin: + - '*' + Access-Control-Expose-Headers: + - ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset + Cache-Control: + - private, max-age=60, s-maxage=60 + Content-Encoding: + - gzip + Content-Security-Policy: + - default-src 'none' + Content-Type: + - application/json; charset=utf-8 + Date: + - Fri, 03 May 2024 13:42:28 GMT + ETag: + - W/"ebba17509a44e60e09b57a6d211021b3ca0688d2" + Last-Modified: + - Fri, 03 May 2024 07:27:29 GMT + Referrer-Policy: + - origin-when-cross-origin, strict-origin-when-cross-origin + Server: + - GitHub.com + Strict-Transport-Security: + - max-age=31536000; includeSubdomains; preload + Transfer-Encoding: + - chunked + Vary: + - Accept, Authorization, Cookie, X-GitHub-OTP + - Accept-Encoding, Accept, X-Requested-With + X-Accepted-OAuth-Scopes: + - '' + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - deny + X-GitHub-Media-Type: + - github.v3; format=json + X-GitHub-Request-Id: + - 9F4C:2C4AEA:368E90D:37FD58B:6634E9C4 + X-OAuth-Scopes: + - repo + X-RateLimit-Limit: + - '5000' + X-RateLimit-Remaining: + - '4716' + X-RateLimit-Reset: + - '1714744789' + X-RateLimit-Resource: + - core + X-RateLimit-Used: + - '284' + X-XSS-Protection: + - '0' + github-authentication-token-expiration: + - 2024-07-08 07:44:52 UTC + x-github-api-version-selected: + - '2022-11-28' + status: + code: 200 + message: OK +- request: + body: + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Authorization: + - token ghp_MASKED + Connection: + - keep-alive + User-Agent: + - PyGithub/Python + method: GET + uri: https://api.github.com/repos/pangaea-data-publisher/fuji/contents/tests/helper/cassettes/test_preprocessor + response: + body: + string: '[{"name":"test_set_mime_types.yaml","path":"tests/helper/cassettes/test_preprocessor/test_set_mime_types.yaml","sha":"e200ef507a027dea7c4a9955c3475d0ffa1e87ed","size":35181,"url":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/tests/helper/cassettes/test_preprocessor/test_set_mime_types.yaml?ref=master","html_url":"https://github.com/pangaea-data-publisher/fuji/blob/master/tests/helper/cassettes/test_preprocessor/test_set_mime_types.yaml","git_url":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/e200ef507a027dea7c4a9955c3475d0ffa1e87ed","download_url":"https://raw.githubusercontent.com/pangaea-data-publisher/fuji/master/tests/helper/cassettes/test_preprocessor/test_set_mime_types.yaml","type":"file","_links":{"self":"https://api.github.com/repos/pangaea-data-publisher/fuji/contents/tests/helper/cassettes/test_preprocessor/test_set_mime_types.yaml?ref=master","git":"https://api.github.com/repos/pangaea-data-publisher/fuji/git/blobs/e200ef507a027dea7c4a9955c3475d0ffa1e87ed","html":"https://github.com/pangaea-data-publisher/fuji/blob/master/tests/helper/cassettes/test_preprocessor/test_set_mime_types.yaml"}}]' + headers: + Access-Control-Allow-Origin: + - '*' + Access-Control-Expose-Headers: + - ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset + Cache-Control: + - private, max-age=60, s-maxage=60 + Content-Encoding: + - gzip + Content-Security-Policy: + - default-src 'none' + Content-Type: + - application/json; charset=utf-8 + Date: + - Fri, 03 May 2024 13:42:29 GMT + ETag: + - W/"ebba17509a44e60e09b57a6d211021b3ca0688d2" Last-Modified: - - Fri, 12 Jan 2024 09:49:41 GMT + - Fri, 03 May 2024 07:27:29 GMT Referrer-Policy: - origin-when-cross-origin, strict-origin-when-cross-origin Server: @@ -891,23 +4505,23 @@ interactions: X-GitHub-Media-Type: - github.v3; format=json X-GitHub-Request-Id: - - 7874:2E0C86:C5A8EA8:C7DB762:65A16604 + - 50A4:203DC:230E21:23E18C:6634E9C5 X-OAuth-Scopes: - repo X-RateLimit-Limit: - '5000' X-RateLimit-Remaining: - - '4958' + - '4715' X-RateLimit-Reset: - - '1705078320' + - '1714744789' X-RateLimit-Resource: - core X-RateLimit-Used: - - '42' + - '285' X-XSS-Protection: - '0' github-authentication-token-expiration: - - 2024-03-04 14:01:51 UTC + - 2024-07-08 07:44:52 UTC x-github-api-version-selected: - '2022-11-28' status: @@ -935,10 +4549,10 @@ interactions: method: POST uri: http://localhost:1071/fuji/api/v1/evaluate response: - content: "{\"test_id\": \"62b0753c8f4aa9c7c6dc7c433cdcbfb330edbd92\", \"request\": {\"object_identifier\": \"https://github.com/pangaea-data-publisher/fuji\", \"test_debug\": true, \"use_datacite\": true, \"use_github\": true, \"metric_version\": \"metrics_v0.7_software\"}, \"resolved_url\": \"https://github.com/pangaea-data-publisher/fuji\", \"start_timestamp\": \"2024-01-12T14:50:47Z\", \"end_timestamp\": \"2024-01-12T14:50:55Z\", \"metric_specification\": \"https://doi.org/10.5281/zenodo.6461229\", \"metric_version\": \"metrics_v0.7_software\", \"software_version\": \"3.1.1\", \"total_metrics\": 1, \"summary\": {\"score_earned\": {\"R\": 2, \"R1.1\": 2, \"FAIR\": 2.0}, \"score_total\": {\"R\": 3, \"R1.1\": 3, \"FAIR\": 3.0}, \"score_percent\": {\"R\": 66.67, \"R1.1\": 66.67, \"FAIR\": 66.67}, \"status_total\": {\"R1.1\": 1, \"R\": 1, \"FAIR\": 1}, \"status_passed\": {\"R1.1\": 1, \"R\": 1, \"FAIR\": 1}, \"maturity\": {\"R\": 3, \"R1.1\": 3, \"FAIR\": 1.0}}, \"results\": [{\"id\": 15, \"metric_identifier\": \"FRSM-15-R1.1\", \"metric_name\": \"The software source code includes licensing information for the software and any bundled external software.\", \"metric_tests\": {\"FRSM-15-R1.1-1\": {\"metric_test_name\": \"License file is included.\", \"metric_test_requirements\": [], \"metric_test_score\": {\"earned\": 1, \"total\": 1}, \"metric_test_maturity\": 1, \"metric_test_status\": \"pass\"}, \"FRSM-15-R1.1-2\": {\"metric_test_name\": \"The source code includes licensing information for all components bundled with that software.\", \"metric_test_requirements\": [], \"metric_test_score\": {\"earned\": 0, \"total\": 1}, \"metric_test_maturity\": 0, \"metric_test_status\": \"fail\"}, \"FRSM-15-R1.1-3\": {\"metric_test_name\": \"Recognized licence is in SPDX format.\", \"metric_test_requirements\": [], \"metric_test_score\": {\"earned\": 1, \"total\": 1}, \"metric_test_maturity\": 3, \"metric_test_status\": \"pass\"}}, \"test_status\": \"pass\", \"score\": {\"earned\": 2, \"total\": 3}, \"maturity\": 3, \"output\": [{\"license\": \"MIT License\", \"osi_approved\": true, \"details_url\": \"http://spdx.org/licenses/MIT.html\"}], \"test_debug\": [\"INFO: License verification name through SPDX registry -: MIT License\", \"INFO: Found SPDX license representation -: http://spdx.org/licenses/MIT.json\", \"SUCCESS: Found SPDX license representation (spdx url, osi_approved)\", \"INFO: This test is not defined in the metric YAML and therefore not performed -: FsF-R1.1-01M-1\", \"SUCCESS: Found licence information in metadata\", \"INFO: This test is not defined in the metric YAML and therefore not performed -: FsF-R1.1-01M-2\", \"INFO: Will consider all SPDX licenses as community specific licenses for FRSM-15-R1.1\", \"INFO: This test is not defined in the metric YAML and therefore not performed -: FRSM-15-R1.1-CESSDA-1\", \"WARNING: Test for license information of bundled components is not implemented.\", \"INFO: This test is not defined in the metric YAML and therefore not performed -: FRSM-15-R1.1-CESSDA-3\", \"INFO: This test is not defined in the metric YAML and therefore not performed -: FRSM-15-R1.1-CESSDA-2\"]}]}\n" + content: "{\"test_id\": \"62b0753c8f4aa9c7c6dc7c433cdcbfb330edbd92\", \"request\": {\"object_identifier\": \"https://github.com/pangaea-data-publisher/fuji\", \"test_debug\": true, \"use_datacite\": true, \"use_github\": true, \"metric_version\": \"metrics_v0.7_software\"}, \"resolved_url\": \"https://github.com/pangaea-data-publisher/fuji\", \"start_timestamp\": \"2024-05-03T14:42:02Z\", \"end_timestamp\": \"2024-05-03T14:42:33Z\", \"metric_specification\": \"https://doi.org/10.5281/zenodo.6461229\", \"metric_version\": \"metrics_v0.7_software\", \"software_version\": \"3.2.0\", \"total_metrics\": 17, \"summary\": {\"score_earned\": {\"A\": 0, \"F\": 0, \"I\": 0, \"R\": 4, \"A1\": 0, \"F1\": 0, \"F1.1\": 0, \"F1.2\": 0, \"F2\": 0, \"F3\": 0, \"F4\": 0, \"I1\": 0, \"I2\": 0, \"R1\": 0, \"R1.1\": 4, \"R1.2\": 0, \"FAIR\": 4.0}, \"score_total\": {\"A\": 2, \"F\": 20, \"I\": 7, \"R\": 16, \"A1\": 2, \"F1\": 3, \"F1.1\": 3, \"F1.2\": 3, \"F2\": 6, \"F3\": 2, \"F4\": 3, \"I1\": 6, \"I2\": 1, \"R1\": 8, \"R1.1\": 5, \"R1.2\": 3, \"FAIR\": 45.0}, \"score_percent\": {\"A\": 0.0, \"F\": 0.0, \"I\": 0.0, \"R\": 25.0, \"A1\": 0.0, \"F1\": 0.0, \"F1.1\": 0.0, \"F1.2\": 0.0, \"F2\": 0.0, \"F3\": 0.0, \"F4\": 0.0, \"I1\": 0.0, \"I2\": 0.0, \"R1\": 0.0, \"R1.1\": 80.0, \"R1.2\": 0.0, \"FAIR\": 8.89}, \"status_total\": {\"A1\": 1, \"F1\": 1, \"F1.1\": 1, \"F1.2\": 1, \"F2\": 2, \"F3\": 1, \"F4\": 1, \"I1\": 2, \"I2\": 1, \"R1\": 3, \"R1.1\": 2, \"R1.2\": 1, \"A\": 1, \"F\": 7, \"I\": 3, \"R\": 6, \"FAIR\": 17}, \"status_passed\": {\"A1\": 0, \"F1\": 0, \"F1.1\": 0, \"F1.2\": 0, \"F2\": 0, \"F3\": 0, \"F4\": 0, \"I1\": 0, \"I2\": 0, \"R1\": 0, \"R1.1\": 2, \"R1.2\": 0, \"A\": 0, \"F\": 0, \"I\": 0, \"R\": 2, \"FAIR\": 2}, \"maturity\": {\"A\": 0, \"F\": 0, \"I\": 0, \"R\": 1, \"A1\": 0, \"F1\": 0, \"F1.1\": 0, \"F1.2\": 0, \"F2\": 0, \"F3\": 0, \"F4\": 0, \"I1\": 0, \"I2\": 0, \"R1\": 0, \"R1.1\": 3, \"R1.2\": 0, \"FAIR\": 1.0}}, \"results\": [{\"id\": 1, \"metric_identifier\": \"FRSM-01-F1\", \"metric_name\": \"Does the software have a globally unique and persistent identifier?\", \"metric_tests\": {\"FRSM-01-F1-1\": {\"metric_test_name\": \"The software has a human and machine-readable unique identifier that is resolvable to a machine-readable landing page and follows a defined unique identifier syntax.\", \"metric_test_requirements\": [], \"metric_test_score\": {\"earned\": 0, \"total\": 1}, \"metric_test_maturity\": 0, \"metric_test_status\": \"fail\"}, \"FRSM-01-F1-2\": {\"metric_test_name\": \"The identifier uses an identifier scheme that guarantees globally uniqueness and persistence.\", \"metric_test_requirements\": [], \"metric_test_score\": {\"earned\": 0, \"total\": 1}, \"metric_test_maturity\": 0, \"metric_test_status\": \"fail\"}, \"FRSM-01-F1-3\": {\"metric_test_name\": \"The identifier scheme is commonly used in the domain.\", \"metric_test_requirements\": [], \"metric_test_score\": {\"earned\": 0, \"total\": 1}, \"metric_test_maturity\": 0, \"metric_test_status\": \"fail\"}}, \"test_status\": \"fail\", \"score\": {\"earned\": 0, \"total\": 3}, \"maturity\": 0, \"output\": {}, \"test_debug\": [\"WARNING: Test for unique identifier is not implemented.\", \"WARNING: Test for identifier scheme is not implemented.\", \"WARNING: Test for domain use of identifier scheme is not implemented.\", \"WARNING: Failed to check the software identifier.\"]}, {\"id\": 2, \"metric_identifier\": \"FRSM-02-F1.1\", \"metric_name\": \"Do the different components of the software have their own identifiers?\", \"metric_tests\": {\"FRSM-02-F1.1-1\": {\"metric_test_name\": \"Where the 'software' consists of multiple distinct components, each component has a distinct identifier.\", \"metric_test_requirements\": [], \"metric_test_score\": {\"earned\": 0, \"total\": 1}, \"metric_test_maturity\": 0, \"metric_test_status\": \"fail\"}, \"FRSM-02-F1.1-2\": {\"metric_test_name\": \"The relationship between components is embodied in the identifier metadata.\", \"metric_test_requirements\": [], \"metric_test_score\": {\"earned\": 0, \"total\": 1}, \"metric_test_maturity\": 0, \"metric_test_status\": \"fail\"}, \"FRSM-02-F1.1-3\": {\"metric_test_name\": \"Every component to granularity level GL3 (module) has its own unique identifier.\", \"metric_test_requirements\": [], \"metric_test_score\": {\"earned\": 0, \"total\": 1}, \"metric_test_maturity\": 0, \"metric_test_status\": \"fail\"}}, \"test_status\": \"fail\", \"score\": {\"earned\": 0, \"total\": 3}, \"maturity\": 0, \"output\": {}, \"test_debug\": [\"WARNING: Test for distinct identifiers is not implemented.\", \"WARNING: Test for identifier metadata is not implemented.\", \"WARNING: Test for GL3 (module) identifiers is not implemented.\", \"WARNING: Failed to check the software component identifiers.\"]}, {\"id\": 3, \"metric_identifier\": \"FRSM-03-F1.2\", \"metric_name\": \"Does each version of the software have a unique identifier?\", \"metric_tests\": {\"FRSM-03-F1.2-1\": {\"metric_test_name\": \"Each version of the software has a different identifier.\", \"metric_test_requirements\": [], \"metric_test_score\": {\"earned\": 0, \"total\": 1}, \"metric_test_maturity\": 0, \"metric_test_status\": \"fail\"}, \"FRSM-03-F1.2-2\": {\"metric_test_name\": \"Relations between the versions are included in the identifier metadata.\", \"metric_test_requirements\": [], \"metric_test_score\": {\"earned\": 0, \"total\": 1}, \"metric_test_maturity\": 0, \"metric_test_status\": \"fail\"}, \"FRSM-03-F1.2-3\": {\"metric_test_name\": \"The version number is included in the identifier metadata.\", \"metric_test_requirements\": [], \"metric_test_score\": {\"earned\": 0, \"total\": 1}, \"metric_test_maturity\": 0, \"metric_test_status\": \"fail\"}}, \"test_status\": \"fail\", \"score\": {\"earned\": 0, \"total\": 3}, \"maturity\": 0, \"output\": {}, \"test_debug\": [\"WARNING: Test for distinct identifiers is not implemented.\", \"WARNING: Test for identifier metadata is not implemented.\", \"WARNING: Test for version number in identifier is not implemented.\", \"WARNING: Failed to check the software version identifier.\"]}, {\"id\": 4, \"metric_identifier\": \"FRSM-04-F2\", \"metric_name\": \"Does the software include descriptive metadata which helps define its purpose?\", \"metric_tests\": {\"FRSM-04-F2-1\": {\"metric_test_name\": \"The software includes a README or other file which includes the software title and description.\", \"metric_test_requirements\": [], \"metric_test_score\": {\"earned\": 0, \"total\": 1}, \"metric_test_maturity\": 0, \"metric_test_status\": \"fail\"}, \"FRSM-04-F2-2\": {\"metric_test_name\": \"The software includes other descriptive metadata such as domain, funder, programming language, date created, and keywords.\", \"metric_test_requirements\": [], \"metric_test_score\": {\"earned\": 0, \"total\": 1}, \"metric_test_maturity\": 0, \"metric_test_status\": \"fail\"}, \"FRSM-04-F2-3\": {\"metric_test_name\": \"The metadata is contained in a format such as CodeMeta or ProjectObjectModel that enables full machine actionability.\", \"metric_test_requirements\": [], \"metric_test_score\": {\"earned\": 0, \"total\": 1}, \"metric_test_maturity\": 0, \"metric_test_status\": \"fail\"}}, \"test_status\": \"fail\", \"score\": {\"earned\": 0, \"total\": 3}, \"maturity\": 0, \"output\": {\"core_metadata_status\": \"insufficient metadata\", \"core_metadata_found\": {\"summary\": \"FAIRsFAIR Research Data Object Assessment Service. Contribute to pangaea-data-publisher/fuji development by creating an account on GitHub.\"}, \"core_metadata_source\": [[\"MICRODATA_EMBEDDED\", \"microdata_rdfa\"], [\"OPENGRAPH_EMBEDDED\", \"html_embedding\"], [\"DUBLINCORE_EMBEDDED\", \"html_embedding\"]]}, \"test_debug\": [\"INFO: Testing if any metadata has been made available via common web standards\", \"WARNING: Test for descriptive metadata is not implemented for FRSM.\", \"WARNING: Not all required core descriptive metadata elements exist, missing -: ['publication_date', 'publisher', 'keywords', 'creator', 'object_type', 'object_identifier', 'title']\", \"WARNING: Test for minimum metadata is not implemented.\", \"WARNING: Test for metadata format is not implemented.\"]}, {\"id\": 5, \"metric_identifier\": \"FRSM-05-R1\", \"metric_name\": \"Does the software include development metadata which helps define its status?\", \"metric_tests\": {\"FRSM-05-R1-1\": {\"metric_test_name\": \"The software includes metadata for contact or support in the README or other intrinsic metadata file according to community standards.\", \"metric_test_requirements\": [], \"metric_test_score\": {\"earned\": 0, \"total\": 1}, \"metric_test_maturity\": 0, \"metric_test_status\": \"fail\"}, \"FRSM-05-R1-2\": {\"metric_test_name\": \"The software includes metadata for development status, links to documentation.\", \"metric_test_requirements\": [], \"metric_test_score\": {\"earned\": 0, \"total\": 1}, \"metric_test_maturity\": 0, \"metric_test_status\": \"fail\"}, \"FRSM-05-R1-3\": {\"metric_test_name\": \"The metadata is contained in a format such as CodeMeta or ProjectObjectModel that enables full machine-actionability.\", \"metric_test_requirements\": [], \"metric_test_score\": {\"earned\": 0, \"total\": 1}, \"metric_test_maturity\": 0, \"metric_test_status\": \"fail\"}}, \"test_status\": \"fail\", \"score\": {\"earned\": 0, \"total\": 3}, \"maturity\": 0, \"output\": {}, \"test_debug\": [\"WARNING: Test for contact information is not implemented.\", \"WARNING: Test for development status in metadata is not implemented.\", \"WARNING: Test for metadata format is not implemented.\", \"WARNING: Failed to check the software development metadata.\"]}, {\"id\": 6, \"metric_identifier\": \"FRSM-06-F2\", \"metric_name\": \"Does the software include metadata about the contributors and their roles?\", \"metric_tests\": {\"FRSM-06-F2-1\": {\"metric_test_name\": \"The software includes metadata about the contributors.\", \"metric_test_requirements\": [], \"metric_test_score\": {\"earned\": 0, \"total\": 1}, \"metric_test_maturity\": 0, \"metric_test_status\": \"fail\"}, \"FRSM-06-F2-2\": {\"metric_test_name\": \"The software includes citation metadata that includes all contributors and their roles. This includes ORCIDs when contributors have them.\", \"metric_test_requirements\": [], \"metric_test_score\": {\"earned\": 0, \"total\": 1}, \"metric_test_maturity\": 0, \"metric_test_status\": \"fail\"}, \"FRSM-06-F2-3\": {\"metric_test_name\": \"Does the citation metadata include the proportional credit attributed to each contributor?\", \"metric_test_requirements\": [], \"metric_test_score\": {\"earned\": 0, \"total\": 1}, \"metric_test_maturity\": 0, \"metric_test_status\": \"fail\"}}, \"test_status\": \"fail\", \"score\": {\"earned\": 0, \"total\": 3}, \"maturity\": 0, \"output\": {\"provenance_metadata_included\": {\"is_available\": false, \"provenance_metadata\": []}, \"structured_provenance_available\": null}, \"test_debug\": [\"WARNING: Test for descriptive metadata is not implemented for FRSM.\", \"INFO: Check if provenance information is available in descriptive metadata\", \"INFO: Check if provenance information is available in metadata about related resources\", \"WARNING: No provenance information found in metadata about related resources\", \"WARNING: Test for citation metadata is not implemented.\", \"WARNING: Test for proportional credit in citation metadata is not implemented.\"]}, {\"id\": 7, \"metric_identifier\": \"FRSM-07-F3\", \"metric_name\": \"Does the software metadata include the identifier for the software?\", \"metric_tests\": {\"FRSM-07-F3-1\": {\"metric_test_name\": \"Does the software include an identifier in the README or citation file?\", \"metric_test_requirements\": [], \"metric_test_score\": {\"earned\": 0, \"total\": 1}, \"metric_test_maturity\": 0, \"metric_test_status\": \"fail\"}, \"FRSM-07-F3-2\": {\"metric_test_name\": \"Does the identifier resolve to the same instance of the software?\", \"metric_test_requirements\": [], \"metric_test_score\": {\"earned\": 0, \"total\": 1}, \"metric_test_maturity\": 0, \"metric_test_status\": \"fail\"}}, \"test_status\": \"fail\", \"score\": {\"earned\": 0, \"total\": 2}, \"maturity\": 0, \"output\": {\"object_identifier_included\": null, \"object_content_identifier_included\": []}, \"test_debug\": [\"WARNING: Test for identifier resolve target is not implemented.\", \"WARNING: Valid data (content) identifier missing.\"]}, {\"id\": 8, \"metric_identifier\": \"FRSM-08-F4\", \"metric_name\": \"Does the software have a publicly available, openly accessible and persistent metadata record?\", \"metric_tests\": {\"FRSM-08-F4-1\": {\"metric_test_name\": \"A metadata record for the software is present on an infrastructure that guarantees persistence.\", \"metric_test_requirements\": [], \"metric_test_score\": {\"earned\": 0, \"total\": 1}, \"metric_test_maturity\": 0, \"metric_test_status\": \"fail\"}, \"FRSM-08-F4-2\": {\"metric_test_name\": \"The persistent metadata record is available through public search engines. The metadata has a globally unique and persistent identifier.\", \"metric_test_requirements\": [], \"metric_test_score\": {\"earned\": 0, \"total\": 1}, \"metric_test_maturity\": 0, \"metric_test_status\": \"fail\"}, \"FRSM-08-F4-3\": {\"metric_test_name\": \"The persistent metadata record is available through multiple, cross-referenced infrastructures.\", \"metric_test_requirements\": [], \"metric_test_score\": {\"earned\": 0, \"total\": 1}, \"metric_test_maturity\": 0, \"metric_test_status\": \"fail\"}}, \"test_status\": \"fail\", \"score\": {\"earned\": 0, \"total\": 3}, \"maturity\": 0, \"output\": [], \"test_debug\": [\"WARNING: Test for descriptive metadata is not implemented for FRSM.\", \"WARNING: Test for availability through public search engine is not implemented.\", \"WARNING: Test for availability through multiple, cross-referenced infrastructures is not implemented.\"]}, {\"id\": 9, \"metric_identifier\": \"FRSM-09-A1\", \"metric_name\": \"Is the software developed in a code repository / forge that uses standard communications protocols?\", \"metric_tests\": {\"FRSM-09-A1-1\": {\"metric_test_name\": \"The code repository / forge can be accessed using the identifier via a standardised protocol.\", \"metric_test_requirements\": [], \"metric_test_score\": {\"earned\": 0, \"total\": 1}, \"metric_test_maturity\": 0, \"metric_test_status\": \"fail\"}, \"FRSM-09-A1-2\": {\"metric_test_name\": \"If authentication or authorisation are required, these are supported by the communication protocols and the repository / forge.\", \"metric_test_requirements\": [], \"metric_test_score\": {\"earned\": 0, \"total\": 1}, \"metric_test_maturity\": 0, \"metric_test_status\": \"fail\"}}, \"test_status\": \"fail\", \"score\": {\"earned\": 0, \"total\": 2}, \"maturity\": 0, \"output\": {\"standard_data_protocol\": {}}, \"test_debug\": [\"WARNING: Test for standard protocol is not implemented for FRSM.\", \"WARNING: Skipping protocol test for data since NO content (data) identifier is given in metadata\"]}, {\"id\": 10, \"metric_identifier\": \"FRSM-10-I1\", \"metric_name\": \"Are the formats used by the data consumed or produced by the software open and a reference provided to the format?\", \"metric_tests\": {\"FRSM-10-I1-1\": {\"metric_test_name\": \"The documentation describes the data formats used.\", \"metric_test_requirements\": [], \"metric_test_score\": {\"earned\": 0, \"total\": 1}, \"metric_test_maturity\": 0, \"metric_test_status\": \"fail\"}, \"FRSM-10-I1-2\": {\"metric_test_name\": \"The data formats used are open.\", \"metric_test_requirements\": [], \"metric_test_score\": {\"earned\": 0, \"total\": 1}, \"metric_test_maturity\": 0, \"metric_test_status\": \"fail\"}, \"FRSM-10-I1-3\": {\"metric_test_name\": \"A reference to the schema is provided.\", \"metric_test_requirements\": [], \"metric_test_score\": {\"earned\": 0, \"total\": 1}, \"metric_test_maturity\": 0, \"metric_test_status\": \"fail\"}}, \"test_status\": \"fail\", \"score\": {\"earned\": 0, \"total\": 3}, \"maturity\": 0, \"output\": [], \"test_debug\": [\"WARNING: Test for documentation abouut data formats is not implemented.\", \"WARNING: Test for openness of data formats is not implemented.\", \"WARNING: Test for presence of schema reference is not implemented.\", \"WARNING: Could not perform file format checks as data content identifier(s) unavailable/inaccesible\"]}, {\"id\": 11, \"metric_identifier\": \"FRSM-11-I1\", \"metric_name\": \"Does the software use open APIs that support machine-readable interface definition?\", \"metric_tests\": {\"FRSM-11-I1-1\": {\"metric_test_name\": \"The software provides documented APIs.\", \"metric_test_requirements\": [], \"metric_test_score\": {\"earned\": 0, \"total\": 1}, \"metric_test_maturity\": 0, \"metric_test_status\": \"fail\"}, \"FRSM-11-I1-2\": {\"metric_test_name\": \"The APIs are open (freely accessible).\", \"metric_test_requirements\": [], \"metric_test_score\": {\"earned\": 0, \"total\": 1}, \"metric_test_maturity\": 0, \"metric_test_status\": \"fail\"}, \"FRSM-11-I1-3\": {\"metric_test_name\": \"The APIs include a machine-readable interface definition.\", \"metric_test_requirements\": [], \"metric_test_score\": {\"earned\": 0, \"total\": 1}, \"metric_test_maturity\": 0, \"metric_test_status\": \"fail\"}}, \"test_status\": \"fail\", \"score\": {\"earned\": 0, \"total\": 3}, \"maturity\": 0, \"output\": {}, \"test_debug\": [\"WARNING: Test for documented API is not implemented.\", \"WARNING: Test for openness of API is not implemented.\", \"WARNING: Test for machine-readable interface definition is not implemented.\", \"WARNING: Failed to check the software API.\"]}, {\"id\": 12, \"metric_identifier\": \"FRSM-12-I2\", \"metric_name\": \"Does the software provide references to other objects that support its use?\", \"metric_tests\": {\"FRSM-12-I2-1\": {\"metric_test_name\": \"The software metadata includes machine-readable references to articles describing the software, articles demonstrating use of the software, or to the data it uses.\", \"metric_test_requirements\": [], \"metric_test_score\": {\"earned\": 0, \"total\": 1}, \"metric_test_maturity\": 0, \"metric_test_status\": \"fail\"}}, \"test_status\": \"fail\", \"score\": {\"earned\": 0, \"total\": 1}, \"maturity\": 0, \"output\": {}, \"test_debug\": [\"INFO: No debug messages received\"]}, {\"id\": 13, \"metric_identifier\": \"FRSM-13-R1\", \"metric_name\": \"Does the software describe what is required to use it?\", \"metric_tests\": {\"FRSM-13-R1-1\": {\"metric_test_name\": \"The software has build, installation and/or execution instructions.\", \"metric_test_requirements\": [{\"modality\": \"any\", \"required\": {\"location\": [\"README\", \"docs_directory\", \"wiki\"], \"keywords\": [\"build\", \"install\", \"run\"]}, \"tested_on\": null, \"comment\": null, \"target\": \"https://f-uji.net/vocab/metadata/standards\"}], \"metric_test_score\": {\"earned\": 0, \"total\": 1}, \"metric_test_maturity\": 0, \"metric_test_status\": \"fail\"}, \"FRSM-13-R1-2\": {\"metric_test_name\": \"Dependencies are provided in a machine-readable format and the building and installation of the software is automated.\", \"metric_test_requirements\": [{\"modality\": \"any\", \"required\": {\"dependency_file\": [\"requirements.txt\"]}, \"tested_on\": null, \"comment\": null, \"target\": \"https://f-uji.net/vocab/metadata/standards\"}, {\"modality\": \"all\", \"required\": {\"automation_file\": [\"Jenkinsfile\", \"github_actions\"], \"automation_keywords\": [\"build\", \"deploy\"]}, \"tested_on\": null, \"comment\": null, \"target\": \"https://f-uji.net/vocab/metadata/standards\"}], \"metric_test_score\": {\"earned\": 0, \"total\": 1}, \"metric_test_maturity\": 0, \"metric_test_status\": \"fail\"}}, \"test_status\": \"fail\", \"score\": {\"earned\": 0, \"total\": 2}, \"maturity\": 0, \"output\": {}, \"test_debug\": [\"INFO: Looking for any keywords ['build', 'install', 'run'] in ['README', 'docs_directory', 'wiki'] (FRSM-13-R1-1).\", \"WARNING: Did not find any keywords ['build', 'install', 'run'] in ['README', 'docs_directory', 'wiki'] (FRSM-13-R1-1).\", \"INFO: Checking presence of any of ['requirements.txt'] (FRSM-13-R1-2).\", \"INFO: Looking for all keywords ['build', 'deploy'] in ['Jenkinsfile', 'github_actions'] (FRSM-13-R1-2).\", \"WARNING: Did not find any of ['requirements.txt'] (FRSM-13-R1-2).\", \"WARNING: Did not find all keywords ['build', 'deploy'] in ['Jenkinsfile', 'github_actions'] (FRSM-13-R1-2).\", \"WARNING: Failed to check the software requirements.\"]}, {\"id\": 14, \"metric_identifier\": \"FRSM-14-R1\", \"metric_name\": \"Does the software come with test cases to demonstrate it is working?\", \"metric_tests\": {\"FRSM-14-R1-1\": {\"metric_test_name\": \"Tests and data are provided to check that the software is operating as expected.\", \"metric_test_requirements\": [], \"metric_test_score\": {\"earned\": 0, \"total\": 1}, \"metric_test_maturity\": 0, \"metric_test_status\": \"fail\"}, \"FRSM-14-R1-2\": {\"metric_test_name\": \"Automated unit and system tests are provided.\", \"metric_test_requirements\": [], \"metric_test_score\": {\"earned\": 0, \"total\": 1}, \"metric_test_maturity\": 0, \"metric_test_status\": \"fail\"}, \"FRSM-14-R1-3\": {\"metric_test_name\": \"Code coverage / test coverage is reported.\", \"metric_test_requirements\": [], \"metric_test_score\": {\"earned\": 0, \"total\": 1}, \"metric_test_maturity\": 0, \"metric_test_status\": \"fail\"}}, \"test_status\": \"fail\", \"score\": {\"earned\": 0, \"total\": 3}, \"maturity\": 0, \"output\": {}, \"test_debug\": [\"WARNING: Test for presence of tests and test data is not implemented.\", \"WARNING: Test for Automated unit and system tests is not implemented.\", \"WARNING: Test for code coverage is not implemented.\", \"WARNING: Failed to check the software version identifier.\"]}, {\"id\": 15, \"metric_identifier\": \"FRSM-15-R1.1\", \"metric_name\": \"The software source code includes licensing information for the software and any bundled external software.\", \"metric_tests\": {\"FRSM-15-R1.1-1\": {\"metric_test_name\": \"License file is included.\", \"metric_test_requirements\": [], \"metric_test_score\": {\"earned\": 1, \"total\": 1}, \"metric_test_maturity\": 1, \"metric_test_status\": \"pass\"}, \"FRSM-15-R1.1-2\": {\"metric_test_name\": \"The source code includes licensing information for all components bundled with that software.\", \"metric_test_requirements\": [], \"metric_test_score\": {\"earned\": 0, \"total\": 1}, \"metric_test_maturity\": 0, \"metric_test_status\": \"fail\"}, \"FRSM-15-R1.1-3\": {\"metric_test_name\": \"Recognized licence is in SPDX format.\", \"metric_test_requirements\": [], \"metric_test_score\": {\"earned\": 1, \"total\": 1}, \"metric_test_maturity\": 3, \"metric_test_status\": \"pass\"}}, \"test_status\": \"pass\", \"score\": {\"earned\": 2, \"total\": 3}, \"maturity\": 3, \"output\": [{\"license\": \"MIT License\", \"osi_approved\": true, \"details_url\": \"http://spdx.org/licenses/MIT.html\"}], \"test_debug\": [\"INFO: License verification name through SPDX registry -: MIT License\", \"INFO: Found SPDX license representation -: http://spdx.org/licenses/MIT.json\", \"SUCCESS: Found SPDX license representation (spdx url, osi_approved)\", \"SUCCESS: Found licence file: ['LICENSE', 'fuji_server/models/license.py'].\", \"INFO: Will consider all SPDX licenses as community specific licenses for FRSM-15-R1.1\", \"WARNING: Test for license information of bundled components is not implemented (FRSM-15-R1.1-2).\"]}, {\"id\": 16, \"metric_identifier\": \"FRSM-16-R1.1\", \"metric_name\": \"Does the software metadata record include licensing information?\", \"metric_tests\": {\"FRSM-16-R1.1-1\": {\"metric_test_name\": \"The identifier or metadata record includes licensing and copyright information.\", \"metric_test_requirements\": [], \"metric_test_score\": {\"earned\": 1, \"total\": 1}, \"metric_test_maturity\": 1, \"metric_test_status\": \"pass\"}, \"FRSM-16-R1.1-2\": {\"metric_test_name\": \"The software licensing information is in SPDX format, or other machine-readable form.\", \"metric_test_requirements\": [], \"metric_test_score\": {\"earned\": 1, \"total\": 1}, \"metric_test_maturity\": 3, \"metric_test_status\": \"pass\"}}, \"test_status\": \"pass\", \"score\": {\"earned\": 2, \"total\": 2}, \"maturity\": 3, \"output\": [{\"license\": \"MIT License\", \"osi_approved\": true, \"details_url\": \"http://spdx.org/licenses/MIT.html\"}], \"test_debug\": [\"INFO: License verification name through SPDX registry -: MIT License\", \"INFO: Found SPDX license representation -: http://spdx.org/licenses/MIT.json\", \"SUCCESS: Found SPDX license representation (spdx url, osi_approved)\", \"SUCCESS: Found licence information in metadata\", \"INFO: Will consider all SPDX licenses as community specific licenses for FRSM-16-R1.1\"]}, {\"id\": 17, \"metric_identifier\": \"FRSM-17-R1.2\", \"metric_name\": \"Does the software include provenance information that describe the development of the software?\", \"metric_tests\": {\"FRSM-17-R1.2-1\": {\"metric_test_name\": \"The software source code repository / forge includes a commit history.\", \"metric_test_requirements\": [], \"metric_test_score\": {\"earned\": 0, \"total\": 1}, \"metric_test_maturity\": 0, \"metric_test_status\": \"fail\"}, \"FRSM-17-R1.2-2\": {\"metric_test_name\": \"The software source code repository links commits to issues / tickets.\", \"metric_test_requirements\": [], \"metric_test_score\": {\"earned\": 0, \"total\": 1}, \"metric_test_maturity\": 0, \"metric_test_status\": \"fail\"}, \"FRSM-17-R1.2-3\": {\"metric_test_name\": \"The software project uses other tools to capture detailed machine readable provenance information.\", \"metric_test_requirements\": [], \"metric_test_score\": {\"earned\": 0, \"total\": 1}, \"metric_test_maturity\": 0, \"metric_test_status\": \"fail\"}}, \"test_status\": \"fail\", \"score\": {\"earned\": 0, \"total\": 3}, \"maturity\": 0, \"output\": {}, \"test_debug\": [\"WARNING: Test for commit history is not implemented.\", \"WARNING: Test for commit linkage to issues is not implemented.\", \"WARNING: Test for other tools capturing provenance information is not implemented.\"]}]}\n" headers: content-length: - - '2938' + - '24458' content-type: - application/json http_version: HTTP/1.1 diff --git a/tests/functional/test_evaluation.py b/tests/functional/test_evaluation.py index 57a36c91..f4cd71dd 100644 --- a/tests/functional/test_evaluation.py +++ b/tests/functional/test_evaluation.py @@ -176,14 +176,122 @@ def test_evaluation_software(client: FlaskClient) -> None: response = client.post(valid_url, json=payload, headers=headers) assert response.status_code == HTTP_200_OK - # these are the results from 2024-01-12 + # these are the results from 2024-05-03 expected = { - "score_earned": {"R": 2, "R1.1": 2, "FAIR": 2}, - "score_total": {"R": 3, "R1.1": 3, "FAIR": 3}, - "score_percent": {"R": 66.67, "R1.1": 66.67, "FAIR": 66.67}, - "status_total": {"R1.1": 1, "R": 1, "FAIR": 1}, - "status_passed": {"R1.1": 1, "R": 1, "FAIR": 1}, - "maturity": {"R": 3, "R1.1": 3, "FAIR": 1}, + "score_earned": { + "A": 0, + "F": 0, + "I": 0, + "R": 4, + "A1": 0, + "F1": 0, + "F1.1": 0, + "F1.2": 0, + "F2": 0, + "F3": 0, + "F4": 0, + "I1": 0, + "I2": 0, + "R1": 0, + "R1.1": 4, + "R1.2": 0, + "FAIR": 4.0, + }, + "score_total": { + "A": 2, + "F": 20, + "I": 7, + "R": 16, + "A1": 2, + "F1": 3, + "F1.1": 3, + "F1.2": 3, + "F2": 6, + "F3": 2, + "F4": 3, + "I1": 6, + "I2": 1, + "R1": 8, + "R1.1": 5, + "R1.2": 3, + "FAIR": 45.0, + }, + "score_percent": { + "A": 0.0, + "F": 0.0, + "I": 0.0, + "R": 25.0, + "A1": 0.0, + "F1": 0.0, + "F1.1": 0.0, + "F1.2": 0.0, + "F2": 0.0, + "F3": 0.0, + "F4": 0.0, + "I1": 0.0, + "I2": 0.0, + "R1": 0.0, + "R1.1": 80.0, + "R1.2": 0.0, + "FAIR": 8.89, + }, + "status_total": { + "A1": 1, + "F1": 1, + "F1.1": 1, + "F1.2": 1, + "F2": 2, + "F3": 1, + "F4": 1, + "I1": 2, + "I2": 1, + "R1": 3, + "R1.1": 2, + "R1.2": 1, + "A": 1, + "F": 7, + "I": 3, + "R": 6, + "FAIR": 17, + }, + "status_passed": { + "A1": 0, + "F1": 0, + "F1.1": 0, + "F1.2": 0, + "F2": 0, + "F3": 0, + "F4": 0, + "I1": 0, + "I2": 0, + "R1": 0, + "R1.1": 2, + "R1.2": 0, + "A": 0, + "F": 0, + "I": 0, + "R": 2, + "FAIR": 2, + }, + "maturity": { + "A": 0, + "F": 0, + "I": 0, + "R": 1, + "A1": 0, + "F1": 0, + "F1.1": 0, + "F1.2": 0, + "F2": 0, + "F3": 0, + "F4": 0, + "I1": 0, + "I2": 0, + "R1": 0, + "R1.1": 3, + "R1.2": 0, + "FAIR": 1.0, + }, } response_json = response.json() assert response_json["summary"] == expected