CW21 Hack Day - 2021-03-31 to 2021-04-01

Hopper-1949 - HP12-CW21

Hack Day idea proposer

Faruk Diblen, Daniel Garijo, Carlos Martinez, Mathew Bluteau, Paddy McCann

Slack: #howdescribedis


Idea name (provisional)

HowDescribedIs

  • Further automation of howfairis

Hack Day Demo

Context and/or research domain

howfairis is a tool to measure level of adherence to the five recommendations on fair-software.eu website. It allows users to automatically check the compliance of their code and produce a badge displaying the score of their software.

Example badge generated by howfairis:

alt_text

SOMEF is a tool for extracting automatically metadata from code repositories, based on their readme file. SOMEF creates a Codemeta.json file automatically.

Problem

howfairis aims to be as easy-to-use as possible for researchers. However, meeting these recommendations requires some manual labor. We would like to automate this as much as possible, for example by automatically generating Codemeta.json files for your repo based on the descriptions that are already there.

Solution

SOMEF can help generate codemeta files automatically. With the information identified by SOMEF, we can determine which metadata is missing, hence prompting developers to improve their readmes with that information, or complete the Codemeta.json files created by SOMEF.

We would like to create a GitHub action which makes this happen automatically.

Thanks to this work, users will help structure their software descriptions in a machine-readable manner, making them easier to find (through keywords, faceted search, etc.)

Diagrams / illustrations

Current workflow: alt_text

Proposed approach: alt_text

Action plan for hackday

  • Test somef
  • Test howfairis
  • Howfairis GH action:
  • Create initial GH action that checks if there is a codemeta (or citation?) file
    • If not, run SOMEF
  • (Step 0) Overview of GitHub Actions
  • (Step 1) Github action to generate codemeta.json
  • (Step 1.1) Create codemeta.json
  • (Step 1.2) Send a PR with created file
  • (Step 2) Detect citation information is present (codemeta.json)
  • (Step 2.1) If not, run action from Step 1)