codeguardian-cli 1.0.2__tar.gz → 1.2.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. codeguardian_cli-1.2.2/CODEGUARDIAN/src/discovery/finder.py +50 -0
  2. {codeguardian_cli-1.0.2 → codeguardian_cli-1.2.2}/PKG-INFO +1 -1
  3. {codeguardian_cli-1.0.2 → codeguardian_cli-1.2.2}/codeguardian_cli.egg-info/PKG-INFO +1 -1
  4. {codeguardian_cli-1.0.2 → codeguardian_cli-1.2.2}/pyproject.toml +1 -1
  5. {codeguardian_cli-1.0.2 → codeguardian_cli-1.2.2}/tests/test_architecture_validator.py +2 -2
  6. {codeguardian_cli-1.0.2 → codeguardian_cli-1.2.2}/tests/test_ast_cache.py +1 -1
  7. {codeguardian_cli-1.0.2 → codeguardian_cli-1.2.2}/tests/test_file_cache.py +1 -1
  8. {codeguardian_cli-1.0.2 → codeguardian_cli-1.2.2}/tests/test_malformed_source.py +2 -2
  9. codeguardian_cli-1.0.2/CODEGUARDIAN/src/discovery/finder.py +0 -39
  10. {codeguardian_cli-1.0.2 → codeguardian_cli-1.2.2}/CODEGUARDIAN/__init__.py +0 -0
  11. {codeguardian_cli-1.0.2 → codeguardian_cli-1.2.2}/CODEGUARDIAN/analyzers/__init__.py +0 -0
  12. {codeguardian_cli-1.0.2 → codeguardian_cli-1.2.2}/CODEGUARDIAN/analyzers/circular_dependency_analyzer.py +0 -0
  13. {codeguardian_cli-1.0.2 → codeguardian_cli-1.2.2}/CODEGUARDIAN/analyzers/db_access_analyzer.py +0 -0
  14. {codeguardian_cli-1.0.2 → codeguardian_cli-1.2.2}/CODEGUARDIAN/analyzers/dependency_analyzer.py +0 -0
  15. {codeguardian_cli-1.0.2 → codeguardian_cli-1.2.2}/CODEGUARDIAN/analyzers/file_analyzer.py +0 -0
  16. {codeguardian_cli-1.0.2 → codeguardian_cli-1.2.2}/CODEGUARDIAN/analyzers/function_analyzer.py +0 -0
  17. {codeguardian_cli-1.0.2 → codeguardian_cli-1.2.2}/CODEGUARDIAN/analyzers/source_code_analyzer.py +0 -0
  18. {codeguardian_cli-1.0.2 → codeguardian_cli-1.2.2}/CODEGUARDIAN/cli/__init__.py +0 -0
  19. {codeguardian_cli-1.0.2 → codeguardian_cli-1.2.2}/CODEGUARDIAN/cli/commands.py +0 -0
  20. {codeguardian_cli-1.0.2 → codeguardian_cli-1.2.2}/CODEGUARDIAN/config/__init__.py +0 -0
  21. {codeguardian_cli-1.0.2 → codeguardian_cli-1.2.2}/CODEGUARDIAN/config/config_loader.py +0 -0
  22. {codeguardian_cli-1.0.2 → codeguardian_cli-1.2.2}/CODEGUARDIAN/config/settings.py +0 -0
  23. {codeguardian_cli-1.0.2 → codeguardian_cli-1.2.2}/CODEGUARDIAN/main.py +0 -0
  24. {codeguardian_cli-1.0.2 → codeguardian_cli-1.2.2}/CODEGUARDIAN/reports/__init__.py +0 -0
  25. {codeguardian_cli-1.0.2 → codeguardian_cli-1.2.2}/CODEGUARDIAN/reports/architecture_score.py +0 -0
  26. {codeguardian_cli-1.0.2 → codeguardian_cli-1.2.2}/CODEGUARDIAN/reports/console_reporter.py +0 -0
  27. {codeguardian_cli-1.0.2 → codeguardian_cli-1.2.2}/CODEGUARDIAN/reports/html_reporter.py +0 -0
  28. {codeguardian_cli-1.0.2 → codeguardian_cli-1.2.2}/CODEGUARDIAN/reports/json_reporter.py +0 -0
  29. {codeguardian_cli-1.0.2 → codeguardian_cli-1.2.2}/CODEGUARDIAN/reports/markdown_reporter.py +0 -0
  30. {codeguardian_cli-1.0.2 → codeguardian_cli-1.2.2}/CODEGUARDIAN/reports/severity.py +0 -0
  31. {codeguardian_cli-1.0.2 → codeguardian_cli-1.2.2}/CODEGUARDIAN/reports/statistics_reporter.py +0 -0
  32. {codeguardian_cli-1.0.2 → codeguardian_cli-1.2.2}/CODEGUARDIAN/rules/__init__.py +0 -0
  33. {codeguardian_cli-1.0.2 → codeguardian_cli-1.2.2}/CODEGUARDIAN/rules/architecture_rules.py +0 -0
  34. {codeguardian_cli-1.0.2 → codeguardian_cli-1.2.2}/CODEGUARDIAN/rules/architecture_validator.py +0 -0
  35. {codeguardian_cli-1.0.2 → codeguardian_cli-1.2.2}/CODEGUARDIAN/rules/controllers/user_controller.py +0 -0
  36. {codeguardian_cli-1.0.2 → codeguardian_cli-1.2.2}/CODEGUARDIAN/src/__init__.py +0 -0
  37. {codeguardian_cli-1.0.2 → codeguardian_cli-1.2.2}/CODEGUARDIAN/src/discovery/__init__.py +0 -0
  38. {codeguardian_cli-1.0.2 → codeguardian_cli-1.2.2}/CODEGUARDIAN/src/extractor/__init__.py +0 -0
  39. {codeguardian_cli-1.0.2 → codeguardian_cli-1.2.2}/CODEGUARDIAN/src/extractor/class_extractor.py +0 -0
  40. {codeguardian_cli-1.0.2 → codeguardian_cli-1.2.2}/CODEGUARDIAN/src/extractor/function_extractor.py +0 -0
  41. {codeguardian_cli-1.0.2 → codeguardian_cli-1.2.2}/CODEGUARDIAN/src/extractor/import_extractor.py +0 -0
  42. {codeguardian_cli-1.0.2 → codeguardian_cli-1.2.2}/CODEGUARDIAN/src/extractor/python_class_extractor.py +0 -0
  43. {codeguardian_cli-1.0.2 → codeguardian_cli-1.2.2}/CODEGUARDIAN/src/extractor/python_function_extractor.py +0 -0
  44. {codeguardian_cli-1.0.2 → codeguardian_cli-1.2.2}/CODEGUARDIAN/src/extractor/python_imports_extractor.py +0 -0
  45. {codeguardian_cli-1.0.2 → codeguardian_cli-1.2.2}/CODEGUARDIAN/src/main.py +0 -0
  46. {codeguardian_cli-1.0.2 → codeguardian_cli-1.2.2}/CODEGUARDIAN/src/parser/__init__.py +0 -0
  47. {codeguardian_cli-1.0.2 → codeguardian_cli-1.2.2}/CODEGUARDIAN/src/parser/ts_parser.py +0 -0
  48. {codeguardian_cli-1.0.2 → codeguardian_cli-1.2.2}/CODEGUARDIAN/src/tree/Walker.py +0 -0
  49. {codeguardian_cli-1.0.2 → codeguardian_cli-1.2.2}/CODEGUARDIAN/src/tree/__init__.py +0 -0
  50. {codeguardian_cli-1.0.2 → codeguardian_cli-1.2.2}/CODEGUARDIAN/utils/__init__.py +0 -0
  51. {codeguardian_cli-1.0.2 → codeguardian_cli-1.2.2}/CODEGUARDIAN/utils/ast_cache.py +0 -0
  52. {codeguardian_cli-1.0.2 → codeguardian_cli-1.2.2}/CODEGUARDIAN/utils/file_cache.py +0 -0
  53. {codeguardian_cli-1.0.2 → codeguardian_cli-1.2.2}/CODEGUARDIAN/utils/layer_utils.py +0 -0
  54. {codeguardian_cli-1.0.2 → codeguardian_cli-1.2.2}/README.md +0 -0
  55. {codeguardian_cli-1.0.2 → codeguardian_cli-1.2.2}/codeguardian_cli.egg-info/SOURCES.txt +0 -0
  56. {codeguardian_cli-1.0.2 → codeguardian_cli-1.2.2}/codeguardian_cli.egg-info/dependency_links.txt +0 -0
  57. {codeguardian_cli-1.0.2 → codeguardian_cli-1.2.2}/codeguardian_cli.egg-info/entry_points.txt +0 -0
  58. {codeguardian_cli-1.0.2 → codeguardian_cli-1.2.2}/codeguardian_cli.egg-info/requires.txt +0 -0
  59. {codeguardian_cli-1.0.2 → codeguardian_cli-1.2.2}/codeguardian_cli.egg-info/top_level.txt +0 -0
  60. {codeguardian_cli-1.0.2 → codeguardian_cli-1.2.2}/setup.cfg +0 -0
  61. {codeguardian_cli-1.0.2 → codeguardian_cli-1.2.2}/tests/test_circular_dependency.py +0 -0
  62. {codeguardian_cli-1.0.2 → codeguardian_cli-1.2.2}/tests/test_class_extractor.py +0 -0
  63. {codeguardian_cli-1.0.2 → codeguardian_cli-1.2.2}/tests/test_config_loader.py +0 -0
  64. {codeguardian_cli-1.0.2 → codeguardian_cli-1.2.2}/tests/test_dependencies.py +0 -0
  65. {codeguardian_cli-1.0.2 → codeguardian_cli-1.2.2}/tests/test_dependency_analyzer.py +0 -0
  66. {codeguardian_cli-1.0.2 → codeguardian_cli-1.2.2}/tests/test_discovery.py +0 -0
  67. {codeguardian_cli-1.0.2 → codeguardian_cli-1.2.2}/tests/test_function_analyzer.py +0 -0
  68. {codeguardian_cli-1.0.2 → codeguardian_cli-1.2.2}/tests/test_function_extractor.py +0 -0
  69. {codeguardian_cli-1.0.2 → codeguardian_cli-1.2.2}/tests/test_ts_parser.py +0 -0
@@ -0,0 +1,50 @@
1
+ from pathlib import Path
2
+ import os
3
+
4
+ IGNORE_DIRS = {
5
+ "venv",
6
+ ".venv",
7
+ ".git",
8
+ "__pycache__",
9
+ ".pytest_cache",
10
+ "node_modules",
11
+ "dist",
12
+ "build",
13
+ "tests",
14
+ }
15
+
16
+
17
+ def discover_files(project_path, extensions):
18
+
19
+ project_path = Path(project_path)
20
+
21
+ files = []
22
+
23
+ for root, dirs, filenames in os.walk(project_path):
24
+
25
+ # Ignore predefined directories
26
+ dirs[:] = [
27
+ d for d in dirs
28
+ if d not in IGNORE_DIRS
29
+ ]
30
+
31
+ # Ignore Python virtual environments
32
+ dirs[:] = [
33
+ d for d in dirs
34
+ if not (Path(root) / d / "pyvenv.cfg").exists()
35
+ ]
36
+
37
+ for filename in filenames:
38
+
39
+ file_path = Path(root) / filename
40
+
41
+ if filename.startswith("test_"):
42
+ continue
43
+
44
+ if (
45
+ file_path.is_file()
46
+ and file_path.suffix in extensions
47
+ ):
48
+ files.append(file_path)
49
+
50
+ return files
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: codeguardian-cli
3
- Version: 1.0.2
3
+ Version: 1.2.2
4
4
  Summary: Architecture and code quality analyzer
