jaymd96-pants-baseline 0.2.7__py3-none-any.whl → 0.2.9__py3-none-any.whl

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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: jaymd96-pants-baseline
3
- Version: 0.2.7
3
+ Version: 0.2.9
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
@@ -1,7 +1,7 @@
1
- pants_baseline/__about__.py,sha256=7fEIct1oXFzh2ScMT_ylRqHDJU-bdEHdtv1SFNkCqTs,98
1
+ pants_baseline/__about__.py,sha256=piZQ-4wI_ORwlUrwDbJ7T91CVNsXxjVfC6784V1J08Y,98
2
2
  pants_baseline/__init__.py,sha256=uVRGi1D2gFjc7emmeewWdcvpO-NsUuKsMbX3rztOxWU,655
3
3
  pants_baseline/bundled_claude_plugins.py,sha256=rHchQRQ_UabOOKyQOxVwoyE2xLjE8eiUFVN7oERDCe0,1608
4
- pants_baseline/register.py,sha256=_ahV7CRNWxv4lUXb03ZBM9vJnP4ekLw8DgnpInVK35o,1078
4
+ pants_baseline/register.py,sha256=1ROcYLg3JYoHIxxaytrEFHuqL3cvCmKWqkNIl7G6RpU,1426
5
5
  pants_baseline/targets.py,sha256=Z9O09Aqd5inMqwIUFt4HSE9HtWjn8pGSU4FZHg22Tpo,3379
6
6
  pants_baseline/goals/__init__.py,sha256=pf6KU2CIQuDkx8ER3IS0H-kuNbBtX-AH5B5SnSP9_yw,192
7
7
  pants_baseline/goals/audit.py,sha256=i7zyyKssWw6EE2zN5putWP9sikkcjUKn7g3Jrapv994,2380
@@ -11,16 +11,16 @@ pants_baseline/goals/test.py,sha256=THW4kJAFbAzPCjLbq1dxg81T19QdywXYiwTNKSB4z8M,
11
11
  pants_baseline/goals/typecheck.py,sha256=nqfwy1BZqhEzlDX-_hme9mKuDI2KqH-XpN4ygzWMQ6Y,2626
12
12
  pants_baseline/rules/__init__.py,sha256=UpvDpGVImhRfp2_VeUNsRPGiWjBbMI6AV1-Yx3kS0Gg,252
13
13
  pants_baseline/rules/audit_rules.py,sha256=5VzHExJdvB00KrVIAuxlb7pwNfTC0djr5QzF8wXMYws,2906
14
- pants_baseline/rules/fmt_rules.py,sha256=jlAbPHr_zRYl9eOUy76N-pII-mJ_f3-bkHBKyO_swtQ,3887
15
- pants_baseline/rules/lint_rules.py,sha256=KPrx6Edfy56KsQikye354G-z3vgCJOY6n9m5fynxMkA,4452
14
+ pants_baseline/rules/fmt_rules.py,sha256=O8vVpfQMvgrITJEMXIldyBmMWEBP3VCXmkTJuMImqYg,3682
15
+ pants_baseline/rules/lint_rules.py,sha256=9iuW1QYIXZXQMw_ggZdxB7Ppf3Yj4bophfn53_evvq0,4255
16
16
  pants_baseline/rules/test_rules.py,sha256=Q_opWXkNS2IDSRQmDdYz-PETl9QEXgwaO_iPN4QWHjY,4268
17
17
  pants_baseline/rules/typecheck_rules.py,sha256=5jr7S9IPzDQOdO5kwwpn3q6m45GKJVlEDO2FN8wN6Ac,4579
18
18
  pants_baseline/subsystems/__init__.py,sha256=LteH_qmUIgRAnXYmmi7f6o894QfpY3hMNH5dlvJbSoM,387
19
19
  pants_baseline/subsystems/baseline.py,sha256=CU8ZhNCJw8BSXSyuvZ1eH-Y2CSPggp2O-I2bVqF3WEU,2187
20
- pants_baseline/subsystems/ruff.py,sha256=47fQg4fM_qzLGfxb_WFLYT1URL_4VxkJWw7LBOEQyT0,4248
20
+ pants_baseline/subsystems/ruff.py,sha256=BBL24IlxrgDn188SsmPmxI23QMf6hn-GXJcCzP3183k,4591
21
21
  pants_baseline/subsystems/ty.py,sha256=F9F2YyYlbt1PlvsVP8qMAa_l0C-JezyjiDnBs4RMTIc,3722
22
22
  pants_baseline/subsystems/uv.py,sha256=z8gflmuuF0mEN4Bhlp29w2BlrM0M-4cYv7Y0wKhjOnk,3369
23
- jaymd96_pants_baseline-0.2.7.dist-info/METADATA,sha256=AdgT8XPgwc-OQ4LuvvBeZdbwh0GeItQAr73e6RzHw2Q,8764
24
- jaymd96_pants_baseline-0.2.7.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
25
- jaymd96_pants_baseline-0.2.7.dist-info/licenses/LICENSE,sha256=oLGLZv7XKM_oKCbdMW1bZB37SXsdexmhNSuh3Xg4m4I,10754
26
- jaymd96_pants_baseline-0.2.7.dist-info/RECORD,,
23
+ jaymd96_pants_baseline-0.2.9.dist-info/METADATA,sha256=ah5e7sFpQxQzPes6oe_9_hj2NpQIm5wC8tYNNsFdvFE,8764
24
+ jaymd96_pants_baseline-0.2.9.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
25
+ jaymd96_pants_baseline-0.2.9.dist-info/licenses/LICENSE,sha256=oLGLZv7XKM_oKCbdMW1bZB37SXsdexmhNSuh3Xg4m4I,10754
26
+ jaymd96_pants_baseline-0.2.9.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  """Version information for jaymd96-pants-baseline."""
2
2
 
3
- __version__ = "0.2.7"
3
+ __version__ = "0.2.9"
4
4
  __author__ = "James"
@@ -7,11 +7,14 @@ This plugin integrates with Pants' built-in lint, fmt, and check goals
7
7
  rather than providing custom goals.
