https://github.com/cemsbv/py-cptcore
Public python SDK for the CEMS CPTCore web-API
https://github.com/cemsbv/py-cptcore
gef python sdk-python
Last synced: 5 months ago
JSON representation
Public python SDK for the CEMS CPTCore web-API
- Host: GitHub
- URL: https://github.com/cemsbv/py-cptcore
- Owner: cemsbv
- License: mit
- Created: 2023-10-27T07:02:52.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-05-07T19:50:16.000Z (5 months ago)
- Last Synced: 2025-05-07T23:13:32.995Z (5 months ago)
- Topics: gef, python, sdk-python
- Language: Python
- Homepage: https://cemsbv.github.io/py-cptcore/
- Size: 5.44 MB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# py-cptcore
Public python SDK for the CEMS CPTCore web-API[](http://mypy-lang.org/)
[](https://github.com/psf/black)
[](https://pycqa.github.io/isort/)This repository is created by [CEMS BV](https://cemsbv.nl/) and is a public python wrapper around the CEMS [CPTCore web-API](https://nuclei.cemsbv.io/#/cptcore/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](https://nuclei.cemsbv.io/#/).
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:
```bash
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:
```bash
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.
```bash
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:
```bash
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:
```bash
pip install pip-tools
```Generate requirements.txt file with:
```bash
pip-compile --extra=test --extra=lint --extra=docs --output-file=requirements.txt pyproject.toml
```Update the requirements within the defined ranges with:
```bash
pip-compile --upgrade --extra=test --extra=lint --extra=docs --output-file=requirements.txt pyproject.toml
```