Making software citable

    1. 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 of
      CITATION.cff files in this
      blog
      ).
      However, writing CITATION.cff files by hand is a bit tedious and
      error-prone, so instead go to
      and fill in
      the provided web form.
    2. Make a Zenodo account and link it with your GitHub account as explained on .
    3. 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 the CITATION.cff file. To do so, you’ll need a command line tool
      which you can install from
      PyPI
      by:

    4. Make sure that your CITATION.cff is valid YAML by copy-pasting the
      contents to .
    5. Make sure that your CITATION.cff is valid CFF, by:

    6. Generate the .zenodo.json file using cffconvert as follows:

    7. Go to your Github repository, use the Create a new release button to create
      a release on GitHub.
    8. 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:

      1. 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.
      2. 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.
    9. Add the software’s Zenodo badge to your repository’s README.