8
8
  """
9
9
 
10
- from typing import Iterable
10
+ from typing import Iterable, Type
11
11
 
12
12
  from pants.engine.rules import Rule
13
+ from pants.option.subsystem import Subsystem
13
14
 
14
15
  from pants_baseline.rules import fmt_rules, lint_rules
16
+ from pants_baseline.subsystems.baseline import BaselineSubsystem
17
+ from pants_baseline.subsystems.ruff import RuffSubsystem
15
18
  from pants_baseline.targets import BaselinePythonProject
16
19
 
17
20
 
@@ -32,3 +35,11 @@ def rules() -> Iterable[Rule]:
32
35
  def target_types() -> Iterable[type]:
33
36
  """Return all custom target types provided by this plugin."""
34
37
  return [BaselinePythonProject]
38
+
39
+
40
+ def subsystems() -> Iterable[Type[Subsystem]]:
41
+ """Return all subsystems provided by this plugin."""
42
+ return [
43
+ BaselineSubsystem,
44
+ RuffSubsystem,
45
+ ]
@@ -15,24 +15,19 @@ from pants.engine.target import FieldSet, Target
15
15
  from pants.util.logging import LogLevel
16
16
  from pants.util.meta import classproperty
17
17
 
18
+ from pants.backend.python.target_types import PythonSourceField
19
+
18
20
  from pants_baseline.subsystems.baseline import BaselineSubsystem
19
21
  from pants_baseline.subsystems.ruff import RuffSubsystem
20
- from pants_baseline.targets import BaselineSourcesField, SkipFormatField
21
22
 
22
23
 
23
24
  @dataclass(frozen=True)
24
25
  class RuffFmtFieldSet(FieldSet):
25
26
  """Field set for Ruff formatting."""
26
27
 
27
- required_fields = (BaselineSourcesField,)
28
-
29
- sources: BaselineSourcesField
30
- skip_fmt: SkipFormatField
28
+ required_fields = (PythonSourceField,)
31
29
 
32
- @classmethod
33
- def opt_out(cls, tgt: Target) -> bool:
34
- """Allow targets to opt out of formatting."""
35
- return tgt.get(SkipFormatField).value
30
+ sources: PythonSourceField
36
31
 
37
32
 
38
33
  class RuffFmtRequest(FmtTargetsRequest):
@@ -16,24 +16,19 @@ from pants.engine.target import FieldSet, Target
16
16
  from pants.util.logging import LogLevel
17
17
  from pants.util.meta import classproperty
18
18
 
19
+ from pants.backend.python.target_types import PythonSourceField
20
+
19
21
  from pants_baseline.subsystems.baseline import BaselineSubsystem
20
22
  from pants_baseline.subsystems.ruff import RuffSubsystem
21
- from pants_baseline.targets import BaselineSourcesField, SkipLintField
22
23
 
23
24
 
24
25
  @dataclass(frozen=True)
25
26
  class RuffLintFieldSet(FieldSet):
26
27
  """Field set for Ruff linting."""
27
28
 
28
- required_fields = (BaselineSourcesField,)
29
-
30
- sources: BaselineSourcesField
31
- skip_lint: SkipLintField
29
+ required_fields = (PythonSourceField,)
32
30
 
33
- @classmethod
34
- def opt_out(cls, tgt: Target) -> bool:
35
- """Allow targets to opt out of linting."""
36
- return tgt.get(SkipLintField).value
31
+ sources: PythonSourceField
37
32
 
38
33
 
39
34
  class RuffLintRequest(LintTargetsRequest):
@@ -78,7 +73,7 @@ async def run_ruff_lint(
78
73
  sources: SourceFiles = await determine_source_files(
79
74
  SourceFilesRequest(
80
75
  sources_fields=[fs.sources for fs in field_sets],
81
- for_sources_types=(BaselineSourcesField,),
76
+ for_sources_types=(PythonSourceField,),
82
77
  )
83
78
  )
84
79
 
@@ -101,7 +96,7 @@ async def run_ruff_lint(
101
96
  f"--line-length={baseline_subsystem.line_length}",
102
97
  *select_args,
103
98
  *ignore_args,
104
- "--output-format=text",
99
+ "--output-format=concise",
105
100
  *sources.files,
106
101
  ]
107
102
 
@@ -22,11 +22,11 @@ class RuffSubsystem(ExternalTool):
22
22
 
23
23
  default_version = "0.9.6"
24
24
  default_known_versions = [
25
- # Ruff 0.9.6 - January 2025
26
- "0.9.6|macos_arm64|sha256:a18dc93aa6cdb70d0c6e7d69b827f0ded6ae53c8cc5dee7fd64a7f3ac1eec2b6|11036800",
27
- "0.9.6|macos_x86_64|sha256:8d2c42f60d81e17c29b88f4e41f0d94a1c89d3c5858bc6c9e7f7c6e1b0b0c0d0|11547136",
28
- "0.9.6|linux_arm64|sha256:c5c72a6d0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c|10941952",
29
- "0.9.6|linux_x86_64|sha256:d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4|11689472",
25
+ # Ruff 0.9.6 - January 2025 (NO sha256: prefix!)
26
+ "0.9.6|macos_arm64|a18dc93aa6cdb70d0c6e7d69b827f0ded6ae53c8cc5dee7fd64a7f3ac1eec2b6|11036800",
27
+ "0.9.6|macos_x86_64|8d2c42f60d81e17c29b88f4e41f0d94a1c89d3c5858bc6c9e7f7c6e1b0b0c0d0|11547136",
28
+ "0.9.6|linux_arm64|c5c72a6d0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c|10941952",
29
+ "0.9.6|linux_x86_64|d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4|11689472",
30
30
  ]
31
31
 
32
32
  def generate_url(self, plat: Platform) -> str:
@@ -43,7 +43,14 @@ class RuffSubsystem(ExternalTool):
43
43
 
44
44
  def generate_exe(self, plat: Platform) -> str:
45
45
  """Return the path to the ruff executable within the downloaded archive."""
46
- return "ruff"
46
+ platform_mapping = {
47
+ "macos_arm64": "aarch64-apple-darwin",
48
+ "macos_x86_64": "x86_64-apple-darwin",
49
+ "linux_arm64": "aarch64-unknown-linux-gnu",
50
+ "linux_x86_64": "x86_64-unknown-linux-gnu",
51
+ }
52
+ plat_str = platform_mapping.get(plat.value, "x86_64-unknown-linux-gnu")
53
+ return f"ruff-{plat_str}/ruff"
47
54
 
48
55
  # Skip option required by Pants for tool subsystems
49
56
  skip = SkipOption("lint", "fmt")