repo-review 0.12.2__tar.gz → 0.12.3__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 (67) hide show
  1. repo_review-0.12.3/.github/release.yml +5 -0
  2. {repo_review-0.12.2 → repo_review-0.12.3}/.github/workflows/cd.yml +2 -2
  3. {repo_review-0.12.2 → repo_review-0.12.3}/.github/workflows/ci.yml +8 -8
  4. {repo_review-0.12.2 → repo_review-0.12.3}/.pre-commit-config.yaml +8 -8
  5. {repo_review-0.12.2 → repo_review-0.12.3}/PKG-INFO +1 -1
  6. {repo_review-0.12.2 → repo_review-0.12.3}/action.yml +1 -1
  7. {repo_review-0.12.2 → repo_review-0.12.3}/docs/index.html +3 -3
  8. {repo_review-0.12.2 → repo_review-0.12.3}/pyproject.toml +1 -0
  9. {repo_review-0.12.2 → repo_review-0.12.3}/src/repo_review/__main__.py +25 -11
  10. {repo_review-0.12.2 → repo_review-0.12.3}/src/repo_review/_version.py +16 -3
  11. {repo_review-0.12.2 → repo_review-0.12.3}/src/repo_review/ghpath.py +2 -2
  12. repo_review-0.12.2/.github/release.yml +0 -5
  13. {repo_review-0.12.2 → repo_review-0.12.3}/.devcontainer/devcontainer.json +0 -0
  14. {repo_review-0.12.2 → repo_review-0.12.3}/.git_archival.txt +0 -0
  15. {repo_review-0.12.2 → repo_review-0.12.3}/.gitattributes +0 -0
  16. {repo_review-0.12.2 → repo_review-0.12.3}/.github/CONTRIBUTING.md +0 -0
  17. {repo_review-0.12.2 → repo_review-0.12.3}/.github/ISSUE_TEMPLATE/new-issue.md +0 -0
  18. {repo_review-0.12.2 → repo_review-0.12.3}/.github/dependabot.yml +0 -0
  19. {repo_review-0.12.2 → repo_review-0.12.3}/.gitignore +0 -0
  20. {repo_review-0.12.2 → repo_review-0.12.3}/.pre-commit-hooks.yaml +0 -0
  21. {repo_review-0.12.2 → repo_review-0.12.3}/.readthedocs.yaml +0 -0
  22. {repo_review-0.12.2 → repo_review-0.12.3}/LICENSE +0 -0
  23. {repo_review-0.12.2 → repo_review-0.12.3}/README.md +0 -0
  24. {repo_review-0.12.2 → repo_review-0.12.3}/docs/.nojekyll +0 -0
  25. {repo_review-0.12.2 → repo_review-0.12.3}/docs/api/repo_review.resources.rst +0 -0
  26. {repo_review-0.12.2 → repo_review-0.12.3}/docs/api/repo_review.rst +0 -0
  27. {repo_review-0.12.2 → repo_review-0.12.3}/docs/changelog.md +0 -0
  28. {repo_review-0.12.2 → repo_review-0.12.3}/docs/checks.md +0 -0
  29. {repo_review-0.12.2 → repo_review-0.12.3}/docs/cli.md +0 -0
  30. {repo_review-0.12.2 → repo_review-0.12.3}/docs/conf.py +0 -0
  31. {repo_review-0.12.2 → repo_review-0.12.3}/docs/families.md +0 -0
  32. {repo_review-0.12.2 → repo_review-0.12.3}/docs/fixtures.md +0 -0
  33. {repo_review-0.12.2 → repo_review-0.12.3}/docs/index.md +0 -0
  34. {repo_review-0.12.2 → repo_review-0.12.3}/docs/intro.md +0 -0
  35. {repo_review-0.12.2 → repo_review-0.12.3}/docs/plugins.md +0 -0
  36. {repo_review-0.12.2 → repo_review-0.12.3}/docs/programmatic.md +0 -0
  37. {repo_review-0.12.2 → repo_review-0.12.3}/docs/webapp.js +0 -0
  38. {repo_review-0.12.2 → repo_review-0.12.3}/docs/webapp.md +0 -0
  39. {repo_review-0.12.2 → repo_review-0.12.3}/src/repo_review/__init__.py +0 -0
  40. {repo_review-0.12.2 → repo_review-0.12.3}/src/repo_review/_compat/__init__.py +0 -0
  41. {repo_review-0.12.2 → repo_review-0.12.3}/src/repo_review/_compat/importlib/__init__.py +0 -0
  42. {repo_review-0.12.2 → repo_review-0.12.3}/src/repo_review/_compat/importlib/resources/__init__.py +0 -0
  43. {repo_review-0.12.2 → repo_review-0.12.3}/src/repo_review/_compat/importlib/resources/abc.py +0 -0
  44. {repo_review-0.12.2 → repo_review-0.12.3}/src/repo_review/_compat/tomllib.py +0 -0
  45. {repo_review-0.12.2 → repo_review-0.12.3}/src/repo_review/_compat/typing.py +0 -0
  46. {repo_review-0.12.2 → repo_review-0.12.3}/src/repo_review/_version.pyi +0 -0
  47. {repo_review-0.12.2 → repo_review-0.12.3}/src/repo_review/checks.py +0 -0
  48. {repo_review-0.12.2 → repo_review-0.12.3}/src/repo_review/families.py +0 -0
  49. {repo_review-0.12.2 → repo_review-0.12.3}/src/repo_review/fixtures.py +0 -0
  50. {repo_review-0.12.2 → repo_review-0.12.3}/src/repo_review/html.py +0 -0
  51. {repo_review-0.12.2 → repo_review-0.12.3}/src/repo_review/processor.py +0 -0
  52. {repo_review-0.12.2 → repo_review-0.12.3}/src/repo_review/py.typed +0 -0
  53. {repo_review-0.12.2 → repo_review-0.12.3}/src/repo_review/resources/__init__.py +0 -0
  54. {repo_review-0.12.2 → repo_review-0.12.3}/src/repo_review/resources/repo-review.schema.json +0 -0
  55. {repo_review-0.12.2 → repo_review-0.12.3}/src/repo_review/schema.py +0 -0
  56. {repo_review-0.12.2 → repo_review-0.12.3}/src/repo_review/testing.py +0 -0
  57. {repo_review-0.12.2 → repo_review-0.12.3}/tests/conftest.py +0 -0
  58. {repo_review-0.12.2 → repo_review-0.12.3}/tests/test_checks.py +0 -0
  59. {repo_review-0.12.2 → repo_review-0.12.3}/tests/test_cmd.py +0 -0
  60. {repo_review-0.12.2 → repo_review-0.12.3}/tests/test_depends.py +0 -0
  61. {repo_review-0.12.2 → repo_review-0.12.3}/tests/test_families.py +0 -0
  62. {repo_review-0.12.2 → repo_review-0.12.3}/tests/test_fixtures.py +0 -0
  63. {repo_review-0.12.2 → repo_review-0.12.3}/tests/test_multi.py +0 -0
  64. {repo_review-0.12.2 → repo_review-0.12.3}/tests/test_package.py +0 -0
  65. {repo_review-0.12.2 → repo_review-0.12.3}/tests/test_self.py +0 -0
  66. {repo_review-0.12.2 → repo_review-0.12.3}/tests/test_utilities/pyproject.py +0 -0
  67. {repo_review-0.12.2 → repo_review-0.12.3}/tests/test_utilities/pyproject.toml +0 -0
