ran pipx run 'sp-repo-review[cli]' ./ with the following results
General:
• Detected build backend: hatchling.build
├── PY001 Has a pyproject.toml ✅
├── PY002 Has a README.(md|rst) file ✅
├── PY003 Has a LICENSE* file ✅
├── PY004 Has docs folder ✅
├── PY005 Has tests folder ✅
├── PY006 Has pre-commit config ✅
└── PY007 Supports an easy task runner (nox or tox) ✅
PyProject:
├── PP002 Has a proper build-system table ✅
├── PP003 Does not list wheel as a build-dep ✅
├── PP301 Has pytest in pyproject ❌
│ Must have a [tool.pytest.ini_options] configuration section in pyproject.toml. If you must have it somewhere else (such as to support pytest<6), ignore this check.
├── PP302 Sets a minimum pytest to at least 6 [skipped]
├── PP303 Sets the test paths [skipped]
├── PP304 Sets the log level in pytest [skipped]
├── PP305 Specifies xfail_strict [skipped]
├── PP306 Specifies strict config [skipped]
├── PP307 Specifies strict markers [skipped]
├── PP308 Specifies useful pytest summary [skipped]
└── PP309 Filter warnings specified [skipped]
GitHub Actions:
├── GH100 Has GitHub Actions config ❌
│ All projects should have GitHub Actions config for this series of checks. If there are no .yml files in .github/workflows, the remaining checks will be skipped.
├── GH101 Has nice names [skipped]
├── GH102 Auto-cancel on repeated PRs [skipped]
├── GH103 At least one workflow with manual dispatch trigger [skipped]
├── GH104 Use unique names for upload-artifact [skipped]
├── GH200 Maintained by Dependabot [skipped]
├── GH210 Maintains the GitHub action versions with Dependabot [skipped]
├── GH211 Do not pin core actions as major versions [skipped]
└── GH212 Require GHA update grouping [skipped]
Pre-commit:
├── PC100 Has pre-commit-hooks ✅
├── PC110 Uses black or ruff-format ✅
├── PC111 Uses blacken-docs ✅
├── PC140 Uses mypy ❌
│ Must have https://github.com/pre-commit/mirrors-mypy repo in .pre-commit-config.yaml
├── PC160 Uses codespell ✅
├── PC170 Uses PyGrep hooks (only needed if RST present) ✅
├── PC180 Uses prettier ✅
├── PC190 Uses Ruff ✅
├── PC191 Ruff show fixes if fixes enabled ✅
└── PC901 Custom pre-commit CI message ✅
MyPy:
├── MY100 Uses MyPy (pyproject config) ❌
│ Must have tool.mypy section in pyproject.toml. Other forms of configuration are not supported by this check.
├── MY101 MyPy strict mode [skipped]
├── MY102 MyPy show_error_codes deprecated [skipped]
├── MY103 MyPy warn unreachable [skipped]
├── MY104 MyPy enables ignore-without-code [skipped]
├── MY105 MyPy enables redundant-expr [skipped]
└── MY106 MyPy enables truthy-bool [skipped]
Ruff:
├── RF001 Has Ruff config ❌
│ Must have [tool.ruff] section in pyproject.toml or ruff.toml/.ruff.toml.
├── RF002 Target version must be set [skipped]
├── RF003 src directory specified if used [skipped]
├── RF101 Bugbear must be selected [skipped]
├── RF102 isort must be selected [skipped]
├── RF103 pyupgrade must be selected [skipped]
├── RF201 Avoid using deprecated config settings [skipped]
└── RF202 Use (new) lint config section [skipped]
Documentation:
├── RTD100 Uses ReadTheDocs (pyproject config) ❌
│ Should have a .readthedocs.yaml file in the root of the repository. Modern ReadTheDocs requires (or will require soon) this file.
├── RTD101 You have to set the RTD version number to 2 [skipped]
├── RTD102 You have to set the RTD build image [skipped]
└── RTD103 You have to set the RTD python version [skipped]
1
pipx run 'sp-repo-review[cli]' ./
with the following resultsGeneral:
• Detected build backend: hatchling.build
├── PY001 Has a pyproject.toml ✅ ├── PY002 Has a README.(md|rst) file ✅ ├── PY003 Has a LICENSE* file ✅ ├── PY004 Has docs folder ✅ ├── PY005 Has tests folder ✅ ├── PY006 Has pre-commit config ✅ └── PY007 Supports an easy task runner (nox or tox) ✅
PyProject: ├── PP002 Has a proper build-system table ✅ ├── PP003 Does not list wheel as a build-dep ✅ ├── PP301 Has pytest in pyproject ❌ │ Must have a [tool.pytest.ini_options] configuration section in pyproject.toml. If you must have it somewhere else (such as to support pytest<6), ignore this check.
├── PP302 Sets a minimum pytest to at least 6 [skipped] ├── PP303 Sets the test paths [skipped] ├── PP304 Sets the log level in pytest [skipped] ├── PP305 Specifies xfail_strict [skipped] ├── PP306 Specifies strict config [skipped] ├── PP307 Specifies strict markers [skipped] ├── PP308 Specifies useful pytest summary [skipped] └── PP309 Filter warnings specified [skipped]
GitHub Actions: ├── GH100 Has GitHub Actions config ❌ │ All projects should have GitHub Actions config for this series of checks. If there are no .yml files in .github/workflows, the remaining checks will be skipped.
├── GH101 Has nice names [skipped] ├── GH102 Auto-cancel on repeated PRs [skipped] ├── GH103 At least one workflow with manual dispatch trigger [skipped] ├── GH104 Use unique names for upload-artifact [skipped] ├── GH200 Maintained by Dependabot [skipped] ├── GH210 Maintains the GitHub action versions with Dependabot [skipped] ├── GH211 Do not pin core actions as major versions [skipped] └── GH212 Require GHA update grouping [skipped]
Pre-commit: ├── PC100 Has pre-commit-hooks ✅ ├── PC110 Uses black or ruff-format ✅ ├── PC111 Uses blacken-docs ✅ ├── PC140 Uses mypy ❌ │ Must have https://github.com/pre-commit/mirrors-mypy repo in .pre-commit-config.yaml
├── PC160 Uses codespell ✅ ├── PC170 Uses PyGrep hooks (only needed if RST present) ✅ ├── PC180 Uses prettier ✅ ├── PC190 Uses Ruff ✅ ├── PC191 Ruff show fixes if fixes enabled ✅ └── PC901 Custom pre-commit CI message ✅
MyPy: ├── MY100 Uses MyPy (pyproject config) ❌ │ Must have tool.mypy section in pyproject.toml. Other forms of configuration are not supported by this check.
├── MY101 MyPy strict mode [skipped] ├── MY102 MyPy show_error_codes deprecated [skipped] ├── MY103 MyPy warn unreachable [skipped] ├── MY104 MyPy enables ignore-without-code [skipped] ├── MY105 MyPy enables redundant-expr [skipped] └── MY106 MyPy enables truthy-bool [skipped]
Ruff: ├── RF001 Has Ruff config ❌ │ Must have [tool.ruff] section in pyproject.toml or ruff.toml/.ruff.toml.
├── RF002 Target version must be set [skipped] ├── RF003 src directory specified if used [skipped] ├── RF101 Bugbear must be selected [skipped] ├── RF102 isort must be selected [skipped] ├── RF103 pyupgrade must be selected [skipped] ├── RF201 Avoid using deprecated config settings [skipped] └── RF202 Use (new) lint config section [skipped]
Documentation: ├── RTD100 Uses ReadTheDocs (pyproject config) ❌ │ Should have a .readthedocs.yaml file in the root of the repository. Modern ReadTheDocs requires (or will require soon) this file.
├── RTD101 You have to set the RTD version number to 2 [skipped] ├── RTD102 You have to set the RTD build image [skipped] └── RTD103 You have to set the RTD python version [skipped]