cve
===

.. py:module:: cve


Attributes
----------

.. autoapisummary::

   cve.logger


Classes
-------

.. autoapisummary::

   cve.CVE
   cve.NVD


Module Contents
---------------

.. py:data:: logger

.. py:class:: CVE(json_content: dict[str, Any])

   Represent a CVE entry.


   .. py:attribute:: json_content


   .. py:property:: cve_id
      :type: str


      Return the CVE ID.



   .. py:property:: nvd_url
      :type: str


      Return the nvd.nist.gov vulnerability URL for that CVE.



.. py:class:: NVD(cache_db_path: str | None = None, cache_backend: str | None = None, nvd_api_key: str | None = None)

   Provide access to the NVD API.


   .. py:attribute:: cache_db_path
      :value: None



   .. py:attribute:: cache_backend
      :value: None



   .. py:attribute:: nvd_api_key
      :value: None



   .. py:attribute:: _session
      :type:  requests.Session | None
      :value: None



   .. py:method:: search_by_cpe_name(cpe_name: str, is_vulnerable: bool = True, no_rejected: bool = True, results_per_page: int | None = None) -> Iterator[CVE]

      Return a list of matching CVE entries.

      :param no_rejected: remove CVE records with the REJECT or Rejected
          status from API response
      :param results_per_page: number of results to return for each request,
           note that it is recommended to keep the default setting



   .. py:method:: __enter__() -> Any

      Return an http requests Session supporting cache.

      Use requests_cache CachedSession when cache is requested.



   .. py:method:: __exit__(_type: Any, _value: Any, _tb: Any) -> None


   .. py:method:: close() -> None


   .. py:property:: session
      :type: requests.Session



