guide

Software Development Guide

https://github.com/nlesc/guide

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 3 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.8%) to scientific vocabulary

Keywords

best-practices escience language-guides research-software research-software-engineering

Keywords from Contributors

python-template copier copier-template copier-python fair auto-ml lesson web-app opencl-kernels hydrology
Last synced: 6 months ago · JSON representation ·

Repository

Software Development Guide

Basic Info
Statistics
  • Stars: 50
  • Watchers: 25
  • Forks: 30
  • Open Issues: 34
  • Releases: 17
Topics
best-practices escience language-guides research-software research-software-engineering
Created almost 10 years ago · Last pushed 6 months ago
Metadata Files
Readme Contributing License Citation Zenodo

README.md

DOILink Checker

Guide

This is a guide to research software development at the Netherlands eScience Center. It is a living document, written by and for our research software engineers (RSEs) and our collaborators.

We write it for two reasons:

  1. To have a trusted source for quickly getting started on selected software development topics. We hope this will help RSEs (including our future selves!) to get off to a flying start on new projects in software/technological areas they are not yet familiar with.
  2. To discuss and reach consensus on such topics/areas. This in itself is valuable experience! Discussing your practices can be confronting and a bit uncomfortable, but often teaches you new tricks and points of view.

Openness and collaboration are at the heart of the eScience Center, which is why we develop and share these guidelines in the open. Join us!

Contents

To get started, check out the checklist of generic research software engineering advice in the Best Practices chapter. This chapter lists the most important overall attention points while developing research software. For more details, the sections refer to selected resources in community guides that we collaborate with.

If you are looking for more in-depth advise on using a specific programming language, have a look at the language guides. Here we catalogue our experiences with the languages we use the most in our research software development projects. We also provide technology guides on digital technologies we use often in our projects with research partners.

Resources

All of the text in this guide is backed by our own experiences in developing high quality research software. However, we also learn from and share knowledge with other community-driven research software guides. The two most important of these are The Turing Way and the Research Software Quality Kit. Their scope is slightly different, but we collaborate with them when we can.

Contributing

Please consider contributing to this book! It is a great way to make long-lasting impact by sharing your time-tested knowledge and expertise. You'll hone your writing skills while you're at it.

See the Contributing to this Guide chapter if you want to know more about how you can help, or ask one of the editors. Currently the editorial team consists of:

Owner

  • Name: Netherlands eScience Center
  • Login: NLeSC
  • Kind: organization
  • Location: Amsterdam, The Netherlands

Citation (CITATION.cff)

# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: Netherlands eScience Center - Software Development Guide
message: "If you use this guide, please cite it."
type: software
authors:
  - affiliation: Netherlands eScience Center
    family-names: Drost
    given-names: Niels
    orcid: "https://orcid.org/0000-0001-9795-7981"
  - affiliation: Netherlands eScience Center
    family-names: Spaaks
    given-names: Jurriaan H.
    orcid: "https://orcid.org/0000-0002-7064-4069"
  - affiliation: Netherlands eScience Center
    family-names: Andela
    given-names: Bouwe
  - affiliation: Netherlands eScience Center
    family-names: Veen
    given-names: Lourens
  - affiliation: Netherlands eScience Center
    family-names: Zwaan
    name-particle: van der
    given-names: Janneke M.
    orcid: "https://orcid.org/0000-0002-8329-7000"
  - affiliation: Netherlands eScience Center
    family-names: Verhoeven
    given-names: Stefan
    orcid: "https://orcid.org/0000-0002-5821-2060"
  - affiliation: Netherlands eScience Center
    family-names: Bos
    given-names: Patrick
    orcid: "https://orcid.org/0000-0002-6033-960X"
  - family-names: Kuzak
    given-names: Mateusz
    orcid: "https://orcid.org/0000-0003-0087-6021"
  - affiliation: Netherlands eScience Center
    family-names: Werkhoven
    name-particle: van
    given-names: Ben
    orcid: "https://orcid.org/0000-0002-7508-3272"
  - affiliation: Netherlands eScience Center
    family-names: Attema
    given-names: Jisk
    orcid: "https://orcid.org/0000-0002-0948-1176"
  - affiliation: Netherlands eScience Center
    family-names: Hidding
    given-names: Johannes
  - family-names: Hees
    name-particle: van
    given-names: Vincent
    orcid: "https://orcid.org/0000-0003-0182-9008"
  - affiliation: Netherlands eScience Center
    family-names: Martinez-Ortiz
    given-names: Carlos
    orcid: "https://orcid.org/0000-0001-5565-7577"
  - affiliation: Netherlands eScience Center
    family-names: Spreeuw
    given-names: Hanno
    orcid: "https://orcid.org/0000-0002-5057-0322"
  - family-names: Borgdorff
    given-names: Joris
    orcid: "https://orcid.org/0000-0001-7911-9490"
  - family-names: Leinweber
    given-names: Katrin
  - affiliation: Netherlands eScience Center
    family-names: Diblen
    given-names: Faruk
  - affiliation: Netherlands eScience Center
    family-names: Oord
    name-particle: van den
    given-names: Gijs
  - affiliation: Netherlands eScience Center
    family-names: Goncalves
    given-names: Romulo
    orcid: "https://orcid.org/0000-0003-2225-1428"
  - affiliation: Netherlands eScience Center
    family-names: Kuzniar
    given-names: Arnold
    orcid: "https://orcid.org/0000-0003-1711-7961"
  - affiliation: Netherlands eScience Center
    family-names: Kuppevelt
    name-particle: van
    given-names: Dafne
  - affiliation: Netherlands eScience Center
    family-names: Weel
    given-names: Berend
  - affiliation: Netherlands eScience Center
    family-names: Meijer
    given-names: Christiaan
  - affiliation: Netherlands eScience Center
    family-names: Maassen
    given-names: Jason
    orcid: "https://orcid.org/0000-0002-8172-4865"
  - affiliation: Netherlands eScience Center
    family-names: Rodríguez-Sánchez
    given-names: Pablo
    orcid: "https://orcid.org/0000-0002-2855-940X"
  - affiliation: Netherlands eScience Center
    family-names: Klaver
    given-names: Tom
  - affiliation: Netherlands eScience Center
    family-names: Hage
    name-particle: van
    given-names: Willem Robert
    orcid: "https://orcid.org/0000-0002-6478-3003"
  - affiliation: Netherlands eScience Center
    family-names: Zapata
    given-names: Felipe
    orcid: "https://orcid.org/0000-0001-8286-677X"
  - affiliation: Netherlands eScience Center
    family-names: Bakker
    given-names: Tom
  - affiliation: Netherlands eScience Center
    family-names: Rijn
    name-particle: van
    given-names: Sander
    orcid: "https://orcid.org/0000-0001-6159-041X"
  - affiliation: Journal of Open Source Software
    family-names: Niemeyer
    given-names: Kyle
  - affiliation: Netherlands eScience Center
    family-names: Wehner
    given-names: Jens
  - affiliation: Netherlands eScience Center
    family-names: Burg
    name-particle: van der
    given-names: Sven
  - affiliation: Netherlands eScience Center
    family-names: Siqueira
    given-names: Abel
  - affiliation: Netherlands eScience Center
    family-names: Vreede
    given-names: Barbara
  - affiliation: Netherlands eScience Center
    family-names: Schnober
    given-names: Carsten
  - affiliation: Netherlands eScience Center
    family-names: Chandramouli
    given-names: Pranav
  - affiliation: Utrecht University
    family-names: Oberman
    given-names: Hanne
  - affiliation: Netherlands eScience Center
    family-names: Lüken
    given-names: Malte
  - affiliation: Netherlands eScience Center
    family-names: Isazi
    given-names: Alessio
  - affiliation: "Datadog, Inc."
    family-names: Lev
    given-names: Ofek
  - affiliation: Netherlands eScience Center
    family-names: Cahen
    given-names: Ewan
  - affiliation: Netherlands eScience Center
    family-names: Ali
    given-names: Suvayu
  - affiliation: Netherlands eScience Center
    family-names: Hafner
    given-names: Flavio
  - affiliation: Netherlands eScience Center
    family-names: Cushing
    given-names: Reggie
  - affiliation: Netherlands eScience Center
    family-names: Kasalica
    given-names: Vedran
    orcid: "https://orcid.org/0000-0002-0097-1056"
  - affiliation: Utrecht University
    family-names: Vargas Honorato
    given-names: Rodrigo
    orcid: "https://orcid.org/0000-0001-5267-3002"
repository-code: "https://github.com/NLeSC/guide"
abstract: >-
  This is a guide to software development and projects at
  the Netherlands eScience Center. It both serves as a
  source of information for exactly how we work at the
  eScience Center, and as a basis for discussions and
  reaching consensus on this topic.
license: CC-BY-4.0

GitHub Events

