Skip to content

Commit 8c542ea

Browse files
authored
docs: add more links and some updates (#122)
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
1 parent d9a2f76 commit 8c542ea

File tree

2 files changed

+42
-12
lines changed

2 files changed

+42
-12
lines changed

README.md

Lines changed: 40 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -19,22 +19,25 @@ output formats are supported; `rich`, `svg`, `html`, and `json`.
1919

2020
`sp-repo-review` provides checks based on the
2121
[Scientific-Python Development Guide][] at [scientific-python/cookie][]. A live
22-
WebAssembly demo using `sp-repo-review` is
22+
WebAssembly demo using [sp-repo-review][] is
2323
[here][repo-review-demo].
2424

2525
## Running repo-review
2626

2727
Repo-review supports running multiple ways:
2828

29-
- From the command line on a local folder
29+
- [From the command line][cli] on a local folder
3030
- From the command line on a remote repository on GitHub (`gh:org/repo@branch`)
31-
- From WebAssembly in [Pyodide][] (example in `docs/index.html`)
31+
- [From WebAssembly][webapp] in [Pyodide][] (example in `docs/index.html`)
32+
- [From pre-commit][intro-pre-commit]
33+
- [From GitHub Actions][intro-github-actions]
34+
- [From Python][programmatic-usage]
3235

3336
If the root of a package is not the repository root, pass `--package-dir a/b/c`.
3437

3538
## Configuration
3639

37-
Repo-review supports configuration via `pyproject.toml`:
40+
Repo-review [supports configuration][intro-configuring] via `pyproject.toml`:
3841

3942
```toml
4043
[tool.repo-review]
@@ -67,21 +70,22 @@ This project is intended to be fun and easy to develop and design checks for -
6770
it requires and uses Python 3.10, and uses a lot of the new features in 3.9 and
6871
3.10. It's maybe not entirely conventional, but it enables very simple plugin
6972
development. It works locally, remotely, and in WebAssembly (using
70-
[Pyodide][]).
73+
[Pyodide][]). [See the docs][writing-a-plugin].
7174

7275
There are a few key designs that are very useful and make this possible. First,
7376
all paths are handled as Traversables. This allows a simple Traversable
7477
implementation based on `open_url` to provide a web interface for use in the
7578
webapp. It also would allow `zipfile.Path` to work just as well, too - no need
7679
to extract.
7780

78-
Checks can request fixtures (like [pytest][]) as arguments. Check files can add new
79-
fixtures as needed. Fixtures are are specified with entry points, and take any
80-
other fixture as arguments as well - the `root` and `package` fixtures
81-
represents the root of the repository and of the package you are checking,
82-
respectively, and are the basis for all other fixtures. `pyproject` is provided
83-
as well. Checks are specified via an entrypoint that returns a dict of checks;
84-
this also can accept fixtures, allowing dynamic check listings.
81+
[Checks][] can request [fixtures][] (like [pytest][]) as arguments. Check files
82+
can add new fixtures as needed. Fixtures are are specified with entry points,
83+
and take any other fixture as arguments as well - the `root` and `package`
84+
fixtures represents the root of the repository and of the package you are
85+
checking, respectively, and are the basis for the other fixtures, which are
86+
topologically sorted and cached. `pyproject` is provided as well. Checks are
87+
specified via an entrypoint that returns a dict of checks; this can also can
88+
accept fixtures, allowing dynamic check listings.
8589

8690
Check files do not depend on the main library, and can be extended (similar to
8791
Flake8). You register new check files via entry-points - so extending this is
@@ -102,6 +106,16 @@ get a `None` result and the check method will not run. The front-end (Rich
102106
powered CLI or Pyodide webapp) will render the markdown-formatted check
103107
docstring only if the result is `False`.
104108

109+
Checks are organized by [Families][]. A plugin can customize the display name,
110+
change the sort order, and add an optional (dynamic) description. Like the other
111+
collection functions, the family entry-point also supports fixtures.
112+
113+
## Plugins
114+
115+
Feel free to request your plugin be added to this list.
116+
117+
- [sp-repo-review][]: Checks based on the [Scientific-Python Development Guide][].
118+
105119
## Links
106120

107121
This project inspired [Try-PyHF](https://kratsg.github.io/try-pyhf/), an
@@ -131,4 +145,18 @@ This was developed for [Scikit-HEP][] before moving to Scientific-Python.
131145
[scientific-python/cookie]: https://github.com/scientific-python/cookie
132146
[scikit-hep]: https://scikit-hep.org
133147

148+
[intro-precommit]: https://repo-review.readthedocs.io/en/latest/intro.html#pre-commit
149+
[intro-github-actions]: https://repo-review.readthedocs.io/en/latest/intro.html#github-actions
150+
[cli]: https://repo-review.readthedocs.io/en/latest/cli.html
151+
[programmatic-usage]: https://repo-review.readthedocs.io/en/latest/programmatic.html
152+
[webapp]: https://repo-review.readthedocs.io/en/latest/webapp.html
153+
[intro-configuring]: https://repo-review.readthedocs.io/en/latest/intro.html#configuring
154+
[writing-a-plugin]: https://repo-review.readthedocs.io/en/latest/plugins.html
155+
[fixtures]: https://repo-review.readthedocs.io/en/latest/fixtures.html
156+
[checks]: https://repo-review.readthedocs.io/en/latest/checks.html
157+
[families]: https://repo-review.readthedocs.io/en/latest/families.html
158+
[changelog]: https://repo-review.readthedocs.io/en/latest/changelog.html
159+
[api]: https://repo-review.readthedocs.io/en/latest/api/repo_review.html
160+
161+
134162
<!-- prettier-ignore-end -->

docs/conf.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,8 @@
6161
commit = os.environ.get("READTHEDOCS_GIT_COMMIT_HASH", "main")
6262
code_url = "https://github.com/scientific-python/repo-review/blob"
6363

64+
linkcheck_ignore = [r"https://pypi.org/project/repo-review/v0\.[23456]"]
65+
6466

6567
def linkcode_resolve(domain: str, info: dict[str, str]) -> str | None:
6668
if domain != "py":

0 commit comments

Comments
 (0)