Skip to content

Repository files navigation

NUCLEI

Checked with mypy Code style: black Imports: isort

This repository is created by CEMS BV and helps the user to access and process API calls to the NUCLEI environment.

Installation

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

ENV VARS

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 Access token and create a new user token.

Contribution

Environment

This project is managed with uv. Install uv, then sync the environment (including all optional extras) and it will create a .venv for you:

uv sync --all-extras

Documentation

Build the docs:

uv sync --extra docs --extra client
uv run 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

Format

We format our code with black and isort.

uv run black --config "pyproject.toml" src/nuclei tests
uv run isort --settings-path "pyproject.toml" src/nuclei 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:

uv sync --all-extras
uv run coverage run -m pytest

Dependency lock file

Dependencies are locked in uv.lock. To update it after changing pyproject.toml, run:

uv lock

About

CEMS Python NUCLEI client

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages