After @cnc6 noticed the Communities feature of Zenodo, I created one for the MUSES project, under which we can publish code related to the project.
Please @devs remember to link your Zenodo record to the MUSES grant in addition to use the correct community
I have seen zenodo mentioned in various posts but I don’t know what needs to be done with zenodo in relation to our module hosted at gitlab.
@alford Zenodo provides long-term storage for data and software products with DOIs compatible with academic publications. This post will probably answer most of your questions.
Typically people generate a “release” of their software with a semantic version number (v1.2.3) and then download that version as a zip file that is uploaded to the Zenodo record. For example, I could manually export a zip file of the Calculation Engine source code v0.11.0 using the dropdown menu on GitLab:
Thank you for the illustration, I was able to download a zip file of the current flavor equil code.
Is there a step by step guide for what we need to do with it in relation to zenodo? I created an account at zenodo.org but I don’t know what to do next.
Dear Alford, we are actively working with @carlosc7 on a step-by-step guide. It will be posted today at a later time.
HOW TO CREATE A ZENODO DRAFT BEFORE PUBLISHING
Here is a step-by-step guide on how to create a draft of the MUSES module in Zenodo.
1. Create a Zenodo account: Go to Zenodo’s official website https://zenodo.org/ and Sign Up to create a Zenodo account
2. Log in and create a new upload: After creating your Zenodo account, Log In and create a new upload.
3. Select the MUSES community
4. Upload the .zip file of your repository: Go to your GitLab repository and first download the .zip file.
Once you download the .zip file, upload it to the new Zenodo upload you just created.
5. Provide basic informacion:
a) If you don’t already have a DOI for your submission, please create one
b) Fill out the following information:
- Resource type: Software
- Title: <name_of_your_module> v1.0.0
- Publication date: I think this should be the release date
- Creators: If you are the main creator, put yourself as the project leader.
- Desciption: Add the description of your module
Add the description of your module and also the information explained in this post below the description. For example:
c) License and Language:
- License: GNU General Public License v3.0 or later
- Language: English
d) Version and publisher:
- Version: 1.0.0
- Publisher: Zenodo
6. Provide MUSES funding from NSF: Add MUSES funding
7. Related works: If your module has related works add the references (see CMF example below)
8. Add repository URL and programming languages
9. Save draft: Please save your upload as a draft and do not publish or submit it for review until the release date .
10. Preview your draft amd export BibTeX
11. Access and edit your draft later: You can access your draft at any time.
Many thanks for this very useful resource!
What do we do with the exported bibtex?
There is also an alternative programmatic approach that can be convenient; see these lines from the Calculation Engine release creation script for inspiration. You’ll need to generate a Zenodo access token and export it:
$ export ZENODO_ACCESS_TOKEN=FBhK...Eh
(There is a known issue where the communities
value is ignored, so you have to manually associate your draft record with the MUSES Zenodo community.)
Hi Mark,
Once you export the BibTeX citation, you can add it to the not_inspire.bib
file in the Overleaf collaboration paper. For example, for QLIMR, I added the following entry to cite the module
@software{conde_ocazionez_2024_14525356,
author = {Conde Ocazionez, Carlos Alfonso and
Tan, Hung and
Yunes, Nicolas},
title = {QLIMR module v1.0.0},
month = dec,
year = 2024,
publisher = {Zenodo},
version = {1.0.0},
doi = {10.5281/zenodo.14525356},
url = {https://doi.org/10.5281/zenodo.14525356},
}
How do we know whether the record is associated with the MUSES community?
Step 3 in the guide above shows how to associate with the community. My parenthetical comment only applies to the programmatic API method, not the manual web interface method.
@andrew.manning @vdexheim how do you envision the actual publication of Zenodo records for the module’s code copies, together with the paper?
Is there a way to coordinate their publication altogether (at least for the Zenodo records), or will it have to be done manually for each module?
Status update: Zenodo links have been generated for most of the modules so far. We only miss references to an actual copy of the module’s code at v1.0.0 for:
- Crust-DFT (@awsteiner @sroy14)
- Holography (@yumuy2 @mhippert)
- Flavor equilibration (@alford)
(could you please update the version to v1.0.0, instead of a pre-release version, i.e. v0.4.3 for what I see?)
Also, when doing so, name your Zenodo record “Module name module v1.0.0”, to comply with the naming scheme used by everyone, please!
Remember to not publish them yet, but only save them as draft, for the moment.
Contact me if you need any help in the process, I’ll be happy to guide you