Skip to content

nvd_client.exceptions

Errors raised by the NVD client.

Classes:

NvdClientError

Bases: Exception

Base class for every error raised by this package.

InvalidDateFormatError

InvalidDateFormatError(date_str: object, message: str = 'Dates must be datetime objects. Naive datetimes are treated as UTC.')

Bases: NvdClientError

A date argument was not a datetime.

Attributes:

date_str instance-attribute

date_str = date_str

message instance-attribute

message = message

InvalidParametersError

InvalidParametersError(missing_params: list[str] | None = None, message: str = 'Invalid parameter combination. Both parameters are required.')

Bases: NvdClientError

Query parameters are missing, incomplete, or outside NVD's limits.

Attributes:

missing_params instance-attribute

missing_params = list(missing_params or [])

message instance-attribute

message = message

InvalidCVEIDError

InvalidCVEIDError(cve_id: str, message: str = 'Invalid CVE ID format. Use CVE-YYYY-NNNN (at least four digits).')

Bases: NvdClientError

A CVE ID is not in CVE-YYYY-NNNN form (at least four digits).

Attributes:

cve_id instance-attribute

cve_id = cve_id

message instance-attribute

message = message

NvdApiError

NvdApiError(message: str, *, status_code: int | None = None, url: str | None = None)

Bases: NvdClientError

The NVD service rejected a request or the connection failed.

Attributes:

status_code instance-attribute

status_code = status_code

url instance-attribute

url = url

NvdRateLimitError

NvdRateLimitError(message: str, *, status_code: int | None = None, url: str | None = None)

Bases: NvdApiError

NVD returned 403 or 429 after retries were exhausted.

NVD uses both status codes when a client exceeds the rolling rate limit (5 requests per 30 seconds without an API key, 50 with one).

Attributes:

status_code instance-attribute

status_code = status_code

url instance-attribute

url = url

NvdNotFoundError

NvdNotFoundError(message: str, *, status_code: int | None = None, url: str | None = None)

Bases: NvdApiError

The requested CVE or resource was not found.

Attributes:

status_code instance-attribute

status_code = status_code

url instance-attribute

url = url

NvdResponseError

Bases: NvdClientError

The HTTP call succeeded but the body was not the expected NVD document.