Installing / Getting Started#
Repo-review is a framework for running checks from plugins. You need to have a
plugin for repo-review to do anything. The examples below use
as an example. You can also use the WebAssembly version from web pages, like
the demo page.
repo-review (and presumably, most/all plugins) are available from pip. If you
want to run a single plugin that depends on repo-review, then the easiest way
to use it is:
pipx run <plugin-name>[cli] .
This uses pipx (pip for executables) to download the plugin and all of it’s dependencies (including repo-review itself) into a temporary virtual environment (cached for a week), then runs it. For example:
pipx run sp-repo-review[cli] .
You can also use pipx install:
pipx install repo-review[cli] pipx inject repo-review <plugin(s)> repo-review .
Any other way you like installing things works too, including
[cli] extra if you are using the command line
Plugins are also encouraged to support pre-commit and GitHub Actions.
You can run checks with (
repo-review <path> or
python -m repo_review <path>. See CLI for command-line options.
You can explicitly list checks to select or skip in your
[tool.repo-review] select = ["..."] ignore = ["..."]
You can also use this from pre-commit:
- repo: https://github.com/scientific-python/repo-review rev: <version> hooks: - id: repo-review additional_dependencies: ["repo-review[cli]", "sp-repo-review==<version>"]
(Insert the current version above, and ideally pin the plugin version, as long as you have a way to auto-update it.)
Though check your favorite plugin, which might directly support running from pre-commit, and then pre-commit’s pinning system will pin on your plugin, rather than the framework (repo-review).
This currently has a couple of weird quirks. Pre-commit will not report the
correct version for repo-review (it’s always 0.1), and it will lose the
requirements if you add additional dependencies (which you always do, it’s a
plugin framework, so it needs plugins). To counter this, plugins can avoid
lower bounds and you can manually add
repo-review[cli], as seen above, or
plugins can provide their own hooks (like sp-repo-review also does).
In the future, a mirror will be set up so that we can avoid these issues.
- uses: scientific-python/repo-review@<version> with: plugins: sp-repo-review
(Insert the current version above, optionally pin the plugin version, as long as you have a way to auto-update it.)
Though check your favorite plugin, which might directly support running from GitHub Actions, and then Dependabot’s updating system will pin on your plugin, rather than the framework (repo-review).