Python wrapper around NUCLEI's functionality.
Project description
NUCLEI
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4cc8aa2e71e17596769c4fca5f3f448bad9c92b94a7631e22b5772d2cb1d143e
|
|
| MD5 |
c64c24b25dadabcf60087060a6cc4876
|
|
| BLAKE2b-256 |
297dead2f343fd4d8d1683ffcee7a3fd670038d7a5cdfe030f8b43d48ad93c57
|
Provenance
The following attestation bundles were made for cems_nuclei-3.2.0.tar.gz:
Publisher:
release_pypi.yaml on cemsbv/nuclei
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cems_nuclei-3.2.0.tar.gz -
Subject digest:
4cc8aa2e71e17596769c4fca5f3f448bad9c92b94a7631e22b5772d2cb1d143e - Sigstore transparency entry: 836343954
- Sigstore integration time:
-
Permalink:
cemsbv/nuclei@6d5bbcd1b0f407d6df863cb09b9afb887b7354a6 -
Branch / Tag:
refs/tags/3.2.0 - Owner: https://github.com/cemsbv
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release_pypi.yaml@6d5bbcd1b0f407d6df863cb09b9afb887b7354a6 -
Trigger Event:
push
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
906d58af60e40622d19f262b38c205f115fa08cbee05e8df7d076f3c1f454f10
|
|
| MD5 |
afd3ff8b7a94abb51d1b4131f11faea8
|
|
| BLAKE2b-256 |
6f658d3323dc5e996cd80d6c751de7fc65f11717ff595522171808d2a5843dd5
|
Provenance
The following attestation bundles were made for cems_nuclei-3.2.0-py3-none-any.whl:
Publisher:
release_pypi.yaml on cemsbv/nuclei
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cems_nuclei-3.2.0-py3-none-any.whl -
Subject digest:
906d58af60e40622d19f262b38c205f115fa08cbee05e8df7d076f3c1f454f10 - Sigstore transparency entry: 836343964
- Sigstore integration time:
-
Permalink:
cemsbv/nuclei@6d5bbcd1b0f407d6df863cb09b9afb887b7354a6 -
Branch / Tag:
refs/tags/3.2.0 - Owner: https://github.com/cemsbv
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release_pypi.yaml@6d5bbcd1b0f407d6df863cb09b9afb887b7354a6 -
Trigger Event:
push
-
Statement type: