Check items as you satisfy them.
Total possible score = 25 pts.
FAIR Level (EPFL Imaging Plaza style) = highest level for which all items are checked.
- License is present —
LICENSEfile with OSI‑approved text (L1, 2 pts) - DOI minted — Zenodo ↔︎ GitHub release, DOI badge in README (L1, 2 pts)
- Short description & keywords — clear tagline + GitHub topics (L1, 1 pt)
- Creation / release date stated (L1, 1 pt)
- Representative image in README (L1, 1 pt)
- Citation metadata —
CITATION.cfforcodemeta.json(L2, 1 pt) - Registered in a community index (bio.tools, SciCodes, …) (L3, 1 pt)
- Repository public & stable URL (L1, 1 pt)
- Example / sample data or link (L3, 1 pt)
- Archived in Software Heritage or equivalent long‑term archive (L4, 1 pt)
- Open, standard I/O formats (CSV, JSON, HDF5, …) (L2, 1 pt)
- Environment / dependency file (
requirements.txt,pyproject.toml, …) (L3, 2 pts) - Container image or Dockerfile (L4, 2 pts)
- README with quick‑start usage (L2, 2 pts)
- Programming language declared (L2, 1 pt)
- Feature list — bullet list of main capabilities (L2, 1 pt)
- Detailed user docs / wiki / notebooks (L4, 2 pts)
- Resource footprint documented (RAM/CPU/GPU) (L4, 1 pt)
- Executable instructions / script / notebook for full workflow (L5, 2 pts)
| Metric | Your value |
|---|---|
| Total points checked | __ / 25 |
| Highest contiguous level completed | Level __ |
| Level | Must have all of… | Typical points range |
|---|---|---|
| 0 | minimal record only | 0–3 |
| 1 | License, DOI, short description, URL, dates, image | 4–8 |
| 2 | + README, language, feature list | 9–12 |
| 3 | + dependency file, sample / linked data | 13–16 |
| 4 | + user docs, resource notes, container | 17–21 |
| 5 | + executable instructions | 22–25 |
-
Automate the checklist
- Add a GitHub Action that parses this file, tallies points, and posts the badge/status on every PR.
- Example action:
fair-software-compliance-action(adapt workflow to these items). and https://github.com/fair-software/howfairis-github-action
-
Continuous metadata generation
- Use
codemeta-generatororcodemetapyto auto‑updatecodemeta.jsonon each release. :contentReference[oaicite:0]{index=0}
- Use
-
Run external FAIR evaluators
- Services such as F‑UJI or FAIR‑Evaluator crawl your repo/DOI and return a machine score you can surface as a badge.
-
Register & badge
- After reaching Level 2+, submit your software to Imaging Plaza; the platform displays a FAIR badge (0‑5) to end‑users. :contentReference[oaicite:1]{index=1}
-
Cite‑as‑you‑build
- Encourage users to cite the software (DOI) and the paper (if any). Adopt the FAIR4RS principles to track software lineage alongside papers. :contentReference[oaicite:2]{index=2}
-
Reproducible builds
- Pair Docker images with lock‑files (
pip‑compile,conda‑lock) so anyone can rebuild the exact environment years later.
- Pair Docker images with lock‑files (
Treat the list as iterative—each new release can tick more boxes until you hit Level 5 and full 25 / 25 pts. Happy FAIR‑ifying!