This repository contains the EOPF-data-processor project.
Please enter a short description of your project.
This project is organized as follows:
docscontains the source of theEOPF-data-processordocumentation.eopf_data_processorcontains the source code of the project's main Python package.testscontains the unit and integration tests of theEOPF-data-processorproject.
The following tools are used by this project:
.gitlab-ci.yml: GitLab CI pipeline including the following tools:- mypy: Static type checker.
- isort: Import formatter.
- black: Python code formatter.
- bandit: Common security issuer.
- flake8: Python code linter.
- xenon: Complexity monitor.
- Sonarqube: Quality check.
- trivy: Scanner for vulnerabilities.
- sphinx: Document generation.
pre-commit-config.yaml: Pre-commit hooks executed on commits.pyproject.toml: Build system requirements for Python.docs/conf.py: Sphinx documentation generator configuration.
The EOPF-data-processor documentation is available online at
https://The GitLab group name. Please use the same name as in GitLab..pages.eopf.copernicus.eu/eopf-data-processor.
To build the Python module of the EOPF-data-processor project using wheel, run:
pip wheel -w dist --no-deps .The GitLab CI pipeline will also automatically build the package.
To execute the tests locally using pytests, run:
python -m pytest tests/The GitLab CI pipeline will also automatically run the unit and integration tests of the project.
The project's Python package can be uploaded into GitLab's package registry
using twine. Please see GitLab's project settings for the TWINE credentials
and the other environment variables:
TWINE_PASSWORD=${CI_REGISTRY_PASSWORD}
TWINE_USERNAME=${CI_REGISTRY_USER}
python -m twine upload --repository-url ${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/pypi dist/*The GitLab CI pipeline will also automatically publish the package to GitLab's package registry when the pipeline is run for a tag.
The project's documentation can be generated using Sphinx. The GitLab CI
pipeline will generate and deploy the documentation when run for the
default branch. It will generate the documentation accessible through
Gitlab Pages from project's docs folder.
The generation of the API documentation from the Python docstrings included in the source code is included in the documentation generation process.