Tracking Current outstanding pre-commit repo review actions
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
- Issue type
- Refactor
- Clarity
- Needs clarification
- Activity status
- Stale
- Tech stack
- python
- Domain
- build-system, testing-qa, tooling
Research direction
Start by reading pyproject.toml and the pre-commit action described in #276, then group the unchecked Repo Review, Ruff, NumPy-style docstring, and MyPy items by the changes they require. Done means each applicable check is implemented and its ignore removed, or the project has recorded which checks will remain ignored and why.
Written by the indexing model from the issue text.
Description
📰 Custom Issue
#276 will add a pre-commit action checking our repo against repo review.
To add this I have set all of the tests that currently fail to ignore in the pyproject.toml. We need to consider which/how many of these we can/want to implement into stratify, and which we are happy to leave on ignore.
Repo Review
- PY004: Has docs folder
- PP302: Sets a minimum pytest to at least 6
- PP304: Sets the log level in pytest
- PP305: Specifies xfail_strict
- PP306: Specifies strict config
- PP307: Specifies strict markers
- PP309: Filter warnings specified
- PY007: Supports an easy task runner (nox or tox)
- PP003: Does not list wheel as a build-dep
- PC111: Uses blacken-docs
- PC140: Uses a type checker
- PC160: Uses a spell checker
- PC170: Uses PyGrep hooks (only needed if rST present)
- PC180: Uses a markdown formatter
- PC190: Uses Ruff
- MY100: Uses MyPy (pyproject config)
- RF001: Has Ruff config
- RTD100: Uses ReadTheDocs (pyproject config)
Ruff
- "ANN001", # Missing type annotation for function argument {name}
- "ANN002", # Missing type annotation for *{name}
- "ANN003", # Missing type annotation for **{name}
- "ANN201", # Missing return type annotation for public function {name}
- "ANN202", # Missing return type annotation for private function {name}
- "ANN204", # Missing return type annotation for special method {name}
- "ARG002", # Unused method argument: {name}
- "ARG003", # Unused class method argument: {name}
- "B028", # No explicit stacklevel keyword argument found
- "C405", # Unnecessary {obj_type} literal (rewrite as a set literal)
- "C419", # Unnecessary list comprehension
- "COM812", # Trailing comma missing.
- "COM819", # Trailing comma prohibited.
- "D100", # Missing docstring in public module
- "D101", # Missing docstring in public class
- "D102", # Missing docstring in public method
- "D103", # Missing docstring in public function
- "D104", # Missing docstring in public package
- "D106", # Missing docstring in public nested class
- "D205", # 1 blank line required between summary line and description
- "ERA001", # Found commented-out code
- "FBT002", # Boolean default positional argument in function definition
- "ISC001", # Implicitly concatenate string literals on one line.
- "N801", # Class name {name} should use CapWords convention
- "PLR2004", # Magic value used in comparison, consider replacing {value} with a constant variable
- "PT009", # Use a regular assert instead of unittest-style {assertion}
- "PT027", # Use pytest.raises instead of unittest-style {assertion}
- "RET504", # Unnecessary assignment to {name} before return statement
- "RUF005", # Consider {expression} instead of concatenation
- "RUF012", # Mutable class attributes should be annotated with typing.ClassVar
- "SLF001", # Private member accessed: {access}
- "T201", # print found
Per file
Tests
- "D100", # Missing docstring in public module
- "D205", # 1 blank line required between summary line and description
- "D401", # 1 First line of docstring should be in imperative mood
NumPydoc
- "GL01", # Permit summary line on same line as docstring opening quotes.
- "GL02", # Permit a blank line before docstring closing quotes.
- "GL03", # Ignoring.
- "GL08", # The object does not have a docstring
- "PR01", # Parameters {missing_params} not documented
- "PR02", # Unknown parameters {unknown_params}
- "PR10", # Parameter "{param_name}" requires a space before the colon separating the parameter name and type
- "RT04", # Return value description should start with a capital letter
- "SS06", # Summary should fit in a single line
- "SA01", # Not all docstrings require a "See Also" section.
- "ES01", # Not all docstrings require an "Extended Summary" section.
- "EX01", # Not all docstrings require an "Examples" section.
- "YD01", # Not all docstrings require a "Yields" section.
MyPy
(These are the groups of errors that we disable).
- "call-arg"
- "no-untyped-def"
- "no-untyped-def"
- "attr-defined"
- "misc"
- "index"
- "var-annotated"
- "assignment"
- Dominant language
- Jupyter Notebook
- Stars
- 30
- Forks
- 19
- Avg merge
- 9d 1h
- Merged PRs (30d)
- 2
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from SciTools/python-stratify
-
Difficulty 1/5 Under an hour Newbie friendliness 78/100
SciTools/python-stratify#437 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
SciTools/python-stratify#435 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
SciTools/python-stratify#430 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
SciTools/python-stratify#427 ·
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
SciTools/python-stratify#111 · 3 comments · 2 reactions ·
All issues in SciTools/python-stratify
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
freedomofpress/dangerzone#1562 ·
-
Mend: dependency security vulnerability status: needs triage 🕵️♀️
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
carbon-design-system/ibm-products#9907 ·
-
intake mcp-intake needs-ac needs-human-review priority:medium type:feature
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
Ikalus1988/MisakaNet#2102 · 2 comments ·
-
onnx-ir re-exports ModelProto and GraphProto but not NodeProto, AttributeProto and AttributeType Open
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
llvm/lighthouse#283 ·