5
5
  Requires-Python: >=3.10
6
6
  Description-Content-Type: text/markdown
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: codeguardian-cli
3
- Version: 1.0.2
3
+ Version: 1.2.2
4
4
  Summary: Architecture and code quality analyzer
5
5
  Requires-Python: >=3.10
6
6
  Description-Content-Type: text/markdown
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "codeguardian-cli"
7
- version = "1.0.2"
7
+ version = "1.2.2"
8
8
  description = "Architecture and code quality analyzer"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
@@ -1,5 +1,5 @@
1
- from analyzers.dependency_analyzer import DependencyAnalyzer
2
- from rules.architecture_validator import ArchitectureValidator
1
+ from CODEGUARDIAN.analyzers.dependency_analyzer import DependencyAnalyzer
2
+ from CODEGUARDIAN.rules.architecture_validator import ArchitectureValidator
3
3
 
4
4
 
5
5
  def test_architecture_validator():
@@ -1,4 +1,4 @@
1
- from utils.ast_cache import ASTCache
1
+ from CODEGUARDIAN.utils.ast_cache import ASTCache
2
2
 
3
3
 
4
4
  def test_ast_cache_returns_same_tree():
@@ -1,4 +1,4 @@
1
- from utils.file_cache import FileCache
1
+ from CODEGUARDIAN.utils.file_cache import FileCache
2
2
 
3
3
 
4
4
  def test_file_cache_returns_same_result():
@@ -1,6 +1,6 @@
1
- from analyzers.function_analyzer import FunctionAnalyzer
1
+ from CODEGUARDIAN.analyzers.function_analyzer import FunctionAnalyzer
2
2
 
3
- from analyzers.source_code_analyzer import SourceCodeAnalyzer
3
+ from CODEGUARDIAN.analyzers.source_code_analyzer import SourceCodeAnalyzer
4
4
 
5
5
 
6
6
  def test_malformed_typescript_is_skipped():
@@ -1,39 +0,0 @@
1
- from pathlib import Path
2
-
3
- IGNORE_DIRS = {
4
- "venv",
5
- ".venv",
6
- ".git",
7
- "__pycache__",
8
- ".pytest_cache",
9
- "node_modules",
10
- "dist",
11
- "build",
12
- "tests",
13
-
14
- }
15
-
16
-
17
- def discover_files(project_path, extensions) -> list[Path]:
18
-
19
-
20
-
21
- project_path = Path(project_path)
22
-
23
- files = []
24
-
25
- for file in project_path.rglob("*"):
26
-
27
- if any(part in IGNORE_DIRS for part in file.parts):
28
- continue
29
-
30
- if file.name.startswith("test_"):
31
- continue
32
-
33
- if file.is_file() and file.suffix in extensions:
34
- files.append(file)
35
-
36
- return files
37
-
38
-
39
-