@@ -0,0 +1,5 @@
1
+ changelog:
2
+ exclude:
3
+ authors:
4
+ - dependabot[bot]
5
+ - pre-commit-ci[bot]
@@ -14,7 +14,7 @@ jobs:
14
14
  runs-on: ubuntu-latest
15
15
 
16
16
  steps:
17
- - uses: actions/checkout@v4
17
+ - uses: actions/checkout@v5
18
18
  with:
19
19
  fetch-depth: 0
20
20
  persist-credentials: false
@@ -30,7 +30,7 @@ jobs:
30
30
  runs-on: ubuntu-latest
31
31
  if: github.event_name == 'release' && github.event.action == 'published'
32
32
  steps:
33
- - uses: actions/download-artifact@v4
33
+ - uses: actions/download-artifact@v5
34
34
  with:
35
35
  name: Packages
36
36
  path: dist
@@ -24,10 +24,10 @@ jobs:
24
24
  name: Format
25
25
  runs-on: ubuntu-latest
26
26
  steps:
27
- - uses: actions/checkout@v4
27
+ - uses: actions/checkout@v5
28
28
  with:
29
29
  persist-credentials: false
30
- - uses: actions/setup-python@v5
30
+ - uses: actions/setup-python@v6
31
31
  with:
32
32
  python-version: "3.x"
