RepoAuditor 0.2.15__tar.gz → 0.2.16__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 (107) hide show
  1. {repoauditor-0.2.15 → repoauditor-0.2.16}/PKG-INFO +1 -1
  2. {repoauditor-0.2.15 → repoauditor-0.2.16}/pyproject.toml +3 -1
  3. {repoauditor-0.2.15 → repoauditor-0.2.16}/src/RepoAuditor/ExecuteModules.py +2 -1
  4. {repoauditor-0.2.15 → repoauditor-0.2.16}/src/RepoAuditor/Impl/ParallelSequentialProcessor.py +2 -1
  5. {repoauditor-0.2.15 → repoauditor-0.2.16}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionQuery.py +1 -1
  6. {repoauditor-0.2.15 → repoauditor-0.2.16}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/AllowDeletions.py +1 -1
  7. {repoauditor-0.2.15 → repoauditor-0.2.16}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/AllowForcePushes.py +1 -1
  8. {repoauditor-0.2.15 → repoauditor-0.2.16}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/DismissStalePullRequestApprovals.py +1 -1
  9. {repoauditor-0.2.15 → repoauditor-0.2.16}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/DoNotAllowBypassSettings.py +1 -1
  10. {repoauditor-0.2.15 → repoauditor-0.2.16}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/EnsureStatusChecks.py +1 -1
  11. {repoauditor-0.2.15 → repoauditor-0.2.16}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/Impl/ClassicEnableRequirementImpl.py +3 -2
  12. {repoauditor-0.2.15 → repoauditor-0.2.16}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/Impl/ClassicValueRequirementImpl.py +3 -2
  13. {repoauditor-0.2.15 → repoauditor-0.2.16}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireApprovalMostRecentPush.py +1 -1
  14. {repoauditor-0.2.15 → repoauditor-0.2.16}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireApprovals.py +1 -1
  15. {repoauditor-0.2.15 → repoauditor-0.2.16}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireCodeOwnerReview.py +3 -3
  16. {repoauditor-0.2.15 → repoauditor-0.2.16}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireConversationResolution.py +1 -1
  17. {repoauditor-0.2.15 → repoauditor-0.2.16}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireLinearHistory.py +1 -1
  18. {repoauditor-0.2.15 → repoauditor-0.2.16}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequirePullRequests.py +1 -1
  19. {repoauditor-0.2.15 → repoauditor-0.2.16}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireSignedCommits.py +1 -1
  20. {repoauditor-0.2.15 → repoauditor-0.2.16}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireStatusChecksToPass.py +1 -1
  21. {repoauditor-0.2.15 → repoauditor-0.2.16}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireUpToDateBranches.py +1 -1
  22. {repoauditor-0.2.15 → repoauditor-0.2.16}/src/RepoAuditor/Plugins/GitHub/DefaultBranchQuery.py +1 -1
  23. {repoauditor-0.2.15 → repoauditor-0.2.16}/src/RepoAuditor/Plugins/GitHub/DefaultBranchQueryRequirements/Protected.py +1 -1
  24. {repoauditor-0.2.15 → repoauditor-0.2.16}/src/RepoAuditor/Plugins/GitHub/Impl/EnableRequirementImpl.py +3 -2
  25. {repoauditor-0.2.15 → repoauditor-0.2.16}/src/RepoAuditor/Plugins/GitHub/Impl/ValueRequirementImpl.py +3 -2
  26. {repoauditor-0.2.15 → repoauditor-0.2.16}/src/RepoAuditor/Plugins/GitHub/Module.py +3 -3
  27. {repoauditor-0.2.15 → repoauditor-0.2.16}/src/RepoAuditor/Plugins/GitHub/StandardQuery.py +1 -1
  28. {repoauditor-0.2.15 → repoauditor-0.2.16}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/AutoMerge.py +1 -1
  29. {repoauditor-0.2.15 → repoauditor-0.2.16}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/DefaultBranch.py +1 -1
  30. {repoauditor-0.2.15 → repoauditor-0.2.16}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/DeleteHeadBranches.py +1 -1
  31. {repoauditor-0.2.15 → repoauditor-0.2.16}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/DependabotSecurityUpdates.py +1 -1
  32. {repoauditor-0.2.15 → repoauditor-0.2.16}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/Description.py +1 -1
  33. {repoauditor-0.2.15 → repoauditor-0.2.16}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/Impl/StandardEnableRequirementImpl.py +3 -2
  34. {repoauditor-0.2.15 → repoauditor-0.2.16}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/Impl/StandardValueRequirementImpl.py +3 -2
  35. {repoauditor-0.2.15 → repoauditor-0.2.16}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/License.py +1 -1
  36. {repoauditor-0.2.15 → repoauditor-0.2.16}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/MergeCommit.py +1 -1
  37. {repoauditor-0.2.15 → repoauditor-0.2.16}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/MergeCommitMessage.py +1 -1
  38. {repoauditor-0.2.15 → repoauditor-0.2.16}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/Private.py +1 -1
  39. {repoauditor-0.2.15 → repoauditor-0.2.16}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/RebaseMergeCommit.py +1 -1
  40. {repoauditor-0.2.15 → repoauditor-0.2.16}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/SecretScanning.py +1 -1
  41. {repoauditor-0.2.15 → repoauditor-0.2.16}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/SecretScanningPushProtection.py +1 -1
  42. {repoauditor-0.2.15 → repoauditor-0.2.16}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/SquashCommitMerge.py +1 -1
  43. {repoauditor-0.2.15 → repoauditor-0.2.16}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/SquashMergeCommitMessage.py +1 -1
  44. {repoauditor-0.2.15 → repoauditor-0.2.16}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/SuggestUpdatingPullRequestBranches.py +1 -1
  45. {repoauditor-0.2.15 → repoauditor-0.2.16}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/SupportDiscussions.py +1 -1
  46. {repoauditor-0.2.15 → repoauditor-0.2.16}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/SupportIssues.py +1 -1
  47. {repoauditor-0.2.15 → repoauditor-0.2.16}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/SupportProjects.py +1 -1
  48. {repoauditor-0.2.15 → repoauditor-0.2.16}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/SupportWikis.py +1 -1
  49. {repoauditor-0.2.15 → repoauditor-0.2.16}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/TemplateRepository.py +1 -1
  50. {repoauditor-0.2.15 → repoauditor-0.2.16}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/WebCommitSignoff.py +1 -1
  51. {repoauditor-0.2.15 → repoauditor-0.2.16}/src/RepoAuditor/Query.py +1 -1
  52. {repoauditor-0.2.15 → repoauditor-0.2.16}/src/RepoAuditor/__init__.py +1 -1
  53. {repoauditor-0.2.15 → repoauditor-0.2.16}/tests/CommandLineProcessor_UnitTest.py +4 -4
  54. {repoauditor-0.2.15 → repoauditor-0.2.16}/tests/ExecuteModules_UnitTest.py +3 -4
  55. {repoauditor-0.2.15 → repoauditor-0.2.16}/tests/Module_UnitTest.py +3 -3
  56. {repoauditor-0.2.15 → repoauditor-0.2.16}/tests/Query_UnitTest.py +1 -1
  57. {repoauditor-0.2.15 → repoauditor-0.2.16}/tests/Requirement_UnitTest.py +1 -1
  58. {repoauditor-0.2.15 → repoauditor-0.2.16}/.copier-answers.yml +0 -0
  59. {repoauditor-0.2.15 → repoauditor-0.2.16}/.github/CODEOWNERS +0 -0
  60. {repoauditor-0.2.15 → repoauditor-0.2.16}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  61. {repoauditor-0.2.15 → repoauditor-0.2.16}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  62. {repoauditor-0.2.15 → repoauditor-0.2.16}/.github/ISSUE_TEMPLATE/custom.md +0 -0
  63. {repoauditor-0.2.15 → repoauditor-0.2.16}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  64. {repoauditor-0.2.15 → repoauditor-0.2.16}/.github/actions/release_impl/action.yml +0 -0
  65. {repoauditor-0.2.15 → repoauditor-0.2.16}/.github/pull_request_template.md +0 -0
  66. {repoauditor-0.2.15 → repoauditor-0.2.16}/.github/release_sources.yaml +0 -0
  67. {repoauditor-0.2.15 → repoauditor-0.2.16}/.github/workflows/CICD.yml +0 -0
  68. {repoauditor-0.2.15 → repoauditor-0.2.16}/.github/workflows/CICD_impl.yml +0 -0
  69. {repoauditor-0.2.15 → repoauditor-0.2.16}/.github/workflows/codeql.yml +0 -0
  70. {repoauditor-0.2.15 → repoauditor-0.2.16}/.gitignore +0 -0
  71. {repoauditor-0.2.15 → repoauditor-0.2.16}/.pre-commit-config.yaml +0 -0
  72. {repoauditor-0.2.15 → repoauditor-0.2.16}/.python-version +0 -0
  73. {repoauditor-0.2.15 → repoauditor-0.2.16}/CODE_OF_CONDUCT.md +0 -0
  74. {repoauditor-0.2.15 → repoauditor-0.2.16}/CONTRIBUTING.md +0 -0
  75. {repoauditor-0.2.15 → repoauditor-0.2.16}/DEVELOPMENT.md +0 -0
  76. {repoauditor-0.2.15 → repoauditor-0.2.16}/GOVERNANCE.md +0 -0
  77. {repoauditor-0.2.15 → repoauditor-0.2.16}/LICENSE +0 -0
  78. {repoauditor-0.2.15 → repoauditor-0.2.16}/MAINTAINERS.md +0 -0
  79. {repoauditor-0.2.15 → repoauditor-0.2.16}/README.md +0 -0
  80. {repoauditor-0.2.15 → repoauditor-0.2.16}/SECURITY.md +0 -0
  81. {repoauditor-0.2.15 → repoauditor-0.2.16}/minisign_key.pub +0 -0
  82. {repoauditor-0.2.15 → repoauditor-0.2.16}/src/AutoGitSemVer.yaml +0 -0
  83. {repoauditor-0.2.15 → repoauditor-0.2.16}/src/RepoAuditor/CommandLineProcessor.py +0 -0
  84. {repoauditor-0.2.15 → repoauditor-0.2.16}/src/RepoAuditor/EntryPoint.py +0 -0
  85. {repoauditor-0.2.15 → repoauditor-0.2.16}/src/RepoAuditor/Impl/__init__.py +0 -0
  86. {repoauditor-0.2.15 → repoauditor-0.2.16}/src/RepoAuditor/Module.py +0 -0
  87. {repoauditor-0.2.15 → repoauditor-0.2.16}/src/RepoAuditor/Plugin.py +0 -0
  88. {repoauditor-0.2.15 → repoauditor-0.2.16}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/Impl/__init__.py +0 -0
  89. {repoauditor-0.2.15 → repoauditor-0.2.16}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/__init__.py +0 -0
  90. {repoauditor-0.2.15 → repoauditor-0.2.16}/src/RepoAuditor/Plugins/GitHub/DefaultBranchQueryRequirements/__init__.py +0 -0
  91. {repoauditor-0.2.15 → repoauditor-0.2.16}/src/RepoAuditor/Plugins/GitHub/Impl/Common.py +0 -0
  92. {repoauditor-0.2.15 → repoauditor-0.2.16}/src/RepoAuditor/Plugins/GitHub/Impl/__init__.py +0 -0
  93. {repoauditor-0.2.15 → repoauditor-0.2.16}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/Impl/__init__.py +0 -0
  94. {repoauditor-0.2.15 → repoauditor-0.2.16}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/__init__.py +0 -0
  95. {repoauditor-0.2.15 → repoauditor-0.2.16}/src/RepoAuditor/Plugins/GitHub/__init__.py +0 -0
  96. {repoauditor-0.2.15 → repoauditor-0.2.16}/src/RepoAuditor/Plugins/GitHubPlugin.py +0 -0
  97. {repoauditor-0.2.15 → repoauditor-0.2.16}/src/RepoAuditor/Plugins/__init__.py +0 -0
  98. {repoauditor-0.2.15 → repoauditor-0.2.16}/src/RepoAuditor/Requirement.py +0 -0
  99. {repoauditor-0.2.15 → repoauditor-0.2.16}/src/RepoAuditor/py.typed +0 -0
  100. {repoauditor-0.2.15 → repoauditor-0.2.16}/tests/EntryPoint_UnitTest.py +0 -0
  101. {repoauditor-0.2.15 → repoauditor-0.2.16}/tests/Plugin_UnitTest.py +0 -0
  102. {repoauditor-0.2.15 → repoauditor-0.2.16}/tests/Plugins/GitHubModule_UnitTest.py +0 -0
  103. {repoauditor-0.2.15 → repoauditor-0.2.16}/tests/Plugins/GitHub_EndToEndTest.py +0 -0
  104. {repoauditor-0.2.15 → repoauditor-0.2.16}/tests/Plugins/__snapshots__/GitHub_EndToEndTest.ambr +0 -0
  105. {repoauditor-0.2.15 → repoauditor-0.2.16}/tests/Plugins/utilities.py +0 -0
  106. {repoauditor-0.2.15 → repoauditor-0.2.16}/tests/__snapshots__/ExecuteModules_UnitTest.ambr +0 -0
  107. {repoauditor-0.2.15 → repoauditor-0.2.16}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: RepoAuditor
3
- Version: 0.2.15
3
+ Version: 0.2.16
4
4
  Summary: Add your description here
5
5
  Project-URL: Homepage, https://github.com/gt-sse-center/RepoAuditor
6
6
  Project-URL: Documentation, https://github.com/gt-sse-center/RepoAuditor
@@ -130,7 +130,7 @@ select = [
130
130
  "F",
131
131
  "PGH",
132
132
  # "PL", # 11
133
- # "UP", # 100
133
+ "UP",
134
134
  "FURB",
135
135
  "RUF",
136
136
  "TRY",
@@ -150,7 +150,9 @@ ignore = [
150
150
  "RSE102", # Unnecessary parentheses on raise exception
151
151
  "S101", # Use of assert detected
152
152
  "TC006", # Add quotes to type expression in `typing.cast()`
153
+ "UP007", # Use `X | Y` for type annotations
153
154
  "UP032", # Use f-string instead of `format` call
155
+ "UP038", # Use `X | Y` in `isinstance` call instead of `(X, Y)`
154
156
  ]
155
157
 
156
158
  [tool.ruff.lint.mccabe]
@@ -11,7 +11,8 @@ import sys
11
11
  import textwrap
12
12
 
13
13
  from dataclasses import dataclass
14
- from typing import Any, Callable, cast, Optional
14
+ from typing import Any, cast, Optional
15
+ from collections.abc import Callable
15
16
 
16
17
  from dbrownell_Common import ExecuteTasks # type: ignore[import-untyped]
17
18
  from dbrownell_Common.InflectEx import inflect # type: ignore[import-untyped]
@@ -7,7 +7,8 @@
7
7
  """Contains functionality to process items in parallel and/or sequentially."""
8
8
 
9
9
  from enum import auto, Enum
10
- from typing import Callable, cast, Optional, TypeVar
10
+ from typing import cast, TypeVar, Optional
11
+ from collections.abc import Callable
11
12
 
12
13
  from dbrownell_Common import ExecuteTasks # type: ignore[import-untyped]
13
14
  from dbrownell_Common.Streams.DoneManager import DoneManager # type: ignore[import-untyped]
@@ -90,7 +90,7 @@ class ClassicBranchProtectionQuery(Query):
90
90
 
91
91
  # ----------------------------------------------------------------------
92
92
  def __init__(self) -> None:
93
- super(ClassicBranchProtectionQuery, self).__init__(
93
+ super().__init__(
94
94
  "ClassicBranchProtectionQuery",
95
95
  ExecutionStyle.Parallel,
96
96
  [
@@ -15,7 +15,7 @@ from .Impl.ClassicEnableRequirementImpl import ClassicEnableRequirementImpl
15
15
  class AllowDeletions(ClassicEnableRequirementImpl):
16
16
  # ----------------------------------------------------------------------
17
17
  def __init__(self) -> None:
18
- super(AllowDeletions, self).__init__(
18
+ super().__init__(
19
19
  "AllowDeletions",
20
20
  False,
21
21
  "true",
@@ -15,7 +15,7 @@ from .Impl.ClassicEnableRequirementImpl import ClassicEnableRequirementImpl
15
15
  class AllowForcePushes(ClassicEnableRequirementImpl):
16
16
  # ----------------------------------------------------------------------
17
17
  def __init__(self) -> None:
18
- super(AllowForcePushes, self).__init__(
18
+ super().__init__(
19
19
  "AllowForcePushes",
20
20
  False,
21
21
  "true",
@@ -17,7 +17,7 @@ from .Impl.ClassicEnableRequirementImpl import ClassicEnableRequirementImpl
17
17
  class DismissStalePullRequestApprovals(ClassicEnableRequirementImpl):
18
18
  # ----------------------------------------------------------------------
19
19
  def __init__(self) -> None:
20
- super(DismissStalePullRequestApprovals, self).__init__(
20
+ super().__init__(
21
21
  "DismissStalePullRequestApprovals",
22
22
  True,
23
23
  "false",
@@ -15,7 +15,7 @@ from .Impl.ClassicEnableRequirementImpl import ClassicEnableRequirementImpl
15
15
  class DoNotAllowBypassSettings(ClassicEnableRequirementImpl):
16
16
  # ----------------------------------------------------------------------
17
17
  def __init__(self) -> None:
18
- super(DoNotAllowBypassSettings, self).__init__(
18
+ super().__init__(
19
19
  "DoNotAllowBypassSettings",
20
20
  True,
21
21
  "false",
@@ -21,7 +21,7 @@ from RepoAuditor.Requirement import EvaluateResult, ExecutionStyle, Requirement
21
21
  class EnsureStatusChecks(Requirement):
22
22
  # ----------------------------------------------------------------------
23
23
  def __init__(self) -> None:
24
- super(EnsureStatusChecks, self).__init__(
24
+ super().__init__(
25
25
  "EnsureStatusChecks",
26
26
  "Ensure that status checks have been enabled for the branch.",
27
27
  ExecutionStyle.Parallel,
@@ -8,7 +8,8 @@
8
8
 
9
9
  import textwrap
10
10
 
11
- from typing import Any, Callable, Optional
11
+ from typing import Any, Optional
12
+ from collections.abc import Callable
12
13
 
13
14
  from ...Impl.EnableRequirementImpl import EnableRequirementImpl
14
15
 
@@ -30,7 +31,7 @@ class ClassicEnableRequirementImpl(EnableRequirementImpl):
30
31
  requires_explicit_include: bool = False,
31
32
  unset_set_terminology: tuple[str, str] = ("unchecked", "checked"),
32
33
  ) -> None:
33
- super(ClassicEnableRequirementImpl, self).__init__(
34
+ super().__init__(
34
35
  name,
35
36
  default_value,
36
37
  dynamic_arg_name,
@@ -8,7 +8,8 @@
8
8
 
9
9
  import textwrap
10
10
 
11
- from typing import Any, Callable, Optional
11
+ from typing import Any, Optional
12
+ from collections.abc import Callable
12
13
 
13
14
  from ...Impl.ValueRequirementImpl import DoesNotApplyResult, ValueRequirementImpl
14
15
 
@@ -46,7 +47,7 @@ class ClassicValueRequirementImpl(ValueRequirementImpl):
46
47
  """,
47
48
  )
48
49
 
49
- super(ClassicValueRequirementImpl, self).__init__(
50
+ super().__init__(
50
51
  name,
51
52
  default_value,
52
53
  github_settings_value,
@@ -17,7 +17,7 @@ from .Impl.ClassicEnableRequirementImpl import ClassicEnableRequirementImpl
17
17
  class RequireApprovalMostRecentPush(ClassicEnableRequirementImpl):
18
18
  # ----------------------------------------------------------------------
19
19
  def __init__(self) -> None:
20
- super(RequireApprovalMostRecentPush, self).__init__(
20
+ super().__init__(
21
21
  "RequireApprovalMostRecentPush",
22
22
  True,
23
23
  "false",
@@ -17,7 +17,7 @@ from .Impl.ClassicValueRequirementImpl import ClassicValueRequirementImpl, DoesN
17
17
  class RequireApprovals(ClassicValueRequirementImpl):
18
18
  # ----------------------------------------------------------------------
19
19
  def __init__(self) -> None:
20
- super(RequireApprovals, self).__init__(
20
+ super().__init__(
21
21
  "RequireApprovals",
22
22
  "1",
23
23
  "Protect matching branches",
@@ -8,7 +8,7 @@
8
8
 
9
9
  import textwrap
10
10
 
11
- from typing import Any
11
+ from typing import Any, Optional
12
12
 
13
13
  from .Impl.ClassicEnableRequirementImpl import ClassicEnableRequirementImpl
14
14
 
@@ -17,7 +17,7 @@ from .Impl.ClassicEnableRequirementImpl import ClassicEnableRequirementImpl
17
17
  class RequireCodeOwnerReview(ClassicEnableRequirementImpl):
18
18
  # ----------------------------------------------------------------------
19
19
  def __init__(self) -> None:
20
- super(RequireCodeOwnerReview, self).__init__(
20
+ super().__init__(
21
21
  "RequireCodeOwnerReview",
22
22
  False,
23
23
  "true",
@@ -49,7 +49,7 @@ class RequireCodeOwnerReview(ClassicEnableRequirementImpl):
49
49
  # ----------------------------------------------------------------------
50
50
  def _GetValue(
51
51
  data: dict[str, Any],
52
- ) -> bool | None:
52
+ ) -> Optional[bool]:
53
53
  settings = data["branch_protection_data"].get("required_pull_request_reviews", None)
54
54
  if settings is None:
55
55
  return None
@@ -15,7 +15,7 @@ from .Impl.ClassicEnableRequirementImpl import ClassicEnableRequirementImpl
15
15
  class RequireConversationResolution(ClassicEnableRequirementImpl):
16
16
  # ----------------------------------------------------------------------
17
17
  def __init__(self) -> None:
18
- super(RequireConversationResolution, self).__init__(
18
+ super().__init__(
19
19
  "RequireConversationResolution",
20
20
  True,
21
21
  "false",
@@ -15,7 +15,7 @@ from .Impl.ClassicEnableRequirementImpl import ClassicEnableRequirementImpl
15
15
  class RequireLinearHistory(ClassicEnableRequirementImpl):
16
16
  # ----------------------------------------------------------------------
17
17
  def __init__(self) -> None:
18
- super(RequireLinearHistory, self).__init__(
18
+ super().__init__(
19
19
  "RequireLinearHistory",
20
20
  False,
21
21
  "true",
@@ -15,7 +15,7 @@ from .Impl.ClassicEnableRequirementImpl import ClassicEnableRequirementImpl
15
15
  class RequirePullRequests(ClassicEnableRequirementImpl):
16
16
  # ----------------------------------------------------------------------
17
17
  def __init__(self) -> None:
18
- super(RequirePullRequests, self).__init__(
18
+ super().__init__(
19
19
  "RequirePullRequests",
20
20
  True,
21
21
  "false",
@@ -15,7 +15,7 @@ from .Impl.ClassicEnableRequirementImpl import ClassicEnableRequirementImpl
15
15
  class RequireSignedCommits(ClassicEnableRequirementImpl):
16
16
  # ----------------------------------------------------------------------
17
17
  def __init__(self) -> None:
18
- super(RequireSignedCommits, self).__init__(
18
+ super().__init__(
19
19
  "RequireSignedCommits",
20
20
  True,
21
21
  "false",
@@ -15,7 +15,7 @@ from .Impl.ClassicEnableRequirementImpl import ClassicEnableRequirementImpl
15
15
  class RequireStatusChecksToPass(ClassicEnableRequirementImpl):
16
16
  # ----------------------------------------------------------------------
17
17
  def __init__(self) -> None:
18
- super(RequireStatusChecksToPass, self).__init__(
18
+ super().__init__(
19
19
  "RequireStatusChecksToPass",
20
20
  True,
21
21
  "false",
@@ -17,7 +17,7 @@ from .Impl.ClassicEnableRequirementImpl import ClassicEnableRequirementImpl
17
17
  class RequireUpToDateBranches(ClassicEnableRequirementImpl):
18
18
  # ----------------------------------------------------------------------
19
19
  def __init__(self) -> None:
20
- super(RequireUpToDateBranches, self).__init__(
20
+ super().__init__(
21
21
  "RequireUpToDateBranches",
22
22
  True,
23
23
  "false",
@@ -21,7 +21,7 @@ class DefaultBranchQuery(Query):
21
21
 
22
22
  # ----------------------------------------------------------------------
23
23
  def __init__(self) -> None:
24
- super(DefaultBranchQuery, self).__init__(
24
+ super().__init__(
25
25
  "DefaultBranchQuery",
26
26
  ExecutionStyle.Parallel,
27
27
  [
@@ -25,7 +25,7 @@ class Protected(Requirement):
25
25
  def __init__(self) -> None:
26
26
  # Note that protected is set for the branch when creating a branch ruleset or a classic
27
27
  # branch protection rule.
28
- super(Protected, self).__init__(
28
+ super().__init__(
29
29
  "Protected",
30
30
  "Ensures that the mainline branch is protected.",
31
31
  ExecutionStyle.Parallel,
@@ -6,7 +6,8 @@
6
6
  # -------------------------------------------------------------------------------
7
7
  """Contains the EnableRequirementImpl object"""
8
8
 
9
- from typing import Any, Callable, Optional
9
+ from typing import Any, Optional
10
+ from collections.abc import Callable
10
11
 
11
12
  import typer
12
13
 
@@ -43,7 +44,7 @@ class EnableRequirementImpl(Requirement):
43
44
  if subject is None:
44
45
  subject = github_settings_value
45
46
 
46
- super(EnableRequirementImpl, self).__init__(
47
+ super().__init__(
47
48
  name,
48
49
  f"Validates that {subject} is set to the expected value.",
49
50
  ExecutionStyle.Parallel,
@@ -7,7 +7,8 @@
7
7
  """Contains the ValueRequirementImpl object"""
8
8
 
9
9
  from dataclasses import dataclass
10
- from typing import Any, Callable, Optional
10
+ from typing import Any, Optional
11
+ from collections.abc import Callable
11
12
 
12
13
  import typer
13
14
 
@@ -53,7 +54,7 @@ class ValueRequirementImpl(Requirement):
53
54
  if subject is None:
54
55
  subject = github_settings_value
55
56
 
56
- super(ValueRequirementImpl, self).__init__(
57
+ super().__init__(
57
58
  name,
58
59
  f"Validates that {subject} is set to the expected value.",
59
60
  ExecutionStyle.Parallel,
@@ -27,7 +27,7 @@ from .StandardQuery import StandardQuery
27
27
  class GitHubModule(Module):
28
28
  # ----------------------------------------------------------------------
29
29
  def __init__(self) -> None:
30
- super(GitHubModule, self).__init__(
30
+ super().__init__(
31
31
  "GitHub",
32
32
  "Validates GitHub configuration settings.",
33
33
  ExecutionStyle.Parallel,
@@ -90,7 +90,7 @@ class _GitHubSession(requests.Session):
90
90
  *args,
91
91
  **kwargs,
92
92
  ) -> None:
93
- super(_GitHubSession, self).__init__(*args, **kwargs)
93
+ super().__init__(*args, **kwargs)
94
94
 
95
95
  self.headers.update(
96
96
  {
@@ -145,7 +145,7 @@ class _GitHubSession(requests.Session):
145
145
  if url and not url.startswith("/"):
146
146
  url = f"/{url}"
147
147
 
148
- return super(_GitHubSession, self).request(
148
+ return super().request(
149
149
  method,
150
150
  f"{self.api_url}{url}",
151
151
  *args,
@@ -200,7 +200,7 @@ class StandardQuery(Query):
200
200
 
201
201
  # ----------------------------------------------------------------------
202
202
  def __init__(self) -> None:
203
- super(StandardQuery, self).__init__(
203
+ super().__init__(
204
204
  "StandardQuery",
205
205
  ExecutionStyle.Parallel,
206
206
  [
@@ -15,7 +15,7 @@ from .Impl.StandardEnableRequirementImpl import StandardEnableRequirementImpl
15
15
  class AutoMerge(StandardEnableRequirementImpl):
16
16
  # ----------------------------------------------------------------------
17
17
  def __init__(self) -> None:
18
- super(AutoMerge, self).__init__(
18
+ super().__init__(
19
19
  "AutoMerge",
20
20
  True,
21
21
  "false",
@@ -15,7 +15,7 @@ from .Impl.StandardValueRequirementImpl import StandardValueRequirementImpl
15
15
  class DefaultBranch(StandardValueRequirementImpl):
16
16
  # ----------------------------------------------------------------------
17
17
  def __init__(self) -> None:
18
- super(DefaultBranch, self).__init__(
18
+ super().__init__(
19
19
  "DefaultBranch",
20
20
  "main",
21
21
  "settings",
@@ -15,7 +15,7 @@ from .Impl.StandardEnableRequirementImpl import StandardEnableRequirementImpl
15
15
  class DeleteHeadBranches(StandardEnableRequirementImpl):
16
16
  # ----------------------------------------------------------------------
17
17
  def __init__(self) -> None:
18
- super(DeleteHeadBranches, self).__init__(
18
+ super().__init__(
19
19
  "DeleteHeadBranches",
20
20
  True,
21
21
  "false",
@@ -17,7 +17,7 @@ from .Impl.StandardEnableRequirementImpl import StandardEnableRequirementImpl
17
17
  class DependabotSecurityUpdates(StandardEnableRequirementImpl):
18
18
  # ----------------------------------------------------------------------
19
19
  def __init__(self) -> None:
20
- super(DependabotSecurityUpdates, self).__init__(
20
+ super().__init__(
21
21
  "DependabotSecurityUpdates",
22
22
  True,
23
23
  "false",
@@ -24,7 +24,7 @@ from ..Impl.Common import CreateIncompleteDataResult
24
24
  class Description(Requirement):
25
25
  # ----------------------------------------------------------------------
26
26
  def __init__(self) -> None:
27
- super(Description, self).__init__(
27
+ super().__init__(
28
28
  "Description",
29
29
  "Validates a repository's description.",
30
30
  ExecutionStyle.Parallel,
@@ -8,7 +8,8 @@
8
8
 
9
9
  import textwrap
10
10
 
11
- from typing import Any, Callable, Optional
11
+ from typing import Any, Optional
12
+ from collections.abc import Callable
12
13
 
13
14
  from ...Impl.EnableRequirementImpl import EnableRequirementImpl
14
15
 
@@ -32,7 +33,7 @@ class StandardEnableRequirementImpl(EnableRequirementImpl):
32
33
  unset_set_terminology: tuple[str, str] = ("unchecked", "checked"),
33
34
  missing_value_is_warning: bool = True,
34
35
  ) -> None:
35
- super(StandardEnableRequirementImpl, self).__init__(
36
+ super().__init__(
36
37
  name,
37
38
  default_value,
38
39
  dynamic_arg_name,
@@ -8,7 +8,8 @@
8
8
 
9
9
  import textwrap
10
10
 
11
- from typing import Any, Callable, Optional
11
+ from typing import Any, Optional
12
+ from collections.abc import Callable
12
13
 
13
14
  from ...Impl.ValueRequirementImpl import DoesNotApplyResult, ValueRequirementImpl
14
15
 
@@ -48,7 +49,7 @@ class StandardValueRequirementImpl(
48
49
  """,
49
50
  )
50
51
 
51
- super(StandardValueRequirementImpl, self).__init__(
52
+ super().__init__(
52
53
  name,
53
54
  default_value,
54
55
  github_settings_value,
@@ -17,7 +17,7 @@ from .Impl.StandardValueRequirementImpl import StandardValueRequirementImpl
17
17
  class License(StandardValueRequirementImpl):
18
18
  # ----------------------------------------------------------------------
19
19
  def __init__(self) -> None:
20
- super(License, self).__init__(
20
+ super().__init__(
21
21
  "License",
22
22
  "MIT License",
23
23
  "settings",
@@ -15,7 +15,7 @@ from .Impl.StandardEnableRequirementImpl import StandardEnableRequirementImpl
15
15
  class MergeCommit(StandardEnableRequirementImpl):
16
16
  # ----------------------------------------------------------------------
17
17
  def __init__(self) -> None:
18
- super(MergeCommit, self).__init__(
18
+ super().__init__(
19
19
  "MergeCommit",
20
20
  True,
21
21
  "false",
@@ -17,7 +17,7 @@ from .Impl.StandardValueRequirementImpl import DoesNotApplyResult, StandardValue
17
17
  class MergeCommitMessage(StandardValueRequirementImpl):
18
18
  # ----------------------------------------------------------------------
19
19
  def __init__(self) -> None:
20
- super(MergeCommitMessage, self).__init__(
20
+ super().__init__(
21
21
  "MergeCommitMessage",
22
22
  "BLANK",
23
23
  "settings",
@@ -23,7 +23,7 @@ from ..Impl.Common import CreateIncompleteDataResult
23
23
  class Private(Requirement):
24
24
  # ----------------------------------------------------------------------
25
25
  def __init__(self) -> None:
26
- super(Private, self).__init__(
26
+ super().__init__(
27
27
  "Private",
28
28
  "Validates that the repository is set to the expected visibility.",
29
29
  ExecutionStyle.Parallel,
@@ -15,7 +15,7 @@ from .Impl.StandardEnableRequirementImpl import StandardEnableRequirementImpl
15
15
  class RebaseMergeCommit(StandardEnableRequirementImpl):
16
16
  # ----------------------------------------------------------------------
17
17
  def __init__(self) -> None:
18
- super(RebaseMergeCommit, self).__init__(
18
+ super().__init__(
19
19
  "RebaseMergeCommit",
20
20
  False,
21
21
  "true",
@@ -17,7 +17,7 @@ from .Impl.StandardEnableRequirementImpl import StandardEnableRequirementImpl
17
17
  class SecretScanning(StandardEnableRequirementImpl):
18
18
  # ----------------------------------------------------------------------
19
19
  def __init__(self) -> None:
20
- super(SecretScanning, self).__init__(
20
+ super().__init__(
21
21
  "SecretScanning",
22
22
  True,
23
23
  "false",
@@ -17,7 +17,7 @@ from .Impl.StandardEnableRequirementImpl import StandardEnableRequirementImpl
17
17
  class SecretScanningPushProtection(StandardEnableRequirementImpl):
18
18
  # ----------------------------------------------------------------------
19
19
  def __init__(self) -> None:
20
- super(SecretScanningPushProtection, self).__init__(
20
+ super().__init__(
21
21
  "SecretScanningPushProtection",
22
22
  True,
23
23
  "false",
@@ -15,7 +15,7 @@ from .Impl.StandardEnableRequirementImpl import StandardEnableRequirementImpl
15
15
  class SquashCommitMerge(StandardEnableRequirementImpl):
16
16
  # ----------------------------------------------------------------------
17
17
  def __init__(self) -> None:
18
- super(SquashCommitMerge, self).__init__(
18
+ super().__init__(
19
19
  "SquashCommitMerge",
20
20
  False,
21
21
  "true",
@@ -17,7 +17,7 @@ from .Impl.StandardValueRequirementImpl import DoesNotApplyResult, StandardValue
17
17
  class SquashMergeCommitMessage(StandardValueRequirementImpl):
18
18
  # ----------------------------------------------------------------------
19
19
  def __init__(self) -> None:
20
- super(SquashMergeCommitMessage, self).__init__(
20
+ super().__init__(
21
21
  "SquashMergeCommitMessage",
22
22
  "COMMIT_MESSAGES",
23
23
  "settings",
@@ -15,7 +15,7 @@ from .Impl.StandardEnableRequirementImpl import StandardEnableRequirementImpl
15
15
  class SuggestUpdatingPullRequestBranches(StandardEnableRequirementImpl):
16
16
  # ----------------------------------------------------------------------
17
17
  def __init__(self) -> None:
18
- super(SuggestUpdatingPullRequestBranches, self).__init__(
18
+ super().__init__(
19
19
  "SuggestUpdatingPullRequestBranches",
20
20
  False,
21
21
  "true",
@@ -15,7 +15,7 @@ from .Impl.StandardEnableRequirementImpl import StandardEnableRequirementImpl
15
15
  class SupportDiscussions(StandardEnableRequirementImpl):
16
16
  # ----------------------------------------------------------------------
17
17
  def __init__(self) -> None:
18
- super(SupportDiscussions, self).__init__(
18
+ super().__init__(
19
19
  "SupportDiscussions",
20
20
  False,
21
21
  "true",
@@ -15,7 +15,7 @@ from .Impl.StandardEnableRequirementImpl import StandardEnableRequirementImpl
15
15
  class SupportIssues(StandardEnableRequirementImpl):
16
16
  # ----------------------------------------------------------------------
17
17
  def __init__(self) -> None:
18
- super(SupportIssues, self).__init__(
18
+ super().__init__(
19
19
  "SupportIssues",
20
20
  True,
21
21
  "false",
@@ -15,7 +15,7 @@ from .Impl.StandardEnableRequirementImpl import StandardEnableRequirementImpl
15
15
  class SupportProjects(StandardEnableRequirementImpl):
16
16
  # ----------------------------------------------------------------------
17
17
  def __init__(self) -> None:
18
- super(SupportProjects, self).__init__(
18
+ super().__init__(
19
19
  "SupportProjects",
20
20
  True,
21
21
  "false",
@@ -15,7 +15,7 @@ from .Impl.StandardEnableRequirementImpl import StandardEnableRequirementImpl
15
15
  class SupportWikis(StandardEnableRequirementImpl):
16
16
  # ----------------------------------------------------------------------
17
17
  def __init__(self) -> None:
18
- super(SupportWikis, self).__init__(
18
+ super().__init__(
19
19
  "SupportWikis",
20
20
  True,
21
21
  "false",
@@ -15,7 +15,7 @@ from .Impl.StandardEnableRequirementImpl import StandardEnableRequirementImpl
15
15
  class TemplateRepository(StandardEnableRequirementImpl):
16
16
  # ----------------------------------------------------------------------
17
17
  def __init__(self) -> None:
18
- super(TemplateRepository, self).__init__(
18
+ super().__init__(
19
19
  "TemplateRepository",
20
20
  False,
21
21
  "true",
@@ -15,7 +15,7 @@ from .Impl.StandardEnableRequirementImpl import StandardEnableRequirementImpl
15
15
  class WebCommitSignoff(StandardEnableRequirementImpl):
16
16
  # ----------------------------------------------------------------------
17
17
  def __init__(self) -> None:
18
- super(WebCommitSignoff, self).__init__(
18
+ super().__init__(
19
19
  "WebCommitSignoff",
20
20
  True,
21
21
  "false",
@@ -10,7 +10,7 @@ import threading
10
10
 
11
11
  from abc import ABC, abstractmethod
12
12
  from dataclasses import dataclass
13
- from typing import Any, Optional, Protocol
13
+ from typing import Any, Protocol, Optional
14
14
 
15
15
  from .Impl.ParallelSequentialProcessor import ParallelSequentialProcessor
16
16
  from .Requirement import EvaluateResult, ExecutionStyle, Requirement
@@ -3,4 +3,4 @@ APP_NAME = "RepoAuditor"
3
3
  # Note that this value will be overwritten by calls to `python ../../Build.py update_version` based
4
4
  # on changes observed in the git repository. The default value below will be used until the value
5
5
  # here is explicitly updated by the Continuous Integration system.
6
- __version__ = "0.2.15"
6
+ __version__ = "0.2.16"
@@ -9,7 +9,7 @@
9
9
  import re
10
10
  import textwrap
11
11
 
12
- from typing import cast, ClassVar, Optional
12
+ from typing import cast, Optional
13
13
  from unittest.mock import patch
14
14
 
15
15
  import pytest
@@ -37,7 +37,7 @@ class MyModule(Module):
37
37
  *,
38
38
  requires_explicit_include: bool = False,
39
39
  ):
40
- super(MyModule, self).__init__(
40
+ super().__init__(
41
41
  name,
42
42
  "",
43
43
  ExecutionStyle.Sequential,
@@ -66,7 +66,7 @@ class MyModule(Module):
66
66
  class MyQuery(Query):
67
67
  # ----------------------------------------------------------------------
68
68
  def __init__(self):
69
- super(MyQuery, self).__init__(
69
+ super().__init__(
70
70
  "MyQuery",
71
71
  ExecutionStyle.Sequential,
72
72
  [
@@ -94,7 +94,7 @@ class MyRequirement(Requirement):
94
94
  requires_explicit_include: bool = False,
95
95
  has_dynamic_args: bool = False,
96
96
  ):
97
- super(MyRequirement, self).__init__(
97
+ super().__init__(
98
98
  name,
99
99
  "",
100
100
  ExecutionStyle.Sequential,
@@ -14,7 +14,6 @@ from typing import cast
14
14
 
15
15
  import pytest
16
16
 
17
- from dbrownell_Common.Streams.Capabilities import Capabilities
18
17
  from dbrownell_Common.Types import override
19
18
  from dbrownell_Common.TestHelpers.StreamTestHelpers import (
20
19
  GenerateDoneManagerAndContent,
@@ -39,7 +38,7 @@ class MyModule(Module):
39
38
  no_initial_data: bool = False,
40
39
  **kwargs,
41
40
  ) -> None:
42
- super(MyModule, self).__init__(*args, **kwargs)
41
+ super().__init__(*args, **kwargs)
43
42
  self.no_initial_data = no_initial_data
44
43
 
45
44
  # ----------------------------------------------------------------------
@@ -76,7 +75,7 @@ class MyQuery(Query):
76
75
  **kwargs,
77
76
  ) -> Optional[dict[str, Any]]:
78
77
  if args or kwargs:
79
- super(MyQuery, self).__init__(*args, **kwargs)
78
+ super().__init__(*args, **kwargs)
80
79
 
81
80
  module_data["query_name"] = self.name
82
81
  return module_data
@@ -86,7 +85,7 @@ class MyQuery(Query):
86
85
  class MyRequirement(Requirement):
87
86
  # ----------------------------------------------------------------------
88
87
  def __init__(self, result: EvaluateResult, *args) -> None:
89
- super(MyRequirement, self).__init__(*args)
88
+ super().__init__(*args)
90
89
 
91
90
  self.result = result
92
91
 
@@ -31,7 +31,7 @@ class MyModule(Module):
31
31
  produce_data: bool,
32
32
  requires_explicit_include: bool = False,
33
33
  ) -> None:
34
- super(MyModule, self).__init__(
34
+ super().__init__(
35
35
  name,
36
36
  description,
37
37
  style,
@@ -78,7 +78,7 @@ class MyQuery(Query):
78
78
  *,
79
79
  produce_data: bool,
80
80
  ) -> None:
81
- super(MyQuery, self).__init__(name, style, requirements)
81
+ super().__init__(name, style, requirements)
82
82
 
83
83
  self.produce_data = produce_data
84
84
 
@@ -109,7 +109,7 @@ class MyRequirement(Requirement):
109
109
  *,
110
110
  requires_explicit_include: bool = False,
111
111
  ) -> None:
112
- super(MyRequirement, self).__init__(
112
+ super().__init__(
113
113
  name,
114
114
  description,
115
115
  style,
@@ -62,7 +62,7 @@ class MyRequirement(Requirement):
62
62
  expected_result: EvaluateResult,
63
63
  context: Optional[str] = None,
64
64
  ) -> None:
65
- super(MyRequirement, self).__init__(name, description, style, resolution_template, rationale_template)
65
+ super().__init__(name, description, style, resolution_template, rationale_template)
66
66
 
67
67
  self.expected_result = expected_result
68
68
  self.context = context
@@ -31,7 +31,7 @@ class MyRequirement(Requirement):
31
31
  requires_explicit_include: bool = False,
32
32
  provide_rationale: bool = True,
33
33
  ) -> None:
34
- super(MyRequirement, self).__init__(
34
+ super().__init__(
35
35
  name,
36
36
  description,
37
37
  style,
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes