{"id":15520737,"url":"https://github.com/proycon/codemeta2mp","last_synced_at":"2025-04-05T04:26:01.194Z","repository":{"id":232983771,"uuid":"785714645","full_name":"proycon/codemeta2mp","owner":"proycon","description":"codemeta to SSHOC Open Marketplace converter","archived":false,"fork":false,"pushed_at":"2025-04-03T09:12:54.000Z","size":76,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-03T09:35:09.828Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/proycon.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-04-12T13:19:26.000Z","updated_at":"2025-04-03T09:12:58.000Z","dependencies_parsed_at":"2024-04-12T20:54:32.992Z","dependency_job_id":"51223d00-98b7-4802-a6d7-99bc42148473","html_url":"https://github.com/proycon/codemeta2mp","commit_stats":null,"previous_names":["proycon/codemeta2mp"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/proycon%2Fcodemeta2mp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/proycon%2Fcodemeta2mp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/proycon%2Fcodemeta2mp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/proycon%2Fcodemeta2mp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/proycon","download_url":"https://codeload.github.com/proycon/codemeta2mp/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247289136,"owners_count":20914456,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-02T10:29:12.790Z","updated_at":"2025-04-05T04:26:01.181Z","avatar_url":"https://github.com/proycon.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Project Status: WIP – Initial development is in progress, but there has not yet been a stable, usable release suitable for the public.](https://www.repostatus.org/badges/latest/wip.svg)](https://www.repostatus.org/#wip)\n\n# Codemeta to SSHOC Open Marketplace\n\nThis is a converter to transform data from codemeta (as used by \u003chttps://tools.clariah.nl\u003e) for ingestion into the [SSHOC Open Marketplace](https://github.com/SSHOC/sshoc-marketplace-backend) by communicating via their API.\n\n## Installation\n\nFor now:\n\n```\npip install git+https://github.com/proycon/codemeta2mp.git\n```\n\n## Usage\n\nIf you already have a `codemeta.json` file, just run `codemeta2mp --baseurl http://localhost:8080 --username Administrator --password q1w2e3r4t5 codemeta.json` to upload it to the SSHOC marketplace (the default credentials and URL are for a local development instance):\n\n1. Find the tool you want to convert on https://tools.clariah.nl/ (e.g. https://tools.clariah.nl/frog\n2. Run this on on it: ``curl --header 'Accept: application/json' https://tools.clariah.nl/frog/ | codemeta2mp --baseurl http://localhost:8080 --username Administrator --password q1w2e3r4t5 -``\n\n## Considerations \u0026 Discussion\n\nA conversion from one vocabulary to another always presents some challenges, as\nterms do not always map exactly one to one. Some decisions and assumptions have to be\nmade by the converter.\n\nThe following were made for the conversion from codemeta (as used by the CLARIAH-NL Tools) to the sshoc open marketplace.\nIf any of the SSHOC/EOSC SKOS terms are used directly in the codemeta, then they will of course be preserved as-is.\n\n* [SSHOC Invocation Type](https://vocabs.sshopencloud.eu/browse/invocation-type/en/page/invocationTypeScheme) does not cover all we have in our [Software Types](https://github.com/SoftwareUnderstanding/software_types), some mappings are sub-optimal.\n* [EOSC Resource Technology readiness levels](https://vocabs.sshopencloud.eu/browse/eosc-technology-readiness-level/en/) go from 1-9, [CLARIAH's](https://github.com/CLARIAH/tool-discovery/blob/master/schemas/research-technology-readiness-levels.jsonld) go from 0-9. We map both our 0 and 1 to their 1.\n* [EOSC Lifecycle status](https://vocabs.sshopencloud.eu/browse/eosc-life-cycle-status/en/) values we derive from our use of [Repostatus](https://www.repostatus.org/) for `codemeta:developmentStatus` (to indicate maintenance status) and TRL.\n* `codemeta:issueTracker` gets mapped to SSHOC Marketplace's `helpdesk-url`\n* Software as a Service by definition has at least two `accessible_at` URLs after conversion. One pointing to the source code, and one to the service. The marketplace doesn't really have the mechanism for fine-grained control to distinguish the two yet keep the strong relation.\n* We both use Tadirah for `schema:applicationCategory` aka `activity`. This maps one-to-one.\n* Marketplace has an Austrian bias and uses [ÖFOS 2012. Österreichische Version der 'Fields of Science and Technology (FOS) Classification'](https://vocabs.acdh.oeaw.ac.at/oefos/de/page/Schema) for `discipline` whereas CLARIAH-NL has a dutch bias and uses [NWO's classification](https://github.com/CLARIAH/tool-discovery/blob/master/schemas/nwo-research-fields.jsonld) (in `schema:applicationCategory`. A conversion for this still needs to be established.\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fproycon%2Fcodemeta2mp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fproycon%2Fcodemeta2mp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fproycon%2Fcodemeta2mp/lists"}