Metadata-Version: 2.1
Name: nvdutils
Version: 2.4.0
Summary: A package for parsing, representing, and filtering NVD data.
Author-email: Eduard Pinconschi <eduard.pinconschi@tecnico.ulisboa.pt>
Project-URL: repository, https://github.com/epicosy/nvdutils
Project-URL: homepage, https://github.com/epicosy/nvdutils
Keywords: package,nvd,utils
Classifier: Topic :: Software Development
Classifier: Programming Language :: Python
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pandas ~=2.2.2
Requires-Dist: numpy ~=1.26.4
Requires-Dist: tqdm ~=4.66.4
Requires-Dist: cpeparser ~=0.0.2
Requires-Dist: requests ~=2.32.3
Provides-Extra: test
Requires-Dist: pytest ; extra == 'test'
Requires-Dist: pytest-cov ; extra == 'test'
Requires-Dist: coverage ; extra == 'test'
Requires-Dist: twine >=1.11.0 ; extra == 'test'
Requires-Dist: setuptools >=38.6.0 ; extra == 'test'
Requires-Dist: wheel >=0.31.0 ; extra == 'test'

# nvdutils
A package for parsing, representing, and filtering NVD data.

### Setup 
```sh
$ mkdir ~/.nvdutils
$ cd ~/.nvdutils
# Data for the JSONFeedsLoader
$ git clone https://github.com/fkie-cad/nvd-json-data-feeds.git
# CNA list for the base CVEDataLoader
$ git clone https://github.com/epicosy/cna-list.git
```

### Usage

```python
    from nvdutils.core.loaders.json_loader import JSONFeedsLoader
    from nvdutils.types.options import CVEOptions

    cve_options = CVEOptions()
    cve_options.cwe_options.cwe_id = 'CWE-79'
    cve_options.cwe_options.has_cwe = True
    cve_options.cwe_options.in_secondary = False
    cve_options.cwe_options.is_single = True
    cve_options.cvss_options.has_v3 = True
    cve_options.config_options.is_single_vuln_product = True
    cve_options.desc_options.is_single_component = True
    cve_options.desc_options.is_single_vuln = True

    # https://github.com/fkie-cad/nvd-json-data-feeds
    loader = JSONFeedsLoader(data_path='/path/to/nvd-json-data-feeds', options=cve_options,
                             verbose=True)
    loader.load()
    print(len(loader))

    cve = JSONFeedsLoader.load_cve('/path/to/CVE-2019-0001.json')
    print(cve)
```
