jaymd96-pants-baseline 0.1.0__tar.gz → 0.1.1__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 (33) hide show
  1. {jaymd96_pants_baseline-0.1.0 → jaymd96_pants_baseline-0.1.1}/PKG-INFO +7 -7
  2. {jaymd96_pants_baseline-0.1.0 → jaymd96_pants_baseline-0.1.1}/README.md +6 -6
  3. {jaymd96_pants_baseline-0.1.0 → jaymd96_pants_baseline-0.1.1}/pyproject.toml +1 -1
  4. {jaymd96_pants_baseline-0.1.0 → jaymd96_pants_baseline-0.1.1}/src/pants_baseline/__about__.py +1 -1
  5. {jaymd96_pants_baseline-0.1.0 → jaymd96_pants_baseline-0.1.1}/src/pants_baseline/rules/audit_rules.py +1 -58
  6. {jaymd96_pants_baseline-0.1.0 → jaymd96_pants_baseline-0.1.1}/.gitignore +0 -0
  7. {jaymd96_pants_baseline-0.1.0 → jaymd96_pants_baseline-0.1.1}/LICENSE +0 -0
  8. {jaymd96_pants_baseline-0.1.0 → jaymd96_pants_baseline-0.1.1}/src/pants_baseline/__init__.py +0 -0
  9. {jaymd96_pants_baseline-0.1.0 → jaymd96_pants_baseline-0.1.1}/src/pants_baseline/goals/__init__.py +0 -0
  10. {jaymd96_pants_baseline-0.1.0 → jaymd96_pants_baseline-0.1.1}/src/pants_baseline/goals/audit.py +0 -0
  11. {jaymd96_pants_baseline-0.1.0 → jaymd96_pants_baseline-0.1.1}/src/pants_baseline/goals/fmt.py +0 -0
  12. {jaymd96_pants_baseline-0.1.0 → jaymd96_pants_baseline-0.1.1}/src/pants_baseline/goals/lint.py +0 -0
  13. {jaymd96_pants_baseline-0.1.0 → jaymd96_pants_baseline-0.1.1}/src/pants_baseline/goals/test.py +0 -0
  14. {jaymd96_pants_baseline-0.1.0 → jaymd96_pants_baseline-0.1.1}/src/pants_baseline/goals/typecheck.py +0 -0
  15. {jaymd96_pants_baseline-0.1.0 → jaymd96_pants_baseline-0.1.1}/src/pants_baseline/register.py +0 -0
  16. {jaymd96_pants_baseline-0.1.0 → jaymd96_pants_baseline-0.1.1}/src/pants_baseline/rules/__init__.py +0 -0
  17. {jaymd96_pants_baseline-0.1.0 → jaymd96_pants_baseline-0.1.1}/src/pants_baseline/rules/fmt_rules.py +0 -0
  18. {jaymd96_pants_baseline-0.1.0 → jaymd96_pants_baseline-0.1.1}/src/pants_baseline/rules/lint_rules.py +0 -0
  19. {jaymd96_pants_baseline-0.1.0 → jaymd96_pants_baseline-0.1.1}/src/pants_baseline/rules/test_rules.py +0 -0
  20. {jaymd96_pants_baseline-0.1.0 → jaymd96_pants_baseline-0.1.1}/src/pants_baseline/rules/typecheck_rules.py +0 -0
  21. {jaymd96_pants_baseline-0.1.0 → jaymd96_pants_baseline-0.1.1}/src/pants_baseline/subsystems/__init__.py +0 -0
  22. {jaymd96_pants_baseline-0.1.0 → jaymd96_pants_baseline-0.1.1}/src/pants_baseline/subsystems/baseline.py +0 -0
  23. {jaymd96_pants_baseline-0.1.0 → jaymd96_pants_baseline-0.1.1}/src/pants_baseline/subsystems/ruff.py +0 -0
  24. {jaymd96_pants_baseline-0.1.0 → jaymd96_pants_baseline-0.1.1}/src/pants_baseline/subsystems/ty.py +0 -0
  25. {jaymd96_pants_baseline-0.1.0 → jaymd96_pants_baseline-0.1.1}/src/pants_baseline/subsystems/uv.py +0 -0
  26. {jaymd96_pants_baseline-0.1.0 → jaymd96_pants_baseline-0.1.1}/src/pants_baseline/targets.py +0 -0
  27. {jaymd96_pants_baseline-0.1.0 → jaymd96_pants_baseline-0.1.1}/tests/__init__.py +0 -0
  28. {jaymd96_pants_baseline-0.1.0 → jaymd96_pants_baseline-0.1.1}/tests/conftest.py +0 -0
  29. {jaymd96_pants_baseline-0.1.0 → jaymd96_pants_baseline-0.1.1}/tests/integration/__init__.py +0 -0
  30. {jaymd96_pants_baseline-0.1.0 → jaymd96_pants_baseline-0.1.1}/tests/integration/test_goals.py +0 -0
  31. {jaymd96_pants_baseline-0.1.0 → jaymd96_pants_baseline-0.1.1}/tests/unit/__init__.py +0 -0
  32. {jaymd96_pants_baseline-0.1.0 → jaymd96_pants_baseline-0.1.1}/tests/unit/test_subsystems.py +0 -0
  33. {jaymd96_pants_baseline-0.1.0 → jaymd96_pants_baseline-0.1.1}/tests/unit/test_targets.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: jaymd96-pants-baseline
