sqaaas-api-server

Implementation of the SQAaaS API server

https://github.com/eosc-synergy/sqaaas-api-server

Science Score: 44.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
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.3%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Implementation of the SQAaaS API server

Basic Info
  • Host: GitHub
  • Owner: EOSC-synergy
  • License: gpl-3.0
  • Language: Python
  • Default Branch: main
  • Size: 1.4 MB
Statistics
  • Stars: 0
  • Watchers: 6
  • Forks: 0
  • Open Issues: 0
  • Releases: 1
Created over 2 years ago · Last pushed over 1 year ago
Metadata Files
Readme Contributing License Code of conduct Citation

README.md

SQAaaS OpenAPI server

SQAaaS badge shields.io License: GPL v3 REUSE status Code style: black

Achievements

SQAaaS badge

Founding institutions

Overview

API server implementation for the SQA-as-a-Service (SQAaaS) platform.

API First strategy

The SQAaaS API implementation follows an API First strategy, where changes in the specification are subsequently coded.

The OpenAPI specification

The SQAaaS API specification is maintained in a separate repository.

OpenAPI Generator

Whenever the specification changes the code is generated by the OpenAPI Generator project. The SQAaaS API uses Python's Connexion library on top of aiohttp.

The generator does not modify the set of files maintained in the .openapi-generator-ignore.

Requirements

Usage

To run the API server, please execute the following from the root directory:

``` $ pip3 install . $ sqaaasapiserver --help usage: sqaaasapiserver [-h] [-c CONFIG_FILE] [-p PORT] [-d]

SQAaaS API server.

optional arguments: -h, --help show this help message and exit -c CONFIGFILE, --config CONFIGFILE Main configuration file (default: /etc/sqaaas/sqaaas.ini). For a complete example, please check -p PORT, --port PORT Port number to be used when exposing the API server (default: 8080) -d, --debug Set DEBUG log level ```

In order to run successfully, the SQAaaS API server requires the presence of a general configuration file, by default in /etc/sqaaas/sqaaas.ini. The Python package is distributed with a sample configuration (sqaaas.ini.sample).

Assuming the default port 8080 is used, use Swagger UI by opening your browser to here:

http://localhost:8080/v1/ui/

The SQAaaS OpenAPI definition can be accessed through:

http://localhost:8080/v1/openapi.json

Docker

Different SQAaaS API server versions will be made available as Docker images through Docker Hub site.

The following command will execute the given version of the SQAaaS API server container, having the required files in the my-sqaaas-api-environ folder: $ docker run -v <my-sqaaas-api-environ>:/etc/sqaaas -t eoscsynergy/sqaaas-api-server:<version>

Development

Deploy in editable mode

Within the root path, execute: $ pip3 install -e .

Running tests

To launch the integration tests, use pytest: sudo pip install -r test-requirements.txt pytest

Building the Docker image

In the root path of the current repository, execute: $ docker build -t eoscsynergy/sqaaas-api-server:<version> -f docker/Dockerfile .

Acknowledgements

This software has been developed within the EOSC-Synergy project that has received funding from the European Union's Horizon 2020 research and innovation programme under grant agreement number 857647.

Owner

  • Name: Project EOSC-synergy
  • Login: EOSC-synergy
  • Kind: organization
  • Email: coordinator@eosc-synergy.eu

Citation (CITATION.cff)

# SPDX-FileCopyrightText: Copyright contributors to the Software Quality Assurance as a Service (SQAaaS) project <sqaaas@ibergrid.eu>
#
# SPDX-License-Identifier: GPL-3.0-only

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

cff-version: 1.2.0
title: SQAaaS API server
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: Pablo
    family-names: Orviz Fernández
    email: orviz@ifca.unican.es
    orcid: 'https://orcid.org/0000-0002-2473-6405'
    affiliation: Spanish National Research Council (CSIC)

GitHub Events

Total
  • Release event: 1
  • Push event: 6
  • Create event: 3
Last Year
  • Release event: 1
  • Push event: 6
  • Create event: 3