The current version of RSQKit is a work in progress. Any content should not be considered final at this stage.
Skip to content Skip to footer

All tools and resources

Tool or resource Description Related pages Registry
Ansible Ansible is a suite of open source command line tools (written in Python) that enables Infrastructure as Code (IaC) - including configuring systems, deploying software, and orchestrating workflows, known for its simplicity and ease of use. Continuous Integration...
Apptainer Apptainer (formerly Singularity) simplifies the creation and execution of containers, ensuring software components are encapsulated for portability and reproducibility, especially in High Performance Computing (HPC) environments. Reproducible software ...
Bandit Bandit is a tool designed to find common security issues in Python code.
Bash Bash, which stands for - Bourne Again SHell, is a command-line interface and scripting language commonly used in Unix and Unix-like operating systems. It provides a powerful environment for executing commands, managing files, and automating tasks through scripts. Choosing languages, to...
Bearer Bearer CLI is a static application security testing (SAST) tool that scans your source code and analyzes your data flows to discover, filter and prioritize security and privacy risks.
Black Automated Python code formatter
Bundler Bundler is a Ruby gems and environment management tool for Ruby projects. Reproducible software ...
C++ C++ is a high-performance, general-purpose programming language that supports both procedural and object-oriented paradigms, offering fine-grained control over system resources. Known for its versatility and efficiency, C++ is widely used in applications requiring high speed and precision, such as game development, operating systems, and real-time simulations. Choosing languages, to...
Calendar Versioning Calendar Versioning (CalVer) is a versioning convention based on your project's release calendar, instead of arbitrary numbers. Releasing software
carbontracker Tracks and predicts the energy consumption and carbon footprint of training deep learning models Improving environmenta...
CFFINIT Generator
ChatGPT Generative artificial intelligence chatbot developed by OpenAI and able to produce code or answer questions on code
Checkstyle Static code analysis tool for Java
Choose an open source license Choose an open source license is a tool to help you choose an open source license for your software. An open source license protects contributors, users and developers. Licensing software
CMake Software Build System.
Code Linters Static code analysis tools Writing readable code
CodeCarbon A software package that integrates into Python codebase - estimating the amount of carbon dioxide (CO2) produced by the cloud or personal computing resources used to execute the code Improving environmenta...
CodeMeta CodeMeta is a community standard and initiative focused on creating a minimal metadata schema for scientific software and code, promoting their findability, preservation, and reuse through machine-readable metadata in JSON-LD format. Software identifiers Software metadata
CodeMeta Generator A free, open-source project that creates a minimal metadata schema for research software and code Software metadata
Conan Conan is an open source, decentralised and multi-platform package manager for C and C++ that allows for creating and sharing native binaries. Reproducible software ...
Conda Open-source, cross-platform, language-agnostic package manager and environment management system - originally developed to solve package management challenges faced by Python data scientists Reproducible software ...
CPPUnit CPP testing tool
Creative Commons License Chooser Creative Commons license chooser to help you select an appropriate Creative Commons license
CUDA Choosing languages, to...
Dependabot Generate automated pull requests updating dependencies for projects
Docker Docker is a tool for creating isolated environments (application isolation) for software development called containers to enable consistent software running across platforms. Docker allows developers to build, share, run and verify applications easily. DockerHub is a repository for sharing and managing container images. Continuous Integration... Creating a good README Reproducible software ...
Docker Compose Docker Compose is a tool for defining and running multi-container applications for streamlined and efficient development and deployment experience. Reproducible software ...
Documenter.jl A documentation generator for Julia. Documenting software Software documentation
Doxygen Documentation generator tool in software development for C++ (and also C, Python, PHP, Java, C#, Objective-C, Fortran, VHDL, Splice, IDL, and Lex) Documenting software Software documentation
DVC Data Version Control - to help you manage and version images, audio, video, and text files in storage and organise your ML modeling process into a reproducible workflow
Eclipse Free and open-source Integrated Development Environment (IDE) used for Java development, with support for developing applications in other programming languages too Software documentation Using version control Writing readable code
Ecograder Evaluates website sustainability based on design and operational efficiency Improving environmenta...
eOSSR Python library to programmatically manage the ESCAPE OSSR; also includes a CodeMeta generator and validator Software identifiers
F-UJI Original version for automated assessment of data FAIRness; extended version (POC only - not all metrics are implemented) for research software based on the FAIR4RS principles.
FAIR Aware Guided approach to assess the FAIRness of data
FAIR Python Coockiecutter FAIR Python Cookiecutter is a cookiecutter template command-line tool to help you kickstart a modern best-practice Python project with FAIR metadata
FigShare Figshare is a provider of open research repository infrastructure for sharing, showcasing and managing all research outputs in a discoverable, citable, reportable and transparent way. Software metadata
Flake8 Static code analysis tool for Python
Fortran Modern Fortran is high-performance parallel programming language that is especially suited to numeric computation and scientific computing. Choosing languages, to...
Galaxy Galaxy is a free, open-source system for analysing data, authoring workflows, training and education, publishing tools, and managing infrastructure. Reproducible software ...
Gcov Code coverage analysis tool
Git Distributed version control system designed to handle everything from small to very large projects with speed and efficiency Using version control
Git Large File Storage An open source Git extension for versioning large files, such as audio samples, videos, datasets, and graphics Using version control
GitHub GitHub is a platform that allows developers to create, store, manage, and share their code. It uses Git to provide distributed version control. GitHub provides access control, bug tracking, software feature requests, task management, continuous integration, and wikis for every project. Documenting software Documenting software u... Releasing software Software documentation Using version control
GitHub Actions GitHub's infrastructure for continuous integration, deployment and delivery Documenting software u... Task automation using ... Testing software
GitHub Pages Publish static websites directly from GitHub repository
GitLab DevOps platform that enables teams to collaborate, plan, develop, test, and deploy software using an integrated toolset for version control, CI/CD, and project management. Documenting software Documenting software u... Packaging & releasing ... Releasing software Software documentation Using version control
GitLab CI/CD GitLab's infrastructure for continuous integration, deployment and delivery Documenting software u... Testing software
GitLab Pages A GitLab tool that publishes static websites directly from a GitLab repository
gitleaks SAST tool for detecting and preventing hardcoded secrets like passwords, API keys, and tokens in code stored in Git repositories
Google’s programming style guide Style guidelines used for Google code Writing readable code
Green Algorithms An online tool to estimate the carbon footprint of computational tasks using a web calculator Improving environmenta...
Greenspector Studio A tool that measures energy usage and resource efficiency in web and mobile applications Improving environmenta...
Guix Package manager.
Hadolint Dockerfile linter
Hermes Workflows
howfairis Howfariris is a command line tool to analyze a GitHub or GitLab repository's compliance with the EU FAIR software recommendations. Creating a good README
Hugo Static website generation based on Go
IntelliJ IDEA Integrated development environment (IDE) written in Java.
InvenioRDM A turn-key research data management (RDM) repository based on Invenio Framework and Zenodo Software metadata
Java Java is a versatile, object-oriented programming language designed to be platform-independent, with its “write once, run anywhere” capability enabled by the Java Virtual Machine (JVM). Creating a good README
JavaDoc Documentation generator for Java used to generate API documentation in HTML format from Java source code Documenting software
JavaScript JavaScript is a lightweight, high-level programming language primarily used to create interactive and dynamic content on web pages, running seamlessly in browsers. Known for its versatility, JavaScript supports event-driven, functional, and object-oriented programming, making it essential for modern web development and widely used alongside HTML and CSS. Choosing languages, to...
Jenkins Automation server to support building, testing and deploying software
JSDoc An API documentation generator for JavaScript, similar to Javadoc Documenting software Software documentation
JSON-LD validator Service to validate JSON-LD files Software metadata
Julia Julia is a high-performance programming language designed for numerical and scientific computing that combines the speed of C with the ease of use of Python. It features multiple dispatch, optional typing, and excellent parallel processing capabilities, making it particularly strong for mathematical computations, data science, and machine learning applications. Choosing languages, to...
JUnit Test automation framework for Java Testing software
Jupyter-Book For building publication-quality books and documents from computational material
Keras Keras is a multi-backend deep learning framework, with support for JAX, TensorFlow, PyTorch, and OpenVINO (for inference-only) to build and train models for computer vision, natural language processing, audio processing, timeseries forecasting, recommender systems, etc. Software documentation
Kubernetes Kubernetes is a container orchestration platform that manages the deployment, scaling, and operation of containerised applications. Continuous Integration...
Maven Maven is a software project management and build automation tool used primarily for Java, but can also be used to build and manage projects written in C#, Ruby, Scala, and other programming languages. Reproducible software ...
Mercurial Distributed source control management tool - it efficiently handles projects of any size and offers an easy and intuitive interface Using version control
MKDocs A tool for creating static documentation for software projects from Markdown Documenting software Documenting software u... Software documentation
NixOS NixOS is a free and open-source Linux distribution based on the Nix package manager. It uses declarative configuration (using the Nix language) to manage packages and the entire system environment - allowing for reproducibility and portability. Reproducible software ...
OpenCL OpenCL (Open Computing Language) is an open standard for parallel programming across various platforms, including CPUs, GPUs, and other processors. It enables developers to write programs that execute across heterogeneous computing systems, allowing for high-performance computing in applications like scientific simulations, image processing, and machine learning. Choosing languages, to...
Packer Packer is an automated build system to manage the creation of identical images for containers and virtual machines (multiple platforms) from a single source configuration, encapsulating 'Images as Code' philosophy. Packer is lightweight, runs on every major operating system, and is highly performant, creating machine images for multiple platforms in parallel. Reproducible software ...
Pelican Static website generation based on Python
PEP8 Style guide for Python code Writing readable code
Perforce Highly scalable development and DevOps solutions designed to deliver dynamic development, intelligent testing and risk management environment Using version control
Pip Package manager for Python packages Reproducible software ...
Pkg.jl Pkg.jl is a package manager for the Julia programming language. Reproducible software ...
Playwrite Framework for Web testing and automation, allowing testing using Chromium, Firefox and WebKit with a single API
Poetry Python packaging and dependency management tool Reproducible software ...
PowerShell PowerShell is a Microsoft task automation and configuration management framework, featuring a command-line shell and a scripting language. It is designed to help system administrators and power users control and automate the administration of Windows and other Microsoft technologies. Choosing languages, to...
precommit A framework for managing and maintaining multi-language pre-commit hooks
Prettier Prettier is a code formatter to enforce a consistent style with its own rules for different languages, including JavaScript, TypeScript, Flow, JSX, JSON, CSS, SCSS, Less, HTML, Vue, Angular, GraphQL, Markdown, and YAML.
PyCharm Free Python Integrated Development Environment (IDE) for application, data science and web development Software documentation Using version control Writing readable code
Pylint Static code analysis tool for Python Writing readable code
Pytest Test automation framework for Python Testing software
Python Python is an interpreted, high-level, object-oriented programming language known for its dynamic typing, readability, and extensive standard library, making it ideal for rapid development and modular, reusable code. Creating a good README Choosing languages, to...
Python Docstring Generator Python Docstring Generator for Visual Studio Code Software documentation
Python Package Index (PyPi) Official third-party software repository for Python packages Packaging & releasing ... Reproducible software ...
R R is a programming language and environment designed for statistical computing and graphics, widely used by data scientists, statisticians, and researchers. Known for its extensive libraries and rich visualization capabilities, R excels in data analysis, modelling, and reproducible research. Choosing languages, to...
R Style Guide Google’s R code style guide Writing readable code
Read the Docs A documentation building and hosting platform aimed at helping developers create documentation from code Documenting software Documenting software u... Software documentation
Renv Package that helps you create reproducible environments for your R projects - use renv to make your R projects more isolated, portable and reproducible Reproducible software ...
REUSE Automate the declaring of copyright and licensing for software projects with SPDX Tags Licensing software
Roxygen Documentation generator tool in software development for R Documenting software Software documentation
RPM Package manager.
RSQKit RSQKit is a platform that curates quality practices in research software. It links to tools, resources, quality metrics, and training to support implementing these practices, while also highlighting the importance of roles like Research Software Engineers (RSEs) and career development in the field. Licensing software
RStudio Integrated Development Environment (IDE) for R, a programming language for statistical computing and graphics Using version control Writing readable code
Ruff An extremely fast Python linter and code formatter written in Rust
Rust Rust is a systems programming language focused on memory safety, concurrency, and performance without using garbage collection, enforcing memory safety through its unique ownership system and borrowing rules. It combines low-level control with high-level abstractions, making it suitable for everything from operating systems to WebAssembly applications. Choosing languages, to...
Score-P The Score-P (Scalable Performance Measurement Infrastructure for Parallel Codes) measurement infrastructure is a highly scalable and easy-to-use tool suite for profiling and event trace recording of HPC applications.
Selenium Automates Web browser interaction from Python - Selenium WebDriver is often used as a basis for testing Web applications
Semantic Versioning Semantic versioning (SemVer) is a widely-adopted version scheme that encodes a version of a project by a three-part version number (MAJOR.MINOR.PATCH), an optional pre-release tag, and an optional build meta tag. Packaging & releasing ... Releasing software Software identifiers
Singularity Singularity is an open source container platform allows us to create and run containers that package up pieces of software in a way that is portable and reproducible. Singularity is designed for ease-of-use on shared multiuser systems and in High Performance Computing (HPC) environments. Singularity is compatible with all Docker images and it can be used with GPUs and MPI applications. Reproducible software ...
Software Heritage Collects, preserves, curates and makes available software in source code form as cultural heritage Software metadata
SOMEF Software Metadata Extraction Framework (SOMEF) is a command line tool for automatically extracting relevant software information from README files Creating a good README Software metadata
SOMEF Vider A service running SOMEF to obtain CodeMeta files Software metadata
SonarQube Continuous inspection of code quality to perform automatic reviews for static analysis of code
SPDX System Package Data Exchange (SPDX) is an open standard for representing systems with software components as SBOMs (Software Bill of Materials) and other AI, data and security references supporting a range of risk management use cases. Licensing software Software metadata
Sphinx Documentation generator from reStructuredText files primarily for Python, but also supports other languages - C++, C, JavaScript. Documenting software Documenting software u... Software documentation
SQAaas Software Quality Assessment as a Service - the Quality Assessment & Awarding building block analysing the level of completeness with the FAIR4RS reference criteria for any given release of your software
Subversion Version control system Using version control
Swagger A suite of tools for API developers that generate APIs from code (and the basis for the OpenAPI Specification) Documenting software Software documentation
Terraform Terraform is a powerful and one of the most popular Infrastructure as Code (IaC) tools that enables infrastructure management across multiple cloud providers using a simple, declarative language, Continuous Integration...
Test.jl Test module for Julia Testing software
testthat Unit Testing for R Testing software
tox Python testing tool
Travis CI platform to support building, testing and deploying software
TypeScript TypeScript is a strongly typed superset of JavaScript that adds static typing and advanced tooling capabilities, enhancing code quality and developer productivity. Designed for building scalable applications, TypeScript compiles to plain JavaScript, ensuring compatibility with existing JavaScript environments. Choosing languages, to...
UV UV is extremely fast Python package and project manager, written in Rust. Reproducible software ...
Vagrant Vagrant is a tool that simplifies and provides a single workflow for the creation and management of virtual machines, and provides full VM isolation. Continuous Integration... Reproducible software ...
Valgrind Detect memory management and threading bugs, run profiling to see how to speed up your programs
Venv Python module for creating lightweight “virtual environments”, each with their own independent set of Python packages installed in their site directories Reproducible software ...
Visual Studio Code Visual Studio Code, commonly referred to as VS Code, is an Integrated Development Environment (IDE) developed by Microsoft that includes support for debugging, syntax highlighting, intelligent code completion, snippets, code refactoring, and embedded version control with Git. Software documentation Using version control Writing readable code
Workflow Description Language Workflow Description Language (WDL) is an open standard for describing data processing workflows with a human-readable and writeable syntax. Reproducible software ...
Zammad Helpdesk software, ticketing system
Zenodo Zenodo is a general-purpose open repository developed under the European OpenAIRE program and operated by CERN. It allows researchers to deposit research papers, data sets, research software, reports, and other research-related digital artefacts. Documenting software Releasing software Software documentation Software identifiers Software metadata