This repository contains curated collections of training resources (contained in various CSV files) related to research software quality and general software and data skills from different research domains and infrastructures collected as part of the EVERSE project (WP5).
The working spreadsheet is used as a living document to constantly add and update training resources the content of which is then periodically released in this repository.
- MS15 milestone report "Mapping of the stocktake of training materials across the training initiatives in the research communities of WP4 and a first assessment on gaps to be filled"
- March 2025 GAM workshop spreadsheet - based on the MS15 report above, we started curating the collected training resources further and classifying them according to the reseach domain, resource type, and software quality dimension they address
- Working spreadsheet - we are using this spreadsheet for the ongoing curration and collecting of training resources which are then periodically transferred to this repository
Collection of training schools, programmes or events.
Collection of reports and publications.
Collection of projects and working groups with training component.
Collection of keywords used to describe and curate various training materials to facilitate searching and tagging in various catalogues.
This repository fetches through GitHub Actions training materials from a Google spreadsheet and translates them into a .json
file.
-
Have a Google spreadsheet. If another spreadhsheet is used: get the ID of your spreadsheet and modify
id
insrc/config.yaml
. -
Have a sheet inside it. If another sheet is used than the one provided in
config.yaml
, modify aspreadsheet:
object or create another one, see below an example.spreadsheet: - name: "my_other_sheet" gid: 123456789 skip: False schemaType: "Dataset"
-
The sheet must have the same column names as
mapping.tess
entries insrc/config.yaml
. E.g., ifmapping.tess
isTitle
then your sheet must have a column calledTitle
in order to extract this information.
.
├── .github
│ └── workflows
│ └── update_json.yaml
└── src
├── config.yaml
├── csv_to_json.py
└── download_csv.py
- It will run every day at 1:00AM or when a push to the main branch is done
src/download_csv.py
is called and downloads the sheets of a given Google spreadsheet under a newly created/csv
directory.- Then
src/csv_to_json.py
takes the csv's in the/csv
directory, converts them as.json
files and stores them in a created/json
directory. - The workflow then add, commits and push the changes to main.
id
: Google spreadsheet identifierspreadsheet
: list of objects {name, gid, skip, schemaType}, each of them representing a sheet of the Google spreadsheetspreadsheet.name
: name given to the csv file when getting fetched bydownload_csv.py
spreadsheet.gid
: sheet identifier (Google ID)spreadsheet.skip
: when set toTrue
, thedownload_csv.py
script will skip the download thegid
sheet (mainly done forspreadsheet.name == "keywords"
)spreadsheet.schemaType
: following schema.org, we gave the appropriatetype
to the kind of materialsmapping
: list of objects {tess, schema} which acts as a dictionnary,mapping.tess
is the field in TeSS corresponding tomapping.schema
in schema.org, they are repsectively key-pair values.mapping.tess
: metadata field known by TeSS, it must match the column names, e.g., if you have columnURLs
instead ofURL
in your Google spreadsheet, please changemapping.tess
toURLs
instead of currentURL
mapping.schema
: metadata field known by schema.org
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.