33
33
  - uses: pre-commit/action@v3.0.1
@@ -43,14 +43,14 @@ jobs:
43
43
  runs-on: [ubuntu-latest, macos-latest, windows-latest]
44
44
 
45
45
  steps:
46
- - uses: actions/checkout@v4
46
+ - uses: actions/checkout@v5
47
47
  with:
48
48
  fetch-depth: 0
49
49
  persist-credentials: false
50
50
 
51
51
  # Last one is activated
52
52
  # yaml circular import issue on 3.14t on ubuntu
53
- - uses: actions/setup-python@v5
53
+ - uses: actions/setup-python@v6
54
54
  with:
55
55
  python-version: |
56
56
  3.10
@@ -74,7 +74,7 @@ jobs:
74
74
  runs-on: ubuntu-latest
75
75
 
76
76
  steps:
77
- - uses: actions/checkout@v4
77
+ - uses: actions/checkout@v5
78
78
  with:
79
79
  fetch-depth: 0
80
80
  persist-credentials: false
@@ -85,7 +85,7 @@ jobs:
85
85
  name: Docs
86
86
  runs-on: ubuntu-latest
87
87
  steps:
88
- - uses: actions/checkout@v4
88
+ - uses: actions/checkout@v5
89
89
  with:
90
90
  fetch-depth: 0
91
91
  persist-credentials: false
@@ -93,7 +93,7 @@ jobs:
93
93
  - name: Setup uv
94
94
  uses: astral-sh/setup-uv@v6
95
95
 
96
- - uses: actions/setup-python@v5
96
+ - uses: actions/setup-python@v6
97
97
  with:
98
98
  python-version: "3.12"
99
99
 
@@ -115,7 +115,7 @@ jobs:
115
115
  name: Action
116
116
  runs-on: ubuntu-latest
117
117
  steps:
118
- - uses: actions/checkout@v4
118
+ - uses: actions/checkout@v5
119
119
  with:
120
120
  fetch-depth: 0
121
121
  persist-credentials: false
@@ -11,20 +11,20 @@ repos:
11
11
  additional_dependencies: [black==24.*]
12
12
 
13
13
  - repo: https://github.com/astral-sh/ruff-pre-commit
14
- rev: "v0.11.8"
14
+ rev: "v0.12.11"
15
15
  hooks:
16
- - id: ruff
16
+ - id: ruff-check
17
17
  args: ["--fix", "--show-fixes"]
18
18
  - id: ruff-format
19
19
 
20
20
  - repo: https://github.com/rbubley/mirrors-prettier
21
- rev: "v3.5.3"
21
+ rev: "v3.6.2"
22
22
  hooks:
23
23
  - id: prettier
24
24
  types_or: [yaml, markdown, html, css, scss, javascript, json]
25
25
 
26
26
  - repo: https://github.com/pre-commit/pre-commit-hooks
27
- rev: v5.0.0
27
+ rev: v6.0.0
28
28
  hooks:
29
29
  - id: check-added-large-files
