Compare commits

38 Commits
v1.0.0 ... main

Author SHA1 Message Date
eeae701c4f fix: resolve CI linting failures
All checks were successful
CI / test (push) Successful in 24s
- Remove unused imports across all modules
- Remove unused variables (names, color, output, original_line, extras)
- Fix regex syntax errors in parser files
- Remove unused Dependency imports from parsers
2026-02-02 22:00:03 +00:00
6527165498 fix: resolve CI linting failures
Some checks failed
CI / test (push) Has been cancelled
- Remove unused imports across all modules
- Remove unused variables (names, color, output, original_line, extras)
- Fix regex syntax errors in parser files
- Remove unused Dependency imports from parsers
2026-02-02 22:00:01 +00:00
2e5cbcc666 fix: resolve CI linting failures
Some checks failed
CI / test (push) Has been cancelled
- Remove unused imports across all modules
- Remove unused variables (names, color, output, original_line, extras)
- Fix regex syntax errors in parser files
- Remove unused Dependency imports from parsers
2026-02-02 22:00:00 +00:00
11e4569360 fix: resolve CI linting failures
Some checks failed
CI / test (push) Has been cancelled
- Remove unused imports across all modules
- Remove unused variables (names, color, output, original_line, extras)
- Fix regex syntax errors in parser files
- Remove unused Dependency imports from parsers
2026-02-02 21:59:59 +00:00
2613ac1388 fix: resolve CI linting failures
Some checks failed
CI / test (push) Has been cancelled
- Remove unused imports across all modules
- Remove unused variables (names, color, output, original_line, extras)
- Fix regex syntax errors in parser files
- Remove unused Dependency imports from parsers
2026-02-02 21:59:58 +00:00
0c4a3ec376 fix: resolve CI linting failures
Some checks failed
CI / test (push) Has been cancelled
- Remove unused imports across all modules
- Remove unused variables (names, color, output, original_line, extras)
- Fix regex syntax errors in parser files
- Remove unused Dependency imports from parsers
2026-02-02 21:59:55 +00:00
7734a7f728 fix: resolve CI linting failures
Some checks failed
CI / test (push) Has been cancelled
- Remove unused imports across all modules
- Remove unused variables (names, color, output, original_line, extras)
- Fix regex syntax errors in parser files
- Remove unused Dependency imports from parsers
2026-02-02 21:59:53 +00:00
ae9fc1e54d fix: resolve CI linting failures
Some checks failed
CI / test (push) Has been cancelled
- Remove unused imports across all modules
- Remove unused variables (names, color, output, original_line, extras)
- Fix regex syntax errors in parser files
- Remove unused Dependency imports from parsers
2026-02-02 21:59:52 +00:00
5ac234aa7f fix: resolve CI linting failures
Some checks failed
CI / test (push) Has been cancelled
- Remove unused imports across all modules
- Remove unused variables (names, color, output, original_line, extras)
- Fix regex syntax errors in parser files
- Remove unused Dependency imports from parsers
2026-02-02 21:59:51 +00:00
42d2514680 fix: resolve CI linting failures
Some checks failed
CI / test (push) Has been cancelled
- Remove unused imports across all modules
- Remove unused variables (names, color, output, original_line, extras)
- Fix regex syntax errors in parser files
- Remove unused Dependency imports from parsers
2026-02-02 21:59:51 +00:00
d11ea8e99e fix: resolve CI linting failures
Some checks failed
CI / test (push) Has been cancelled
- Remove unused imports across all modules
- Remove unused variables (names, color, output, original_line, extras)
- Fix regex syntax errors in parser files
- Remove unused Dependency imports from parsers
2026-02-02 21:59:49 +00:00
96daf3df57 fix: resolve CI linting failures
Some checks failed
CI / test (push) Has been cancelled
- Remove unused imports across all modules
- Remove unused variables (names, color, output, original_line, extras)
- Fix regex syntax errors in parser files
- Remove unused Dependency imports from parsers
2026-02-02 21:59:47 +00:00
255fd2cfe8 fix: resolve CI linting failures
Some checks failed
CI / test (push) Has been cancelled
- Remove unused imports across all modules
- Remove unused variables (names, color, output, original_line, extras)
- Fix regex syntax errors in parser files
- Remove unused Dependency imports from parsers
2026-02-02 21:59:44 +00:00
eb0abc0c15 fix: resolve CI linting failures
Some checks failed
CI / test (push) Has been cancelled
- Remove unused imports across all modules
- Remove unused variables (names, color, output, original_line, extras)
- Fix regex syntax errors in parser files
- Remove unused Dependency imports from parsers
2026-02-02 21:59:42 +00:00
ad56432a3b fix: resolve CI linting failures
Some checks failed
CI / test (push) Has been cancelled
- Remove unused imports across all modules
- Remove unused variables (names, color, output, original_line, extras)
- Fix regex syntax errors in parser files
- Remove unused Dependency imports from parsers
2026-02-02 21:59:40 +00:00
a88ce088f3 fix: resolve CI linting failures
Some checks failed
CI / test (push) Has been cancelled
- Remove unused imports across all modules
- Remove unused variables (names, color, output, original_line, extras)
- Fix regex syntax errors in parser files
- Remove unused Dependency imports from parsers
2026-02-02 21:59:39 +00:00
79d9f7c5dd fix: resolve CI linting failures
Some checks failed
CI / test (push) Has been cancelled
- Remove unused imports across all modules
- Remove unused variables (names, color, output, original_line, extras)
- Fix regex syntax errors in parser files
- Remove unused Dependency imports from parsers
2026-02-02 21:59:39 +00:00
a2a9d4772a fix: resolve CI linting failures
Some checks failed
CI / test (push) Has been cancelled
- Remove unused imports across all modules
- Remove unused variables (names, color, output, original_line, extras)
- Fix regex syntax errors in parser files
- Remove unused Dependency imports from parsers
2026-02-02 21:59:38 +00:00
07e2d9c9a2 fix: resolve CI linting failures
Some checks failed
CI / test (push) Has been cancelled
- Remove unused imports across all modules
- Remove unused variables (names, color, output, original_line, extras)
- Fix regex syntax errors in parser files
- Remove unused Dependency imports from parsers
2026-02-02 21:59:38 +00:00
5828a2da6c fix: resolve CI linting failures
Some checks failed
CI / test (push) Failing after 13s
2026-02-02 21:50:41 +00:00
d19d867d78 fix: resolve CI linting failures
Some checks failed
CI / test (push) Has been cancelled
2026-02-02 21:50:41 +00:00
754b334acd fix: resolve CI linting failures
Some checks failed
CI / test (push) Has been cancelled
2026-02-02 21:50:40 +00:00
a846225f93 fix: resolve CI linting failures
Some checks failed
CI / test (push) Has been cancelled
2026-02-02 21:50:39 +00:00
8bd320237a fix: resolve CI linting failures
Some checks failed
CI / test (push) Has been cancelled
2026-02-02 21:50:39 +00:00
883d0161fc fix: resolve CI linting failures
Some checks failed
CI / test (push) Has been cancelled
2026-02-02 21:50:38 +00:00
6fc403de85 fix: resolve CI linting failures
Some checks failed
CI / test (push) Failing after 11s
2026-02-02 21:49:22 +00:00
072a4c1e00 fix: resolve CI linting failures
Some checks failed
CI / test (push) Has been cancelled
2026-02-02 21:49:20 +00:00
7922dccb80 fix: resolve CI linting failures
Some checks failed
CI / test (push) Has been cancelled
2026-02-02 21:49:19 +00:00
6f2a5b4e54 fix: resolve CI linting failures
Some checks failed
CI / test (push) Has been cancelled
2026-02-02 21:49:19 +00:00
b23ebf838a fix: resolve CI linting failures
Some checks failed
CI / test (push) Has been cancelled
2026-02-02 21:49:18 +00:00
d1322f259a fix: resolve CI linting failures
Some checks failed
CI / test (push) Failing after 13s
2026-02-02 21:48:03 +00:00
c3cb7cc142 fix: resolve CI linting failures
Some checks failed
CI / test (push) Has been cancelled
2026-02-02 21:48:02 +00:00
89df03a9b9 fix: resolve CI linting failures
Some checks failed
CI / test (push) Has been cancelled
2026-02-02 21:48:02 +00:00
9c6de1b32e fix: resolve CI linting failures
Some checks failed
CI / test (push) Has been cancelled
2026-02-02 21:48:01 +00:00
6611aa6fd8 fix: resolve CI linting failures
Some checks failed
CI / test (push) Has been cancelled
2026-02-02 21:48:01 +00:00
16b8daa3d4 fix: resolve CI linting failures
Some checks failed
CI / test (push) Failing after 12s
2026-02-02 21:46:53 +00:00
ea08d50b30 fix: resolve CI linting failures
Some checks failed
CI / test (push) Has been cancelled
2026-02-02 21:46:52 +00:00
9e29cb5813 fix: resolve CI linting failures
Some checks failed
CI / test (push) Has been cancelled
2026-02-02 21:46:51 +00:00
19 changed files with 15 additions and 46 deletions

View File

@@ -1,6 +1,6 @@
from __future__ import annotations
from dataclasses import dataclass, field
from dataclasses import dataclass
from typing import Any

View File

@@ -1,7 +1,5 @@
from __future__ import annotations
from dataclasses import dataclass
from typing import Any
from depaudit.checks import LicenseInfo

View File

@@ -1,6 +1,5 @@
from __future__ import annotations
import json
import re
from dataclasses import dataclass
from typing import Any

View File

@@ -4,7 +4,6 @@ import ast
import re
from dataclasses import dataclass
from pathlib import Path
from typing import Any
from depaudit.checks import UnusedDependency
@@ -51,7 +50,6 @@ class PythonSourceParser(SourceParser):
)
elif isinstance(node, ast.ImportFrom):
module = node.module or ""
names = [alias.asname or alias.name for alias in node.names]
for alias in node.names:
imports.append(
ImportStatement(

View File

@@ -1,18 +1,13 @@
from __future__ import annotations
import json
import sys
import time
from pathlib import Path
from typing import Any
import click
import requests
from depaudit import __version__
from depaudit.checks.outdated import OutdatedPackage
from depaudit.checks.licenses import LicenseInfo
from depaudit.checks.unused import UnusedDependency
from depaudit.checks.vulnerabilities import Vulnerability
from depaudit.checks.outdated import check_outdated
from depaudit.checks.licenses import check_license, validate_license_compliance
@@ -20,7 +15,6 @@ from depaudit.checks.unused import check_unused_dependencies
from depaudit.config import config
from depaudit.output import AuditResult
from depaudit.output.factory import FormatterFactory
from depaudit.parsers import ParsedManifest
from depaudit.parsers.factory import ParserFactory
@@ -217,7 +211,7 @@ def audit(
def check_vulnerability(dep, severity_filter: str) -> Vulnerability | None:
try:
url = f"https://api.osv.dev/v1/query"
url = "https://api.osv.dev/v1/query"
payload = {
"package": {"name": dep.name},
"version": dep.version,

View File

@@ -5,7 +5,7 @@ import subprocess
from dataclasses import dataclass
from pathlib import Path
from depaudit.checks import Vulnerability, OutdatedPackage
from depaudit.checks import OutdatedPackage
@dataclass

View File

@@ -1,6 +1,5 @@
from __future__ import annotations
from typing import Optional
from depaudit.output import Formatter
from depaudit.output.json_formatter import JSONFormatter

View File

@@ -58,7 +58,6 @@ class TableFormatter(Formatter):
lines.append("SEVERITY SUMMARY:")
for severity, count in summary["severity_breakdown"].items():
if count > 0:
color = SEVERITY_COLORS.get(severity, "grey")
lines.append(f" {severity.upper()}: {count}")
lines.append("")
@@ -67,8 +66,6 @@ class TableFormatter(Formatter):
return "\n".join(lines)
def _render_table(self, table: Table) -> str:
from io import StringIO
output = StringIO()
self.console.begin_capture()
self.console.print(table)
captured = self.console.end_capture()

View File

@@ -1,9 +1,8 @@
from __future__ import annotations
from pathlib import Path
from typing import Any
from depaudit.parsers import Parser, ParsedManifest, Dependency
from depaudit.parsers import Parser, ParsedManifest
class GoParser(Parser):
@@ -27,7 +26,6 @@ class GoParser(Parser):
while i < len(lines):
line = lines[i].strip()
original_line = lines[i]
if not line or line.startswith("//"):
i += 1

View File

@@ -2,9 +2,8 @@ from __future__ import annotations
import xml.etree.ElementTree as ET
from pathlib import Path
from typing import Any
from depaudit.parsers import Parser, ParsedManifest, Dependency
from depaudit.parsers import Parser, ParsedManifest
class JavaParser(Parser):
@@ -138,8 +137,8 @@ class JavaParser(Parser):
def _extract_gradle_value(self, content: str, key: str) -> str | None:
import re
patterns = [
key + "\s*=\s*["']([^"\']+)["']",
key + "\s*=\s*([^\s]+)",
key + r"\s*=\s*[\"']([^\"']+)[\"']",
key + r"\s*=\s*([^\s]+)",
]
for pattern in patterns:
match = re.search(pattern, content)

View File

@@ -4,7 +4,7 @@ import json
from pathlib import Path
from typing import Any
from depaudit.parsers import Parser, ParsedManifest, Dependency
from depaudit.parsers import Parser, ParsedManifest
class JavaScriptParser(Parser):

View File

@@ -3,14 +3,13 @@ from __future__ import annotations
import re
import sys
from pathlib import Path
from typing import Any
if sys.version_info >= (3, 11):
import tomllib
else:
import tomli as tomllib
from depaudit.parsers import Parser, ParsedManifest, Dependency
from depaudit.parsers import Parser, ParsedManifest
class PythonParser(Parser):
@@ -119,11 +118,11 @@ class PythonParser(Parser):
self._create_dependency(file_path, name, version)
)
name_match = re.search(r'name\s*=\s*["']([^"\']+)["']', content)
name_match = re.search(r"name\s*=\s*[\"']([^\"']+)[\"']", content)
if name_match:
manifest.project_name = name_match.group(1)
version_match = re.search(r'version\s*=\s*["']([^"\']+)["']', content)
version_match = re.search(r"version\s*=\s*[\"']([^\"']+)[\"']", content)
if version_match:
manifest.project_version = version_match.group(1)
@@ -147,7 +146,7 @@ class PythonParser(Parser):
def _parse_pipfile(self, file_path: Path, manifest: ParsedManifest) -> None:
content = file_path.read_text(encoding="utf-8")
name_match = re.search(r'name\s*=\s*["']([^"\']+)["']', content)
name_match = re.search(r"name\s*=\s*[\"']([^\"']+)[\"']", content)
if name_match:
manifest.project_name = name_match.group(1)
@@ -195,10 +194,8 @@ class PythonParser(Parser):
extras_match = re.match(r"([^\[]+)(?:\[([^\]]+)\])?", req)
if extras_match:
name = extras_match.group(1)
extras = extras_match.group(2)
else:
name = req
extras = None
for op in ["==", ">=", "<=", "~=", "!=", ">", "<", "==="]:
if op in name:

View File

@@ -4,7 +4,7 @@ import tomllib
from pathlib import Path
from typing import Any
from depaudit.parsers import Parser, ParsedManifest, Dependency
from depaudit.parsers import Parser, ParsedManifest
class RustParser(Parser):

View File

@@ -1,6 +1,5 @@
"""Pytest configuration and fixtures for DepAudit tests."""
import json
import tempfile
from pathlib import Path

View File

@@ -1,4 +1,3 @@
import pytest
from pathlib import Path
import tempfile
import json

View File

@@ -1,10 +1,8 @@
import pytest
from unittest.mock import Mock, patch
from unittest.mock import patch
from depaudit.utils.version import (
parse_version,
compare_versions,
is_version_outdated,
extract_version_from_specifier,
)

View File

@@ -1,5 +1,4 @@
import pytest
from unittest.mock import patch, Mock
from click.testing import CliRunner
from pathlib import Path
import tempfile

View File

@@ -1,8 +1,6 @@
import pytest
from unittest.mock import Mock, patch
import json
from depaudit.output import AuditResult, Formatter
from depaudit.output import AuditResult
from depaudit.output.json_formatter import JSONFormatter
from depaudit.output.table_formatter import TableFormatter
from depaudit.output.factory import FormatterFactory

View File

@@ -1,8 +1,5 @@
import json
import pytest
from pathlib import Path
from depaudit.parsers import Parser, ParsedManifest
from depaudit.parsers.javascript import JavaScriptParser
from depaudit.parsers.python import PythonParser
from depaudit.parsers.go import GoParser