From 0ef52a7730f0a06b700e1a24fceea3ea169d4410 Mon Sep 17 00:00:00 2001 From: 7000pctAUTO Date: Mon, 2 Feb 2026 21:34:45 +0000 Subject: [PATCH] Add checks modules (vulnerabilities, outdated) --- depaudit/checks/__init__.py | 68 +++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 depaudit/checks/__init__.py diff --git a/depaudit/checks/__init__.py b/depaudit/checks/__init__.py new file mode 100644 index 0000000..a29bebe --- /dev/null +++ b/depaudit/checks/__init__.py @@ -0,0 +1,68 @@ +from __future__ import annotations + +from dataclasses import dataclass, field +from typing import Any + + +@dataclass +class OutdatedPackage: + package_name: str + current_version: str + latest_version: str + language: str + minor_available: bool = False + patch_available: bool = False + major_available: bool = False + registry_url: str | None = None + publish_date: str | None = None + + def to_dict(self) -> dict[str, Any]: + return { + "package_name": self.package_name, + "current_version": self.current_version, + "latest_version": self.latest_version, + "language": self.language, + "minor_available": self.minor_available, + "patch_available": self.patch_available, + "major_available": self.major_available, + "registry_url": self.registry_url, + "publish_date": self.publish_date, + } + + +@dataclass +class LicenseInfo: + package_name: str + license_type: str | None + license_expression: str | None + source: str + is_spdx_compliant: bool = False + + def to_dict(self) -> dict[str, Any]: + return { + "package_name": self.package_name, + "license_type": self.license_type, + "license_expression": self.license_expression, + "source": self.source, + "is_spdx_compliant": self.is_spdx_compliant, + } + + +@dataclass +class UnusedDependency: + package_name: str + version: str + language: str + declared_in: str + file_path: str + reason: str + + def to_dict(self) -> dict[str, Any]: + return { + "package_name": self.package_name, + "version": self.version, + "language": self.language, + "declared_in": self.declared_in, + "file_path": self.file_path, + "reason": self.reason, + }