Making software citable
- You can tell people how to cite your software by including a
file in the root of your repository (You can read up on the rationale ofCITATION.cff
files in this
blog).
However, writingCITATION.cff
files by hand is a bit tedious and
error-prone, so instead go to
and fill in
the provided web form. - Make a Zenodo account and link it with your GitHub account as explained on .
You can tell Zenodo what metadata you want to associate with the software by
including a.zenodo.json
file in the root of your repository, but writing
that file by hand is also error-prone. Therefore it is advisable to just generate it
from theCITATION.cff
file. To do so, you’ll need a command line tool
which you can install from
PyPI by:- Make sure that your
CITATION.cff
is valid YAML by copy-pasting the
contents to . Make sure that your
CITATION.cff
is valid CFF, by:Generate the
.zenodo.json
file usingcffconvert
as follows:- Go to your Github repository, use the Create a new release button to create
a release on GitHub. Zenodo should automatically be notified and should make a snapshot copy of
the current state of your repository (just one branch, without any history), and
should also assign a persistent identifier (DOI) to that snapshot.In case the GitHub-Zenodo integration does not work as expected, there are
two places to go and look for information:- On GitHub:
- go to
https://github.com/<org>/<repo>/
- select
Settings
- select
Webhooks
- scroll down to
Recent deliveries
- click on one of the listed deliveries for details on the request, the response, and to request redelivery.
- go to
- On Zenodo:
- go to
- select the repository that you want to see the diagnostic information of
- click on one of the releases to see the Payload Zenodo received from GitHub, as well as the Metadata that Zenodo has associated with your release, or Errors if there were any.
- On GitHub:
- Add the software’s Zenodo badge to your repository’s README.