This repository is created by CEMS BV and helps the user to access and process API calls to the NUCLEI environment.
To install this package, including the NucleiClient
library and its dependencies, run:
pip install cems-nuclei[client]
To skip the installation of the NucleiClient
library, in case you do not need it (e.g. only use pure requests), run:
pip install cems-nuclei
To use nuclei
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.
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 activate .env/bin/activate
python -m pip install --upgrade pip setuptools
pip install -r requirements.txt
pip install -e .
Build the docs:
python -m pip install --upgrade pip setuptools
pip install -r requirements.txt
pip install .
sphinx-build -b html docs public
Note: You'll need to set the NUCLEI_TOKEN
environmental variable.
You can get your token at: https://cemsbv.crux-nuclei.com
We format our code with black and isort.
black --config "pyproject.toml" src/nuclei tests
isort --settings-path "pyproject.toml" src/nuclei tests
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.
Test the software with the use of coverage:
python -m pip install --upgrade pip setuptools
pip install -r requirements.txt
pip install .
coverage run -m pytest
Requirements are autogenerated by pip-compile
with python 3.9
pip-compile --extra=test --extra=docs --extra=lint --extra=client --output-file=requirements.txt pyproject.toml
To update the requirements within the defined ranges, run:
pip-compile --upgrade --extra=test --extra=docs --extra=lint --extra=client --output-file=requirements.txt pyproject.toml