Closed anujsinha3 closed 4 months ago
• Detected build backend: MISSING
├── PY001 Has a pyproject.toml ❌
│ All projects should have a pyproject.toml file to support a modern build system and support wheel installs properly.
├── PY002 Has a README.(md|rst) file ✅
├── PY003 Has a LICENSE file ❌
│ Projects must have a license
├── PY004 Has docs folder ❌
│ Projects must have documentation in a folder called docs (disable if not applicable)
├── PY005 Has tests folder ❌
│ Projects must have a folder called test or src//test
├── PY006 Has pre-commit config ❌
│ Projects must have a .pre-commit-config.yaml file
└── PY007 Supports an easy task runner (nox or tox) ❌
Projects must have a noxfile.py, tox.ini, or tool.hatch.envs/tool.spin/tool.tox in pyproject.toml to encourage new contributors.
PyProject: ├── PP002 Has a proper build-system table [skipped] ├── PP003 Does not list wheel as a build-dep [skipped] ├── PP301 Has pytest in pyproject [skipped] ├── 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 [skipped] ├── PC110 Uses black or ruff-format [skipped] ├── PC111 Uses blacken-docs [skipped] ├── PC140 Uses mypy [skipped] ├── PC160 Uses codespell [skipped] ├── PC170 Uses PyGrep hooks (only needed if RST present) [skipped] ├── PC180 Uses prettier [skipped] ├── PC190 Uses Ruff [skipped] ├── PC191 Ruff show fixes if fixes enabled [skipped] └── PC901 Custom pre-commit CI message [skipped]
MyPy: ├── MY100 Uses MyPy (pyproject config) [skipped] ├── 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]
This is an abstract view of the actions required to restructure the codebase. Each item can be broken down into separate tasks/issues. MyPy is ranked lower in the priority order. Use Jupyter Book for Documentation.
Using the below package to review and get the checklist of action items required to restructure the code. https://pypi.org/project/sp-repo-review/