3
- Version: 0.1.0
3
+ Version: 0.1.1
4
4
  Summary: Opinionated Python code quality baseline plugin for Pants build system
5
5
  Project-URL: Homepage, https://github.com/jaymd96/pants-baseline
6
6
  Project-URL: Repository, https://github.com/jaymd96/pants-baseline.git
@@ -69,7 +69,7 @@ baseline_python_project(
69
69
  name="my_project",
70
70
  sources=["src/**/*.py"],
71
71
  test_sources=["tests/**/*.py"],
72
- python_version="3.11",
72
+ python_version="3.13",
73
73
  line_length=120,
74
74
  strict=True,
75
75
  coverage_threshold=80,
@@ -105,7 +105,7 @@ pants baseline-audit ::
105
105
  enabled = true
106
106
 
107
107
  # Target Python version
108
- python_version = "3.11"
108
+ python_version = "3.13"
109
109
 
110
110
  # Maximum line length
111
111
  line_length = 120
@@ -209,7 +209,7 @@ The `baseline_python_project` target supports the following fields:
209
209
  |-------|------|---------|-------------|
210
210
  | `sources` | `list[str]` | `["**/*.py"]` | Python source file patterns |
211
211
  | `test_sources` | `list[str]` | `["tests/**/*.py"]` | Test file patterns |
212
- | `python_version` | `str` | `"3.11"` | Target Python version |
212
+ | `python_version` | `str` | `"3.13"` | Target Python version |
213
213
  | `line_length` | `int` | `120` | Maximum line length |
214
214
  | `strict` | `bool` | `True` | Enable strict mode |
215
215
  | `coverage_threshold` | `int` | `80` | Minimum coverage % |
@@ -303,7 +303,7 @@ baseline_python_project(
303
303
 
304
304
  ```toml
305
305
  [GLOBAL]
306
- pants_version = "2.20.0"
306
+ pants_version = "2.30.1"
307
307
  backend_packages = [
308
308
  "pants.backend.python",
309
309
  "pants_baseline",
@@ -311,10 +311,10 @@ backend_packages = [
311
311
  plugins = ["jaymd96-pants-baseline==0.1.0"]
312
312
 
313
313
  [python]
314
- interpreter_constraints = ["CPython>=3.11,<4"]
314
+ interpreter_constraints = ["CPython>=3.13,<4"]
315
315
 
316
316
  [python-baseline]
317
- python_version = "3.11"
317
+ python_version = "3.13"
318
318
  line_length = 120
319
319
  coverage_threshold = 80
320
320
 
@@ -40,7 +40,7 @@ baseline_python_project(
40
40
  name="my_project",
41
41
  sources=["src/**/*.py"],
42
42
  test_sources=["tests/**/*.py"],
43
- python_version="3.11",
43
+ python_version="3.13",
44
44
  line_length=120,
45
45
  strict=True,
46
46
  coverage_threshold=80,
@@ -76,7 +76,7 @@ pants baseline-audit ::
76
76
  enabled = true
77
77
 
78
78
  # Target Python version
79
- python_version = "3.11"
79
+ python_version = "3.13"
80
80
 
81
81
  # Maximum line length
82
82
  line_length = 120
@@ -180,7 +180,7 @@ The `baseline_python_project` target supports the following fields:
180
180
  |-------|------|---------|-------------|
181
181
  | `sources` | `list[str]` | `["**/*.py"]` | Python source file patterns |
182
182
  | `test_sources` | `list[str]` | `["tests/**/*.py"]` | Test file patterns |
183
- | `python_version` | `str` | `"3.11"` | Target Python version |
183
+ | `python_version` | `str` | `"3.13"` | Target Python version |
184
184
  | `line_length` | `int` | `120` | Maximum line length |
185
185
  | `strict` | `bool` | `True` | Enable strict mode |
186
186
  | `coverage_threshold` | `int` | `80` | Minimum coverage % |
@@ -274,7 +274,7 @@ baseline_python_project(
274
274
 
275
275
  ```toml
276
276
  [GLOBAL]
277
- pants_version = "2.20.0"
277
+ pants_version = "2.30.1"
278
278
  backend_packages = [
279
279
  "pants.backend.python",
280
280
  "pants_baseline",
@@ -282,10 +282,10 @@ backend_packages = [
282
282
  plugins = ["jaymd96-pants-baseline==0.1.0"]
283
283
 
284
284
  [python]
285
- interpreter_constraints = ["CPython>=3.11,<4"]
285
+ interpreter_constraints = ["CPython>=3.13,<4"]
286
286
 
287
287
  [python-baseline]
288
- python_version = "3.11"
288
+ python_version = "3.13"
289
289
  line_length = 120
290
290
  coverage_threshold = 80
291
291
 
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "jaymd96-pants-baseline"
7
- version = "0.1.0"
7
+ dynamic = ["version"]
8
8
  description = "Opinionated Python code quality baseline plugin for Pants build system"
9
9
  readme = "README.md"
10
10
  license = {text = "Apache-2.0"}
@@ -1,4 +1,4 @@
1
1
  """Version information for jaymd96-pants-baseline."""
2
2
 
3
- __version__ = "0.1.0"
3
+ __version__ = "0.1.1"
4
4
  __author__ = "James"
@@ -5,17 +5,10 @@ from __future__ import annotations
5
5
  from dataclasses import dataclass
6
6
  from typing import Iterable
7
7
 
8
- from pants.engine.console import Console
9
- from pants.engine.fs import Digest
10
- from pants.engine.goal import Goal, GoalSubsystem
11
8
  from pants.engine.process import FallibleProcessResult, Process
12
- from pants.engine.rules import Get, collect_rules, goal_rule, rule
13
- from pants.engine.target import Targets
9
+ from pants.engine.rules import Get, collect_rules, rule
14
10
  from pants.util.logging import LogLevel
15
11
 
16
- from pants_baseline.subsystems.baseline import BaselineSubsystem
17
- from pants_baseline.subsystems.uv import UvSubsystem
18
-
19
12
 
20
13
  @dataclass(frozen=True)
21
14
  class AuditResult:
@@ -27,19 +20,6 @@ class AuditResult:
27
20
  vulnerabilities_found: int
28
21
 
29
22
 
30
- class AuditSubsystem(GoalSubsystem):
31
- """Subsystem for the audit goal."""
32
-
33
- name = "baseline-audit"
34
- help = "Run security audit on dependencies using uv."
35
-
36
-
37
- class Audit(Goal):
38
- """Goal to run security audit."""
39
-
40
- subsystem_cls = AuditSubsystem
41
-
42
-
43
23
  @dataclass(frozen=True)
44
24
  class UvAuditRequest:
45
25
  """Request to run uv audit."""
@@ -93,43 +73,6 @@ async def run_uv_audit(
93
73
  )
94
74
 
95
75
 
96
- @goal_rule
97
- async def run_audit_goal(
98
- console: Console,
99
- targets: Targets,
100
- uv_subsystem: UvSubsystem,
101
- baseline_subsystem: BaselineSubsystem,
102
- ) -> Audit:
103
- """Execute the security audit goal."""
104
- if not baseline_subsystem.enabled or not uv_subsystem.audit_enabled:
105
- console.print_stdout("Security audit is disabled.")
106
- return Audit(exit_code=0)
107
-
108
- console.print_stdout("Running security audit with uv...")
109
-
110
- result = await Get(
111
- AuditResult,
112
- UvAuditRequest(
113
- lock_file=uv_subsystem.lock_file,
114
- ignore_vulns=tuple(uv_subsystem.audit_ignore_vulns),
115
- output_format=uv_subsystem.output_format,
116
- ),
117
- )
118
-
119
- console.print_stdout(result.stdout)
120
- if result.stderr:
121
- console.print_stderr(result.stderr)
122
-
123
- if result.vulnerabilities_found > 0:
124
- console.print_stderr(
125
- f"\nFound {result.vulnerabilities_found} vulnerabilities!"
126
- )
127
- else:
128
- console.print_stdout("\nNo vulnerabilities found.")
129
-
130
- return Audit(exit_code=result.exit_code)
131
-
132
-
133
76
  def rules() -> Iterable:
134
77
  """Return all audit rules."""
135
78
  return collect_rules()