sqaaas-api-server
Implementation of the 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
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
Metadata Files
README.md
SQAaaS OpenAPI server
Achievements
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
- Python 3.9.2+
- Dependencies: requirements.txt
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
- Website: www.eosc-synergy.eu
- Repositories: 495
- Profile: https://github.com/EOSC-synergy
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
