-
-
Notifications
You must be signed in to change notification settings - Fork 18.4k
STYLE: use types_or in pre-commit #38457
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @rkc007 ,
The idea isn't to replace types
with types_or
everywhere, but only where it makes things simpler, please see my comments
.pre-commit-config.yaml
Outdated
@@ -24,7 +25,7 @@ repos: | |||
name: isort (python) | |||
- id: isort |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The two isort
hooks can be combined into one
- id: isort | |
- id: isort | |
types: [text] | |
types_or: [python, cython] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you @MarcoGorelli for the explanation.
Thanks, @MarcoGorelli for correcting my mistakes. I have fixed the PR. Can you please review it again? |
.pre-commit-config.yaml
Outdated
- id: unwanted-patterns-strings-to-concatenate | ||
name: Check for use of not concatenated strings | ||
language: python | ||
entry: python scripts/validate_unwanted_patterns.py --validation-type="strings_to_concatenate" | ||
files: \.(py|pyx|pxd|pxi)$ | ||
types_or: [python, file, executable, text] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this will match too many files - it will match anything that is python
or file
or executable
or text
.
Instead, we only want \.(py|pyx|pxd|pxi)$
files. .py
is Python. .pyx
, .pxd
and .pxi
are all Cython:
(pandas-dev) marco@marco-Predator-PH315-52:~/pandas-dev$ identify-cli pandas/_libs/lib.pxd
["cython", "file", "non-executable", "text"]
(pandas-dev) marco@marco-Predator-PH315-52:~/pandas-dev$ identify-cli pandas/_libs/lib.pyx
["cython", "file", "non-executable", "text"]
(pandas-dev) marco@marco-Predator-PH315-52:~/pandas-dev$ identify-cli ./pandas/_libs/algos_take_helper.pxi
["cython", "executable", "file", "text"]
So here we want
types_or: [python, cython]
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done!
.pre-commit-config.yaml
Outdated
- id: unwanted-patterns-strings-with-wrong-placed-whitespace | ||
name: Check for strings with wrong placed spaces | ||
language: python | ||
entry: python scripts/validate_unwanted_patterns.py --validation-type="strings_with_wrong_placed_whitespace" | ||
files: \.(py|pyx|pxd|pxi)$ | ||
types_or: [python, file, executable, text] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
same as above
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done!
.pre-commit-config.yaml
Outdated
- id: isort | ||
name: isort (cython) | ||
types: [cython] | ||
types: [text] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
would also be good add a comment here, like
types: [text] # overwrite upstream `types: [python]`
I think such comments work in yaml
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added!
Also, please update the minimum pre-commit version in
|
.pre-commit-config.yaml
Outdated
@@ -1,3 +1,4 @@ | |||
minimum_pre_commit_version: '2.9.0' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
let's make this 2.9.2
, as the release note mentions
Fix default value for types_or so symlink and directory can be matched
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed!
Thank you so much for correcting my mistakes again. I am in process of understanding the whole pandas library. Thank you for your help :) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me, thanks @rkc007 !
thanks @rkc007 |
black pandas
git diff upstream/master -u -- "*.py" | flake8 --diff