Metadata-Version: 2.3
Name: rsfc
Version: 0.0.1
Summary: EVERSE Research Software Fairness Checks
License: MIT
Author: Andres Montero
Author-email: andres.montero.martin@upm.es
Requires-Python: >=3.10,<=3.13
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Dist: anyascii (==0.3.2)
Requires-Dist: attrs (==25.3.0)
Requires-Dist: beautifulsoup4 (==4.13.4)
Requires-Dist: bibtexparser (==1.4.3)
Requires-Dist: bs4 (==0.0.1)
Requires-Dist: build (==1.2.2.post1)
Requires-Dist: certifi (==2025.6.15)
Requires-Dist: chardet (==5.2.0)
Requires-Dist: charset-normalizer (==3.4.2)
Requires-Dist: click (==8.2.1)
Requires-Dist: click-option-group (==0.5.7)
Requires-Dist: contourpy (==1.3.2)
Requires-Dist: contractions (==0.1.73)
Requires-Dist: cycler (==0.12.1)
Requires-Dist: duckdb (==1.3.1)
Requires-Dist: elementpath (==4.8.0)
Requires-Dist: falcon (==3.1.3)
Requires-Dist: fastjsonschema (==2.21.1)
Requires-Dist: fonttools (==4.58.4)
Requires-Dist: idna (==3.10)
Requires-Dist: imbalanced-learn (==0.11.0)
Requires-Dist: inflect (==7.5.0)
Requires-Dist: iniconfig (==2.1.0)
Requires-Dist: jinja2 (==3.1.6)
Requires-Dist: joblib (==1.5.1)
Requires-Dist: jsonpath-python (==1.0.6)
Requires-Dist: jsonschema (==4.24.0)
Requires-Dist: jsonschema-specifications (==2025.4.1)
Requires-Dist: jupyter-core (==5.8.1)
Requires-Dist: kiwisolver (==1.4.8)
Requires-Dist: lxml (==5.4.0)
Requires-Dist: markdown (==3.8.1)
Requires-Dist: markupsafe (==3.0.2)
Requires-Dist: matplotlib (==3.10.3)
Requires-Dist: more-itertools (==10.7.0)
Requires-Dist: morph-kgc (==2.8.1)
Requires-Dist: nbformat (==5.10.4)
Requires-Dist: nltk (==3.9.1)
Requires-Dist: numpy (==1.26.4)
Requires-Dist: packaging (==25.0)
Requires-Dist: pandas (==2.3.0)
Requires-Dist: pillow (==11.2.1)
Requires-Dist: platformdirs (==4.3.8)
Requires-Dist: pluggy (==1.6.0)
Requires-Dist: pyahocorasick (==2.2.0)
Requires-Dist: pyoxigraph (==0.3.22)
Requires-Dist: pyparsing (==3.2.3)
Requires-Dist: pyproject-hooks (==1.2.0)
Requires-Dist: pystache (>=0.6.8,<0.7.0)
Requires-Dist: pytest (==7.4.4)
Requires-Dist: python-dateutil (==2.9.0.post0)
Requires-Dist: pytz (==2025.2)
Requires-Dist: pyyaml (==6.0.2)
Requires-Dist: rdflib (==7.1.4)
Requires-Dist: rdflib-jsonld (==0.6.2)
Requires-Dist: referencing (==0.36.2)
Requires-Dist: regex (==2024.11.6)
Requires-Dist: requests (==2.32.4)
Requires-Dist: rpds-py (==0.25.1)
Requires-Dist: ruamel-yaml (==0.18.14)
Requires-Dist: ruamel-yaml-clib (==0.2.12)
Requires-Dist: scikit-learn (==1.3.2)
Requires-Dist: scipy (==1.15.3)
Requires-Dist: six (==1.17.0)
Requires-Dist: somef (==0.9.11)
Requires-Dist: soupsieve (==2.7)
Requires-Dist: textblob (==0.17.1)
Requires-Dist: textsearch (==0.0.24)
Requires-Dist: threadpoolctl (==3.6.0)
Requires-Dist: toml (==0.10.2)
Requires-Dist: tomli (==2.2.1)
Requires-Dist: tqdm (==4.67.1)
Requires-Dist: traitlets (==5.14.3)
Requires-Dist: typeguard (==4.4.4)
Requires-Dist: typing-extensions (==4.14.0)
Requires-Dist: tzdata (==2025.2)
Requires-Dist: urllib3 (==2.5.0)
Requires-Dist: validators (==0.22.0)
Requires-Dist: xgboost (==2.1.4)
Project-URL: Homepage, https://github.com/oeg-upm/rsfc
Description-Content-Type: text/markdown

# 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

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 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
```

## 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 ruyn rsfc <repo_url>
```

