Add support for .zenodo.jsons
Opened this issue · 3 comments
Many projects publish their code to zenodo and putting manual rich metadata into one .zenodo.json file in the repository.
One could also harvest this one.
I like this idea, is there a specification for this .zenodo.json
?
information: https://developers.zenodo.org/#add-metadata-to-your-github-repository-release
links to docs and schema
https://developers.zenodo.org/#representation
https://zenodo.org/schemas/deposits/records/legacyrecord.json
Since the schema link points to some legacy stuff, one should check what they are doing now and what the current one is. I did not find it for now.
As an idea, one could also if one finds a 'zenodo' DOI through a badge or within a README.md request the zenodo.json for the record from the zenodo.org API.
In the repository users define only keys they want to be overwritten, or added, which are not automatically extracted, but on the other hand all the other data utlized by zenodo comes from the github API. Therefore, it is available without doing a request to zenodo. Maybe the zenodo code to extract this metadata from a github repo is also available (probably in python) and could save some work in extracting metadata from the github API.
Thanks for the info, that looks like valuable information we should use.
As an idea, one could also if one finds a 'zenodo' DOI through a badge or within a README.md request the zenodo.json for the record from the zenodo.org API.
Yeah, querying the Zenodo API sounds like the best strategy here if the .zenodo.json
only specifies overriding values (similar to how I use codemeta-harvest.json
vs codemeta.json
). But I do see a bit of a chicken-egg problem for people that want to include a codemeta.json
in their repository; for the codemeta.json to be generated using zenodo's info, the package must have already been published to zenodo (but then it would be published without the up-to-date codemeta.json). The other-way-round also introduces problems, because if you want to include the Zenodo DOI in the codemeta, it must have been generated before the codemeta.