30
30
  - id: check-case-conflict
@@ -45,7 +45,7 @@ repos:
45
45
  - id: rst-inline-touching-normal
46
46
 
47
47
  - repo: https://github.com/pre-commit/mirrors-mypy
48
- rev: v1.15.0
48
+ rev: v1.17.1
49
49
  hooks:
50
50
  - id: mypy
51
51
  files: (src|web|tests)
@@ -66,7 +66,7 @@ repos:
66
66
  args: ["-Lhist,absense", "-w"]
67
67
 
68
68
  - repo: https://github.com/shellcheck-py/shellcheck-py
69
- rev: v0.10.0.1
69
+ rev: v0.11.0.1
70
70
  hooks:
71
71
  - id: shellcheck
72
72
 
@@ -79,12 +79,12 @@ repos:
79
79
  exclude: .pre-commit-config.yaml
80
80
 
81
81
  - repo: https://github.com/henryiii/validate-pyproject-schema-store
82
- rev: 2025.04.28
82
+ rev: 2025.08.29
83
83
  hooks:
84
84
  - id: validate-pyproject
85
85
 
86
86
  - repo: https://github.com/python-jsonschema/check-jsonschema
87
- rev: 0.33.0
87
+ rev: 0.33.3
88
88
  hooks:
89
89
  - id: check-dependabot
90
90
  - id: check-github-workflows
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: repo_review
3
- Version: 0.12.2
3
+ Version: 0.12.3
4
4
  Summary: Framework that can run checks on repos
5
5
  Project-URL: Changelog, https://github.com/scientific-python/repo-review/releases
6
6
  Project-URL: Demo, https://scientific-python.github.io/repo-review
@@ -23,7 +23,7 @@ inputs:
23
23
  runs:
24
24
  using: composite
25
25
  steps:
26
- - uses: actions/setup-python@v5
26
+ - uses: actions/setup-python@v6
27
27
  id: python
28
28
  with:
29
29
  python-version: "3.13"
@@ -6,7 +6,7 @@
6
6
  content="initial-scale=1, width=device-width"
7
7
  />
8
8
  <script
9
- src="https://cdn.jsdelivr.net/pyodide/v0.27.6/full/pyodide.js"
9
+ src="https://cdn.jsdelivr.net/pyodide/v0.28.1/full/pyodide.js"
10
10
  crossorigin
11
11
  ></script>
12
12
  <!-- Production -->
@@ -64,10 +64,10 @@
64
64
  <App
65
65
  header={true}
66
66
  deps={[
67
- "repo-review~=0.12.1",
67
+ "repo-review~=0.12.2",
68
68
  "sp-repo-review==2025.05.02",
69
69
  "validate-pyproject[all]~=0.24.0",
70
- "validate-pyproject-schema-store==2025.04.28",
70
+ "validate-pyproject-schema-store==2025.05.12",
71
71
  ]}
72
72
  />,
73
73
  );
@@ -227,6 +227,7 @@ extend-select = [
227
227
  "T20", # flake8-print
228
228
  "UP", # pyupgrade
229
229
  "YTT", # flake8-2020
230
+
230
231
  ]
