Skip to content

cemsbv/py-cptcore

Folders and files

NameName
Last commit message
Last commit date
Nov 2, 2023
Oct 30, 2023
Oct 30, 2023
Nov 2, 2023
Oct 27, 2023
Oct 27, 2023
Oct 30, 2023
Oct 30, 2023
Oct 27, 2023
Nov 2, 2023
Oct 30, 2023
Oct 30, 2023
Oct 27, 2023
Oct 27, 2023

Repository files navigation

py-cptcore

Public python SDK for the CEMS CPTCore web-API

Checked with mypy Code style: black Imports: isort

This repository is created by CEMS BV and is a public python wrapper around the CEMS CPTCore web-API.

Installation

To install a package in this repository run:

$ pip install py-cptcore

ENV VARS

To use py-cptcore add the follow ENV vars to your environment. Or provide them when asked.

* NUCLEI_TOKEN
    - Your NUCLEI user token

You can obtain your NUCLEI_TOKEN on NUCLEI. Go to personal-access-tokens and create a new user token.

Contribution

Environment

We recommend developing in Python3.9 with a clean virtual environment (using virtualenv or conda), installing the requirements from the requirements.txt file:

Example using virtualenv and pip to install the dependencies in a new environment .env on Linux:

python -m venv .env
source .env/bin/activate
python -m pip install --upgrade pip setuptools
pip install -r requirements.txt
pip install -e .

Documentation

Build the docs:

python -m pip install --upgrade pip setuptools
pip install -r requirements.txt
pip install .

sphinx-build -b html docs public

Format

We format our code with black and isort.

black --config "pyproject.toml" src/pycptcore tests 
isort --settings-path "pyproject.toml" src/pycptcore tests

Lint

To maintain code quality we use the GitHub super-linter.

To run the linters locally, run the run_super_linters.sh bash script from the root directory.

UnitTest

Test the software with the use of coverage:

python -m pip install --upgrade pip setuptools
pip install -r requirements.txt
pip install -e .
coverage run -m pytest

Requirements

Requirements are autogenerated by the pip-compile command with python 3.9

Install pip-tools with:

pip install pip-tools

Generate requirements.txt file with:

pip-compile --extra=test --extra=lint --extra=docs --output-file=requirements.txt pyproject.toml

Update the requirements within the defined ranges with:

pip-compile --upgrade --extra=test --extra=lint --extra=docs --output-file=requirements.txt pyproject.toml