Skip to main content

EVERSE Research Software Fairness Checks

Project description

DOI

Research Software Fairness Checks (RSFC)

A command line interface to automatically evaluate the quality of a Github or Gitlab repository.

Authors: Daniel Garijo, Andrés Montero

Features

Given a repository URL, RSFC will perform a series of checks based on a list of research software quality indicators (RSQI). The RSQIs currently covered by the package are:

  • software_has_license
  • software_has_citation
  • has_releases
  • repository_workflows
  • version_control_use
  • requirements_specified
  • software_documentation
  • persistent_and_unique_identifier
  • descriptive_metadata
  • software_tests
  • archived_in_software_heritage
  • versioning_standards_use

For more information about these RSQIs, you can check https://github.com/EVERSE-ResearchSoftware/indicators. We have plans to implement all of the RSQIs available in that repository.

Requirements

Python 3.10.8 or higher

Dependencies are available in the requirements.txt or pyproject.toml file located in the root of the repository

Install from PyPI

Just run in your terminal the following command:

pip install rsfc

Install from Github with Poetry

To install the package, first clone the repository in your machine. This project uses Poetry for dependency and environment management.

git clone https://github.com/oeg-upm/rsfc.git

Go to the project's root directory

cd rsfc

Install Poetry (if you haven’t already)

curl -sSL https://install.python-poetry.org | python3 -

Make sure Poetry is available in your PATH

poetry --version

Create the virtual environment and install dependencies

poetry install

Activate the virtual environment (Optional)

source $(poetry env info --path)/bin/activate

Your terminal prompt should now show something like:

(rsfc-py3.11) your-user@your-machine rsfc %

With virtual environment activated you can tried like this:

rsfc --help

Without poetry virtual environment activated you need to use the poetry run:

poetry run rsfc --help

Docker installation

If preferred, RSFC can be executed using docker.

Once you have cloned the repository, go to the project's root directory and run the following command to build the image:

docker build -t rsfc-docker .

After that, it is necessary to create the directory in which the output assessment will be saved. You can do it by running the following command:

mkdir ./outputs

Finally, run the following command to run the container:

docker run --rm -v $(pwd)/outputs:/rsfc/outputs rsfc-docker <repo_url>

where repo_url is the url of the repository to be analyzed, which is strictly needed.

Usage

After installation, you can use the package by running if you activated the poetry env

rsfc <repo_url>

or like this without the poetry env

poetry run rsfc <repo_url>

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rsfc-0.0.3.tar.gz (21.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rsfc-0.0.3-py3-none-any.whl (25.1 kB view details)

Uploaded Python 3

File details

Details for the file rsfc-0.0.3.tar.gz.

File metadata

  • Download URL: rsfc-0.0.3.tar.gz
  • Upload date:
  • Size: 21.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.4 CPython/3.10.18 Linux/6.11.0-1018-azure

File hashes

Hashes for rsfc-0.0.3.tar.gz
Algorithm Hash digest
SHA256 465b7f45d7494d2b6b73040bcc6fe683dfdcbcff5c5453ae12857e4e932b6b54
MD5 696e844027f68305be00d1455943b987
BLAKE2b-256 8fa0a82abb0f5b2f87fdf4ad0070c215b68af52499a2cf519b6dae0413bf59d2

See more details on using hashes here.

File details

Details for the file rsfc-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: rsfc-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 25.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.4 CPython/3.10.18 Linux/6.11.0-1018-azure

File hashes

Hashes for rsfc-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 3a330a952d734f807bb6eca4a392fd73ffaba49dd4e854e18be716e684dd24d7
MD5 13cee6f7a1930556f1bd4b810edf7084
BLAKE2b-256 31f48377533ff75c4860f1e8fa878b9ec8862a89e8dd4277f45d6f086ddd1d14

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page