231
232
  ignore = [
232
233
  "ISC001", # May collide with formatter
@@ -1,5 +1,6 @@
1
1
  from __future__ import annotations
2
2
 
3
+ import functools
3
4
  import importlib.metadata
4
5
  import itertools
5
6
  import json
@@ -100,16 +101,8 @@ def all_versions(ctx: click.Context, _param: click.Parameter, value: bool) -> No
100
101
  ctx.exit()
101
102
 
102
103
 
103
- def rich_printer(
104
- families: Mapping[str, Family],
105
- processed: list[Result],
106
- *,
107
- svg: bool = False,
108
- stderr: bool = False,
109
- color: bool = True,
110
- status: Status,
111
- header: str = "",
112
- ) -> None:
104
+ @functools.cache
105
+ def _ensure_unicode_streams() -> None:
113
106
  # Before Python 3.15, this isn't always unicode
114
107
  if (
115
108
  sys.version_info < (3, 15)
@@ -121,6 +114,19 @@ def rich_printer(
121
114
  if sys.stderr.encoding != "utf-8":
122
115
  sys.stderr.reconfigure(encoding="utf-8") # type: ignore[union-attr]
123
116
 
117
+
118
+ def rich_printer(
119
+ families: Mapping[str, Family],
120
+ processed: list[Result],
121
+ *,
122
+ svg: bool = False,
123
+ stderr: bool = False,
124
+ color: bool = True,
125
+ status: Status,
126
+ header: str = "",
127
+ ) -> None:
128
+ _ensure_unicode_streams()
129
+
124
130
  console = rich.console.Console(
125
131
  record=svg, quiet=svg, stderr=stderr, color_system="auto" if color else None
126
132
  )
@@ -275,7 +281,15 @@ def _remote_path_processor(package: Path) -> Path | GHPath:
275
281
  raise SystemExit(1) from None
276
282
 
277
283
 
278
- @click.command(context_settings={"help_option_names": ["-h", "--help"]})
284
+ class UnicodeHelpCommand(click.Command):
285
+ def get_help(self, ctx: click.Context) -> str:
286
+ _ensure_unicode_streams()
287
+ return super().get_help(ctx)
288
+
289
+
290
+ @click.command(
291
+ cls=UnicodeHelpCommand, context_settings={"help_option_names": ["-h", "--help"]}
292
+ )
279
293
  @click.version_option(version=__version__)
280
294
  @click.argument(
281
295
  "packages",
@@ -1,7 +1,14 @@
1
1
  # file generated by setuptools-scm
2
2
  # don't change, don't track in version control
3
3
 
4
- __all__ = ["__version__", "__version_tuple__", "version", "version_tuple"]
4
+ __all__ = [
5
+ "__version__",
6
+ "__version_tuple__",
7
+ "version",
8
+ "version_tuple",
9
+ "__commit_id__",
10
+ "commit_id",
11
+ ]
5
12
 
6
13
  TYPE_CHECKING = False
7
14
  if TYPE_CHECKING:
@@ -9,13 +16,19 @@ if TYPE_CHECKING:
9
16
  from typing import Union
10
17
 
11
18
  VERSION_TUPLE = Tuple[Union[int, str], ...]
19
+ COMMIT_ID = Union[str, None]
12
20
  else:
13
21
  VERSION_TUPLE = object
22
+ COMMIT_ID = object
14
23
 
15
24
  version: str
16
25
  __version__: str
17
26
  __version_tuple__: VERSION_TUPLE
18
27
  version_tuple: VERSION_TUPLE
28
+ commit_id: COMMIT_ID
29
+ __commit_id__: COMMIT_ID
19
30
 
20
- __version__ = version = '0.12.2'
21
- __version_tuple__ = version_tuple = (0, 12, 2)
31
+ __version__ = version = '0.12.3'
32
+ __version_tuple__ = version_tuple = (0, 12, 3)
33
+
34
+ __commit_id__ = commit_id = None
@@ -50,11 +50,11 @@ class GHPath(Traversable):
50
50
  def open_url(url: str) -> io.StringIO:
51
51
  "This method can be overridden manually for WASM. Supports pyodide currently."
52
52
  if sys.platform == "emscripten":
53
- import pyodide.http
53
+ import pyodide.http # noqa: PLC0415
54
54
 
55
55
  return pyodide.http.open_url(url)
56
56
 
57
- import urllib.request # pylint: disable=import-outside-toplevel
57
+ import urllib.request # noqa: PLC0415
58
58
 
59
59
  with urllib.request.urlopen(url) as response:
60
60
  return io.StringIO(response.read().decode("utf-8"))
@@ -1,5 +0,0 @@
1
- changelog:
2
- exclude:
3
- authors:
4
- - dependabot
5
- - pre-commit-ci
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes