Skip to content

EVERSE-ResearchSoftware/indicators

Repository files navigation

Indicators

This is EVERSE repository to maintain a list of Research Software Quality indicators

The metadata for each indicator follows the RS Quality indicators metadata schema.

A list of indicators supported by EVERSE can be seen at https://w3id.org/everse/i/indicators/ (e.g., https://everse.software/indicators/website/indicators.html#no_leaked_credentials)

A list of dimensions is available at https://w3id.org/everse/i/dimensions (e.g., https://w3id.org/everse/i/dimensions/functional_suitability)

API Endpoints

The repository provides JSON API endpoints that consolidate all indicators and dimensions for easy consumption by external services. They are produced by the action pipelines when deploying the website.

Indicators API

  • Endpoint: https://everse.software/indicators/api/indicators.json
  • Description: Returns all software quality indicators with metadata
  • Format: JSON-LD compatible
  • Fields:
    • count: Total number of indicators
    • version: API version
    • lastUpdated: Date of last generation (YYYY-MM-DD)
    • indicators: Array of all indicator objects

Dimensions API

  • Endpoint: https://everse.software/indicators/api/dimensions.json
  • Description: Returns all software quality dimensions with metadata
  • Format: JSON-LD compatible
  • Fields:
    • count: Total number of dimensions
    • version: API version
    • lastUpdated: Date of last generation (YYYY-MM-DD)
    • dimensions: Array of all dimension objects

Usage Example

// Fetch all indicators
const indicator_response = await fetch('https://everse.software/indicators/api/indicators.json');
const indicator_data = await indicator_response.json();
console.log(`Found ${indicator_data.count} indicators`);

// Fetch all dimensions
const dimension_response = await fetch('https://everse.software/indicators/api/dimensions.json');
const dimension_data = await dimension_response.json();
console.log(`Found ${dimension_data.count} dimensions`);

Generating API Files

The API files are automatically generated from the individual JSON files in the indicators/ and dimensions/ folders:

# Generate both APIs
python scripts/generate_api.py

# Generate only indicators API
python scripts/generate_api.py --indicators-only

# Generate only dimensions API
python scripts/generate_api.py --dimensions-only

Note: The API files are generated in api/ during the GitHub Actions workflow and are automatically served by GitHub Pages at /api/indicators.json and /api/dimensions.json. They are not committed to the repository to avoid data duplication.