Total
  • Create event: 44
  • Release event: 7
  • Issues event: 72
  • Watch event: 3
  • Delete event: 34
  • Member event: 9
  • Issue comment event: 181
  • Push event: 134
  • Pull request review comment event: 78
  • Pull request review event: 103
  • Pull request event: 80
  • Fork event: 3
Last Year
  • Create event: 44
  • Release event: 7
  • Issues event: 72
  • Watch event: 3
  • Delete event: 34
  • Member event: 9
  • Issue comment event: 181
  • Push event: 134
  • Pull request review comment event: 78
  • Pull request review event: 103
  • Pull request event: 80
  • Fork event: 3

Committers

Last synced: 8 months ago

All Time
  • Total Commits: 922
  • Total Committers: 53
  • Avg Commits per committer: 17.396
  • Development Distribution Score (DDS): 0.758
Past Year
  • Commits: 129
  • Committers: 14
  • Avg Commits per committer: 9.214
  • Development Distribution Score (DDS): 0.527
Top Committers
Name Email Commits
Niels Drost n****t@e****l 223
Vincent van Hees a****s@g****m 115
E. G. Patrick Bos e****s@g****m 113
Stefan Verhoeven s****n@g****m 74
Bouwe Andela b****a@e****l 69
Jurriaan H. Spaaks j****s@e****l 53
Lourens Veen l****n@e****l 39
Pablo Rodríguez Sánchez p****z@g****m 22
Janneke van der Zwaan j****n@e****l 21
Carlos Martinez c****z@e****l 21
Ben van Werkhoven b****n@e****l 16
Sven van der Burg s****g@e****l 11
Mateusz Kuzak m****k@g****m 10
Jisk Attema j****a@e****l 10
Jens j****r@g****m 10
Atze van der Ploeg a****g@e****l 9
Rodrigo V. Honorato r****o@u****l 9
J. Garcia c****w@c****m 8
pre-commit-ci[bot] 6****] 8
Johannes Hidding j****g 7
Ewan Cahen e****n@e****l 7
Hanno Spreeuw H****w 5
vvanhees v****s@g****m 5
Katrin Leinweber 9****r 4
Joris Borgdorff g****b@b****t 4
Vedran Kasalica v****a@e****l 4
Suvayu Ali s****u 4
gvdoord g****d@g****m 3
Ben Companjen b****n@c****e 3
fdiblen f****n@e****l 3
and 23 more...
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 48
  • Total pull requests: 62
  • Average time to close issues: 21 days
  • Average time to close pull requests: 5 days
  • Total issue authors: 7
  • Total pull request authors: 10
  • Average comments per issue: 1.81
  • Average comments per pull request: 1.56
  • Merged pull requests: 55
  • Bot issues: 0
  • Bot pull requests: 11
Past Year
  • Issues: 47
  • Pull requests: 62
  • Average time to close issues: 21 days
  • Average time to close pull requests: 5 days
  • Issue authors: 7
  • Pull request authors: 10
  • Average comments per issue: 1.66
  • Average comments per pull request: 1.56
  • Merged pull requests: 55
  • Bot issues: 0
  • Bot pull requests: 11
Top Authors
Issue Authors
  • egpbos (49)
  • c-martinez (8)
  • bouweandela (6)
  • ewan-escience (3)
  • vedran-kasalica (2)
  • PabRod (2)
  • LourensVeen (1)
  • f-hafner (1)
  • jiskattema (1)
  • sjvrijn (1)
  • fdiblen (1)
Pull Request Authors
  • egpbos (51)
  • ewan-escience (12)
  • pre-commit-ci[bot] (9)
  • bouweandela (7)
  • vedran-kasalica (7)
  • c-martinez (6)
  • sverhoeven (2)
  • dependabot[bot] (2)
  • suvayu (1)
  • rvhonorato (1)
  • sjvrijn (1)
  • isazi (1)
  • f-hafner (1)
  • PabRod (1)
  • ofek (1)
Top Labels
Issue Labels
dash (15) language guides (10) contribution wanted (6) enhancement (5) research needed (3) technology guides (3) bug (1) release (1)
Pull Request Labels
dependencies (2) github_actions (2)

Dependencies

.github/workflows/link-checker-pr.yml actions
  • actions/checkout v2 composite
  • jitterbit/get-changed-files v1 composite
  • peter-evans/link-checker v1 composite
.github/workflows/link-checker.yml actions
  • actions/checkout v2 composite
  • peter-evans/link-checker v1 composite
.github/workflows/pdf.yml actions
  • actions/checkout v2 composite
  • actions/setup-node v1 composite