Skip to main content

Python wrapper around NUCLEI's functionality.

Project description

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 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 activate .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

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.

black --config "pyproject.toml" src/nuclei tests
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:

python -m pip install --upgrade pip setuptools
pip install -r requirements.txt
pip install .[test]
coverage run -m pytest

Requirements

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cems_nuclei-3.2.0.tar.gz (11.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cems_nuclei-3.2.0-py3-none-any.whl (10.6 kB view details)

Uploaded Python 3

File details

Details for the file cems_nuclei-3.2.0.tar.gz.

File metadata

  • Download URL: cems_nuclei-3.2.0.tar.gz
  • Upload date:
  • Size: 11.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cems_nuclei-3.2.0.tar.gz
Algorithm Hash digest
SHA256 4cc8aa2e71e17596769c4fca5f3f448bad9c92b94a7631e22b5772d2cb1d143e
MD5 c64c24b25dadabcf60087060a6cc4876
BLAKE2b-256 297dead2f343fd4d8d1683ffcee7a3fd670038d7a5cdfe030f8b43d48ad93c57

See more details on using hashes here.

Provenance

The following attestation bundles were made for cems_nuclei-3.2.0.tar.gz:

Publisher: release_pypi.yaml on cemsbv/nuclei

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cems_nuclei-3.2.0-py3-none-any.whl.

File metadata

  • Download URL: cems_nuclei-3.2.0-py3-none-any.whl
  • Upload date:
  • Size: 10.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cems_nuclei-3.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 906d58af60e40622d19f262b38c205f115fa08cbee05e8df7d076f3c1f454f10
MD5 afd3ff8b7a94abb51d1b4131f11faea8
BLAKE2b-256 6f658d3323dc5e996cd80d6c751de7fc65f11717ff595522171808d2a5843dd5

See more details on using hashes here.

Provenance

The following attestation bundles were made for cems_nuclei-3.2.0-py3-none-any.whl:

Publisher: release_pypi.yaml on cemsbv/nuclei

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page