Skip to content
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

Replace bandit, isort, pylint, pyupgrade, and flake8 plus plugins with ruff #2779

Merged
merged 1 commit into from
Mar 10, 2023

Conversation

cclauss
Copy link
Contributor

@cclauss cclauss commented Mar 9, 2023

Ruff supports over 500 lint rules including bandit, isort, pylint, pyupgrade, and flake8 plus its plugins and is written in Rust for speed.

The ruff Action uses minimal steps to run in ~10 seconds, rapidly providing intuitive GitHub Annotations to contributors.

image

The Required in the checks below should be:

  1. Removed from flake8-annotation and added to ruff-annotation which replaces it.
  2. Removed from isort and added to ruff which replaces it.

@larsoner
Copy link
Member

larsoner commented Mar 9, 2023

This appears to be working, but in order to check:

Replace bandit, isort, pylint, pyupgrade, and flake8

Could you intentionally create an error with each one of these? That way we can see that it works. Then you can git revert that commit hash, push, and we can merge.

@cclauss
Copy link
Contributor Author

cclauss commented Mar 9, 2023

Could you intentionally create an error with each one of these?

I did so in my creation of this pull request. It was trial and error all the way to this exact configuration.

You are not alone in thinking that anything so complex that happens in subsecond time must be broken. That sentiment is mentioned multiple times in https://beta.ruff.rs/docs/#testimonials

I would encourage you to pipx install ruff and then check out this branch and modify the ruff with settings in pyproject.toml and do ruff . to see how it all works.

@DimitriPapadopoulos
Copy link
Collaborator

Just a thought about the ruff pitch itself:

[...] written in Rust for speed.

I would argue that nowadays “efficiency” in terms of carbon footprint is more important than speed in CI code. That said, I am certain that faster code is more efficient – unless speed is achieved only by parallelization.

My only concern was that ruff might be hard to install for Python developers, but it can actually be installed with a simple pip install ruff.

@larsoner
Copy link
Member

larsoner commented Mar 9, 2023

You are not alone in thinking that anything so complex... I would encourage you to pipx install ruff and then check out this branch and modify the ruff with settings in pyproject.toml and do ruff . to see how it all works.

This isn't quite what I'm getting at -- I have used ruff in other projects and I like it quite a lot. I just want to see on GitHub (now) that the configuration you've added to this project/CIs/whatever does what it's supposed to do when people do bad things in their PRs. So I'm asking for you to add a tiny commit here that does some bad things style-wise so we can confirm by eye that how you've configured ruff here will work like our existing setup. Then we revert the commit. Without doing this, then some of these replaced checks might have been incorrectly replaced and we wouldn't know for perhaps a long time.

Make sense?

Comment on lines 89 to 90
- name: Ruff with annotations
run: ruff --format=github --select=ANN --ignore=ANN101,ANN401 .
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Like this -- will it actually annotate a flake failure the way actions-flake would have? Let's find out by testing it here!

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- name: Ruff with annotations
run: ruff --format=github --select=ANN --ignore=ANN101,ANN401 .
- name: Ruff with annotations
run: ruff --select=ANN --ignore=ANN101,ANN401 .

Good call. As I say below, this private run confuses me. This can generate errors about Python annotations but those errors do not become GitHub annotations.

Comment on lines +1 to +15
name: ruff
on:
push:
branches:
- master
pull_request:
branches:
- master
jobs:
ruff:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- run: pip install --user ruff
- run: ruff --format=github .
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we need this at all given that it's run in .github/workflows/codespell-private.yml already?

Copy link
Contributor Author

@cclauss cclauss Mar 9, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I do not really understand the purpose / differentiation of "private" but it is only testing --select=ANN which is a much narrower set of rules than this Ruff action.

I disabled ANN101 in one and ANN401 in the other so we could see that both do their thing.

@cclauss
Copy link
Contributor Author

cclauss commented Mar 9, 2023

@cclauss cclauss force-pushed the ruff branch 2 times, most recently from 950c833 to 036f908 Compare March 9, 2023 23:35
@cclauss cclauss requested review from larsoner and removed request for peternewman March 9, 2023 23:36
@cclauss
Copy link
Contributor Author

cclauss commented Mar 10, 2023

@larsoner Please review the error annotation and let me know when I can revert the intentional errors.

@larsoner
Copy link
Member

Yes the annotations look great, feel free to revert!

@cclauss cclauss force-pushed the ruff branch 2 times, most recently from 754a7f2 to 1b981d8 Compare March 10, 2023 16:37
@cclauss
Copy link
Contributor Author

cclauss commented Mar 10, 2023

Reminder:
The Required in the checks below should be:

  • Removed from flake8-annotation and added to ruff-annotation which replaces it.
    Removed from isort and added to ruff which replaces it.

@larsoner larsoner merged commit abd93b0 into codespell-project:master Mar 10, 2023
@larsoner
Copy link
Member

Thanks @cclauss !

@cclauss cclauss deleted the ruff branch March 10, 2023 18:36
@cclauss
Copy link
Contributor Author

cclauss commented Mar 10, 2023

Thanks for codespell... It is awesome!

@DimitriPapadopoulos
Copy link
Collaborator

DimitriPapadopoulos commented Mar 11, 2023

Unfortunately, the ruff action complains about issues that are not relevant to a pull request:

Error: codespell_lib/_codespell.py:993:5: C901 `main` is too complex (50)
Error: codespell_lib/_codespell.py:993:5: PLR0912 Too many branches (53/48)
Error: codespell_lib/_codespell.py:993:5: PLR0915 Too many statements (114/111)

See for example #2767. What's the best course of action here? Get rid of C901, PLR0912 and PLR0915? Tell ruff to disregard anything that is not relevant to the current patch? But how?

@cclauss
Copy link
Contributor Author

cclauss commented Mar 11, 2023

The best solution would be to improve the code by reducing its complexity. These are well-proven indicators of code that will be difficult to maintain.

If that is not an option then modify the following lines in pyproject.toml

@DimitriPapadopoulos
Copy link
Collaborator

Modifying the code is a good long-term idea.

The problem here is that these rules break even small merge requests that do not add complexity, but only slightly modify existing complex code.

@cclauss
Copy link
Contributor Author

cclauss commented Mar 11, 2023

We put guardrails in place so that cars do not drive off the cliff. When maintainers review pull requests, they should encourage contributors to take an active role in keeping the garden well-maintained.

@DimitriPapadopoulos
Copy link
Collaborator

You cannot expect contributors fixing a bug by modifying a few lines of code to refactor the whole existing code base instead.

Have you had a look at #2767? I cannot refactor the whole codespell codebase, it would take months or years given the resources I can put in it.

Reducing code complexity is a good long-term idea. But you cannot stop any short-term maintenance effort until the whole code base has been refactored.

@larsoner
Copy link
Member

@cclauss I agree we should try to make our code better when possible. But @DimitriPapadopoulos if you think the code is clean enough and ruff is being too picky in #2767 I think we can relax the thresholds (a little bit) for now. When someone is motivated to clean up the code base I'm sure there are lots of potential targets!

@DimitriPapadopoulos
Copy link
Collaborator

It's just that the codespell code is already too complex. So, small change might raise CI alerts and put off new contributors. Complexity metrics are OK, of course, however I suspect some degree of flexibility is useful too. Not sure how to best handle flexibility.

@larsoner
Copy link
Member

Ultimately things like code coverage and complexity checkers can act as a guide not an absolute rule. So on a case-by-case basis we can relax/ignore some checks when it makes sense

@cclauss
Copy link
Contributor Author

cclauss commented Mar 12, 2023

Agreed that these are not absolute rules and flexibility is required. My sense is that the best way to provide that flexibility is via a discussion during pull request review like #2767 (review) . I have found that contributors usually speak up when confused or blocked.

renovate bot referenced this pull request in allenporter/pyrainbird Jun 15, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[codespell-project/codespell](https://github.com/codespell-project/codespell)
| repository | patch | `v2.2.4` -> `v2.2.5` |

Note: The `pre-commit` manager in Renovate is not supported by the
`pre-commit` maintainers or community. Please do not report any problems
there, instead [create a Discussion in the Renovate
repository](https://github.com/renovatebot/renovate/discussions/new)
if you have any questions.

---

### Release Notes

<details>
<summary>codespell-project/codespell</summary>

###
[`v2.2.5`](https://github.com/codespell-project/codespell/releases/tag/v2.2.5)

[Compare
Source](https://github.com/codespell-project/codespell/compare/v2.2.4...v2.2.5)

#### What's Changed

- Add fixing consciousely typo by
[@&#8203;yarikoptic](https://github.com/yarikoptic) in
[https://github.com/codespell-project/codespell/pull/2777](https://github.com/codespell-project/codespell/pull/2777)
- atalog typo (saw twice in a project) by
[@&#8203;yarikoptic](https://github.com/yarikoptic) in
[https://github.com/codespell-project/codespell/pull/2782](https://github.com/codespell-project/codespell/pull/2782)
- created fstrings by
[@&#8203;marksmayo](https://github.com/marksmayo) in
[https://github.com/codespell-project/codespell/pull/2784](https://github.com/codespell-project/codespell/pull/2784)
- Replace bandit, isort, pylint, pyupgrade, and flake8 plus plugins with
ruff by [@&#8203;cclauss](https://github.com/cclauss) in
[https://github.com/codespell-project/codespell/pull/2779](https://github.com/codespell-project/codespell/pull/2779)
- Add Microsoft Mispelling by
[@&#8203;Casey-Kiewit](https://github.com/Casey-Kiewit) in
[https://github.com/codespell-project/codespell/pull/2789](https://github.com/codespell-project/codespell/pull/2789)
- Use Latest Version In README Pre-Commit Example by
[@&#8203;Casey-Kiewit](https://github.com/Casey-Kiewit) in
[https://github.com/codespell-project/codespell/pull/2788](https://github.com/codespell-project/codespell/pull/2788)
- ruff: Use format specifiers instead of percent format by
[@&#8203;cclauss](https://github.com/cclauss) in
[https://github.com/codespell-project/codespell/pull/2787](https://github.com/codespell-project/codespell/pull/2787)
- New typos by [@&#8203;gforcada](https://github.com/gforcada) in
[https://github.com/codespell-project/codespell/pull/2793](https://github.com/codespell-project/codespell/pull/2793)
- Ruff: Ignore new rule PLC1901 by
[@&#8203;cclauss](https://github.com/cclauss) in
[https://github.com/codespell-project/codespell/pull/2797](https://github.com/codespell-project/codespell/pull/2797)
- Add various typo fixes by
[@&#8203;luzpaz](https://github.com/luzpaz) in
[https://github.com/codespell-project/codespell/pull/2795](https://github.com/codespell-project/codespell/pull/2795)
- Another suggestion by
[@&#8203;gforcada](https://github.com/gforcada) in
[https://github.com/codespell-project/codespell/pull/2798](https://github.com/codespell-project/codespell/pull/2798)
- Fix AssertionError when opening with chardet by
[@&#8203;n-thumann](https://github.com/n-thumann) in
[https://github.com/codespell-project/codespell/pull/2785](https://github.com/codespell-project/codespell/pull/2785)
- Fix typo (and variants) from xxHash by
[@&#8203;DimitriPapadopoulos](https://github.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2761](https://github.com/codespell-project/codespell/pull/2761)
- Add `huld`->`hold` Spelling Mistake by
[@&#8203;Casey-Kiewit](https://github.com/Casey-Kiewit) in
[https://github.com/codespell-project/codespell/pull/2792](https://github.com/codespell-project/codespell/pull/2792)
- Fix CI issues by
[@&#8203;DimitriPapadopoulos](https://github.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2796](https://github.com/codespell-project/codespell/pull/2796)
- CI: fix new ruff error B028 by
[@&#8203;DimitriPapadopoulos](https://github.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2802](https://github.com/codespell-project/codespell/pull/2802)
- Skip subdirectories of hidden directories by
[@&#8203;DimitriPapadopoulos](https://github.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2541](https://github.com/codespell-project/codespell/pull/2541)
- Add tweek(s)->tweak(s) correction by
[@&#8203;cfi-gb](https://github.com/cfi-gb) in
[https://github.com/codespell-project/codespell/pull/2804](https://github.com/codespell-project/codespell/pull/2804)
- Add supoort->support by
[@&#8203;thughes](https://github.com/thughes) in
[https://github.com/codespell-project/codespell/pull/2806](https://github.com/codespell-project/codespell/pull/2806)
- Add Suggestion For `readded` Mispelling by
[@&#8203;Casey-Kiewit](https://github.com/Casey-Kiewit) in
[https://github.com/codespell-project/codespell/pull/2805](https://github.com/codespell-project/codespell/pull/2805)
- Add displaing->displaying by
[@&#8203;peternewman](https://github.com/peternewman) in
[https://github.com/codespell-project/codespell/pull/2808](https://github.com/codespell-project/codespell/pull/2808)
- Another suggestion for stati by
[@&#8203;gforcada](https://github.com/gforcada) in
[https://github.com/codespell-project/codespell/pull/2810](https://github.com/codespell-project/codespell/pull/2810)
- Add dimaond -> diamond by
[@&#8203;Moiman](https://github.com/Moiman) in
[https://github.com/codespell-project/codespell/pull/2813](https://github.com/codespell-project/codespell/pull/2813)
- Add vai->via, vie by
[@&#8203;peternewman](https://github.com/peternewman) in
[https://github.com/codespell-project/codespell/pull/2815](https://github.com/codespell-project/codespell/pull/2815)
- Remove invalid correction - Kwanza = currency of Angola by
[@&#8203;DimitriPapadopoulos](https://github.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2803](https://github.com/codespell-project/codespell/pull/2803)
- sinoid and friends by
[@&#8203;DimitriPapadopoulos](https://github.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2807](https://github.com/codespell-project/codespell/pull/2807)
- Add excludle->exclude by
[@&#8203;peternewman](https://github.com/peternewman) in
[https://github.com/codespell-project/codespell/pull/2814](https://github.com/codespell-project/codespell/pull/2814)
- Add gadjet->gadget and friend by
[@&#8203;peternewman](https://github.com/peternewman) in
[https://github.com/codespell-project/codespell/pull/2818](https://github.com/codespell-project/codespell/pull/2818)
- Add togueter->together by
[@&#8203;luzpaz](https://github.com/luzpaz) in
[https://github.com/codespell-project/codespell/pull/2821](https://github.com/codespell-project/codespell/pull/2821)
- Add "mutabl->mutable" by
[@&#8203;sirosen](https://github.com/sirosen) in
[https://github.com/codespell-project/codespell/pull/2822](https://github.com/codespell-project/codespell/pull/2822)
- Add containin->containing by
[@&#8203;janosh](https://github.com/janosh) in
[https://github.com/codespell-project/codespell/pull/2824](https://github.com/codespell-project/codespell/pull/2824)
- Add mandess->madness by [@&#8203;luzpaz](https://github.com/luzpaz)
in
[https://github.com/codespell-project/codespell/pull/2825](https://github.com/codespell-project/codespell/pull/2825)
- some fixes by [@&#8203;marksmayo](https://github.com/marksmayo) in
[https://github.com/codespell-project/codespell/pull/2820](https://github.com/codespell-project/codespell/pull/2820)
- Fix new ruff errors reported by CI by
[@&#8203;DimitriPapadopoulos](https://github.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2834](https://github.com/codespell-project/codespell/pull/2834)
- Add fusipn->fusion by [@&#8203;luzpaz](https://github.com/luzpaz) in
[https://github.com/codespell-project/codespell/pull/2836](https://github.com/codespell-project/codespell/pull/2836)
- Add 'subcription->subscription' by
[@&#8203;sirosen](https://github.com/sirosen) in
[https://github.com/codespell-project/codespell/pull/2832](https://github.com/codespell-project/codespell/pull/2832)
- Add 'promtp->prompt' by
[@&#8203;sirosen](https://github.com/sirosen) in
[https://github.com/codespell-project/codespell/pull/2833](https://github.com/codespell-project/codespell/pull/2833)
- Add 'endpdoint' as a misspelling of 'endpoint' by
[@&#8203;sirosen](https://github.com/sirosen) in
[https://github.com/codespell-project/codespell/pull/2830](https://github.com/codespell-project/codespell/pull/2830)
- Add more misspellings of 'identities' by
[@&#8203;sirosen](https://github.com/sirosen) in
[https://github.com/codespell-project/codespell/pull/2829](https://github.com/codespell-project/codespell/pull/2829)
- Friends of existing typos by
[@&#8203;DimitriPapadopoulos](https://github.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2837](https://github.com/codespell-project/codespell/pull/2837)
- Fix
[`66ec667`](https://github.com/codespell-project/codespell/commit/66ec667)
by
[@&#8203;DimitriPapadopoulos](https://github.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2838](https://github.com/codespell-project/codespell/pull/2838)
- equivallent and friends by
[@&#8203;DimitriPapadopoulos](https://github.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2827](https://github.com/codespell-project/codespell/pull/2827)
- Add delpoys->deploys by [@&#8203;luzpaz](https://github.com/luzpaz)
in
[https://github.com/codespell-project/codespell/pull/2842](https://github.com/codespell-project/codespell/pull/2842)
- Added variations on 'difference' by
[@&#8203;luzpaz](https://github.com/luzpaz) in
[https://github.com/codespell-project/codespell/pull/2841](https://github.com/codespell-project/codespell/pull/2841)
- Add 'canoncical->canonical' by
[@&#8203;sirosen](https://github.com/sirosen) in
[https://github.com/codespell-project/codespell/pull/2831](https://github.com/codespell-project/codespell/pull/2831)
- Add additional typos by
[@&#8203;kianmeng](https://github.com/kianmeng) in
[https://github.com/codespell-project/codespell/pull/2835](https://github.com/codespell-project/codespell/pull/2835)
- Add spelling corrections for inject and variants. by
[@&#8203;cfi-gb](https://github.com/cfi-gb) in
[https://github.com/codespell-project/codespell/pull/2846](https://github.com/codespell-project/codespell/pull/2846)
- Add 'credentail->credential' by
[@&#8203;sirosen](https://github.com/sirosen) in
[https://github.com/codespell-project/codespell/pull/2844](https://github.com/codespell-project/codespell/pull/2844)
- Add 'requestor->requester' by
[@&#8203;sirosen](https://github.com/sirosen) in
[https://github.com/codespell-project/codespell/pull/2845](https://github.com/codespell-project/codespell/pull/2845)
- Update README.rst by
[@&#8203;andyholmes](https://github.com/andyholmes) in
[https://github.com/codespell-project/codespell/pull/2466](https://github.com/codespell-project/codespell/pull/2466)
- Add exrension(s)->extension(s) by
[@&#8203;luzpaz](https://github.com/luzpaz) in
[https://github.com/codespell-project/codespell/pull/2847](https://github.com/codespell-project/codespell/pull/2847)
- Add facttory->factory and facttories-> factories by
[@&#8203;nils-van-zuijlen](https://github.com/nils-van-zuijlen) in
[https://github.com/codespell-project/codespell/pull/2848](https://github.com/codespell-project/codespell/pull/2848)
- Add several spelling corrections by
[@&#8203;luzpaz](https://github.com/luzpaz) in
[https://github.com/codespell-project/codespell/pull/2849](https://github.com/codespell-project/codespell/pull/2849)
- Add comtaining->containing by
[@&#8203;nils-van-zuijlen](https://github.com/nils-van-zuijlen) in
[https://github.com/codespell-project/codespell/pull/2855](https://github.com/codespell-project/codespell/pull/2855)
- topoplogical and friends by
[@&#8203;DimitriPapadopoulos](https://github.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2854](https://github.com/codespell-project/codespell/pull/2854)
- Add placehoulder->placeholder by
[@&#8203;sirosen](https://github.com/sirosen) in
[https://github.com/codespell-project/codespell/pull/2856](https://github.com/codespell-project/codespell/pull/2856)
- More typos from GlobalProtect-openconnect by
[@&#8203;DimitriPapadopoulos](https://github.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2850](https://github.com/codespell-project/codespell/pull/2850)
- Add spelling correction for siver->silver/sliver/diver by
[@&#8203;cfi-gb](https://github.com/cfi-gb) in
[https://github.com/codespell-project/codespell/pull/2858](https://github.com/codespell-project/codespell/pull/2858)
- Add assertino->assertion by
[@&#8203;sourcefrog](https://github.com/sourcefrog) in
[https://github.com/codespell-project/codespell/pull/2859](https://github.com/codespell-project/codespell/pull/2859)
- add notority->notoriety by
[@&#8203;EdwardBetts](https://github.com/EdwardBetts) in
[https://github.com/codespell-project/codespell/pull/2861](https://github.com/codespell-project/codespell/pull/2861)
- Misspellings from eLabFTW by
[@&#8203;DimitriPapadopoulos](https://github.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2863](https://github.com/codespell-project/codespell/pull/2863)
- Add `invirant{,s}->invariant{,s}` by
[@&#8203;ojeda](https://github.com/ojeda) in
[https://github.com/codespell-project/codespell/pull/2870](https://github.com/codespell-project/codespell/pull/2870)
- Add `alloccat*->allocat*` by
[@&#8203;ojeda](https://github.com/ojeda) in
[https://github.com/codespell-project/codespell/pull/2869](https://github.com/codespell-project/codespell/pull/2869)
- Add "multiply"/"multiplies" variations to instances of "multiple" by
[@&#8203;jdufresne](https://github.com/jdufresne) in
[https://github.com/codespell-project/codespell/pull/2872](https://github.com/codespell-project/codespell/pull/2872)
- Add strin->string and optiona->optional by
[@&#8203;peternewman](https://github.com/peternewman) in
[https://github.com/codespell-project/codespell/pull/2817](https://github.com/codespell-project/codespell/pull/2817)
- Add wellplate -> well plate by
[@&#8203;claydugo](https://github.com/claydugo) in
[https://github.com/codespell-project/codespell/pull/2873](https://github.com/codespell-project/codespell/pull/2873)
- Add `afile` Misspelling by
[@&#8203;Casey-Kiewit](https://github.com/Casey-Kiewit) in
[https://github.com/codespell-project/codespell/pull/2876](https://github.com/codespell-project/codespell/pull/2876)
- Ignore 'misspellings' due to string escapes by
[@&#8203;Zac-HD](https://github.com/Zac-HD) in
[https://github.com/codespell-project/codespell/pull/2875](https://github.com/codespell-project/codespell/pull/2875)
- Add `pre-poulate` Misspellings by
[@&#8203;Casey-Kiewit](https://github.com/Casey-Kiewit) in
[https://github.com/codespell-project/codespell/pull/2878](https://github.com/codespell-project/codespell/pull/2878)

#### New Contributors

- [@&#8203;marksmayo](https://github.com/marksmayo) made their first
contribution in
[https://github.com/codespell-project/codespell/pull/2784](https://github.com/codespell-project/codespell/pull/2784)
- [@&#8203;Casey-Kiewit](https://github.com/Casey-Kiewit) made their
first contribution in
[https://github.com/codespell-project/codespell/pull/2789](https://github.com/codespell-project/codespell/pull/2789)
- [@&#8203;gforcada](https://github.com/gforcada) made their first
contribution in
[https://github.com/codespell-project/codespell/pull/2793](https://github.com/codespell-project/codespell/pull/2793)
- [@&#8203;n-thumann](https://github.com/n-thumann) made their first
contribution in
[https://github.com/codespell-project/codespell/pull/2785](https://github.com/codespell-project/codespell/pull/2785)
- [@&#8203;Moiman](https://github.com/Moiman) made their first
contribution in
[https://github.com/codespell-project/codespell/pull/2813](https://github.com/codespell-project/codespell/pull/2813)
- [@&#8203;sirosen](https://github.com/sirosen) made their first
contribution in
[https://github.com/codespell-project/codespell/pull/2822](https://github.com/codespell-project/codespell/pull/2822)
- [@&#8203;andyholmes](https://github.com/andyholmes) made their first
contribution in
[https://github.com/codespell-project/codespell/pull/2466](https://github.com/codespell-project/codespell/pull/2466)
- [@&#8203;nils-van-zuijlen](https://github.com/nils-van-zuijlen) made
their first contribution in
[https://github.com/codespell-project/codespell/pull/2848](https://github.com/codespell-project/codespell/pull/2848)
- [@&#8203;sourcefrog](https://github.com/sourcefrog) made their first
contribution in
[https://github.com/codespell-project/codespell/pull/2859](https://github.com/codespell-project/codespell/pull/2859)
- [@&#8203;ojeda](https://github.com/ojeda) made their first
contribution in
[https://github.com/codespell-project/codespell/pull/2870](https://github.com/codespell-project/codespell/pull/2870)
- [@&#8203;claydugo](https://github.com/claydugo) made their first
contribution in
[https://github.com/codespell-project/codespell/pull/2873](https://github.com/codespell-project/codespell/pull/2873)
- [@&#8203;Zac-HD](https://github.com/Zac-HD) made their first
contribution in
[https://github.com/codespell-project/codespell/pull/2875](https://github.com/codespell-project/codespell/pull/2875)

**Full Changelog**:
codespell-project/codespell@v2.2.4...v2.2.5

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://app.renovatebot.com/dashboard#github/allenporter/pyrainbird).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS4xMTcuMyIsInVwZGF0ZWRJblZlciI6IjM1LjExNy4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate bot referenced this pull request in allenporter/flux-local Jun 16, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[codespell-project/codespell](https://github.com/codespell-project/codespell)
| repository | patch | `v2.2.4` -> `v2.2.5` |

Note: The `pre-commit` manager in Renovate is not supported by the
`pre-commit` maintainers or community. Please do not report any problems
there, instead [create a Discussion in the Renovate
repository](https://github.com/renovatebot/renovate/discussions/new)
if you have any questions.

---

### Release Notes

<details>
<summary>codespell-project/codespell</summary>

###
[`v2.2.5`](https://github.com/codespell-project/codespell/releases/tag/v2.2.5)

[Compare
Source](https://github.com/codespell-project/codespell/compare/v2.2.4...v2.2.5)

#### What's Changed

- Add fixing consciousely typo by
[@&#8203;yarikoptic](https://github.com/yarikoptic) in
[https://github.com/codespell-project/codespell/pull/2777](https://github.com/codespell-project/codespell/pull/2777)
- atalog typo (saw twice in a project) by
[@&#8203;yarikoptic](https://github.com/yarikoptic) in
[https://github.com/codespell-project/codespell/pull/2782](https://github.com/codespell-project/codespell/pull/2782)
- created fstrings by
[@&#8203;marksmayo](https://github.com/marksmayo) in
[https://github.com/codespell-project/codespell/pull/2784](https://github.com/codespell-project/codespell/pull/2784)
- Replace bandit, isort, pylint, pyupgrade, and flake8 plus plugins with
ruff by [@&#8203;cclauss](https://github.com/cclauss) in
[https://github.com/codespell-project/codespell/pull/2779](https://github.com/codespell-project/codespell/pull/2779)
- Add Microsoft Mispelling by
[@&#8203;Casey-Kiewit](https://github.com/Casey-Kiewit) in
[https://github.com/codespell-project/codespell/pull/2789](https://github.com/codespell-project/codespell/pull/2789)
- Use Latest Version In README Pre-Commit Example by
[@&#8203;Casey-Kiewit](https://github.com/Casey-Kiewit) in
[https://github.com/codespell-project/codespell/pull/2788](https://github.com/codespell-project/codespell/pull/2788)
- ruff: Use format specifiers instead of percent format by
[@&#8203;cclauss](https://github.com/cclauss) in
[https://github.com/codespell-project/codespell/pull/2787](https://github.com/codespell-project/codespell/pull/2787)
- New typos by [@&#8203;gforcada](https://github.com/gforcada) in
[https://github.com/codespell-project/codespell/pull/2793](https://github.com/codespell-project/codespell/pull/2793)
- Ruff: Ignore new rule PLC1901 by
[@&#8203;cclauss](https://github.com/cclauss) in
[https://github.com/codespell-project/codespell/pull/2797](https://github.com/codespell-project/codespell/pull/2797)
- Add various typo fixes by
[@&#8203;luzpaz](https://github.com/luzpaz) in
[https://github.com/codespell-project/codespell/pull/2795](https://github.com/codespell-project/codespell/pull/2795)
- Another suggestion by
[@&#8203;gforcada](https://github.com/gforcada) in
[https://github.com/codespell-project/codespell/pull/2798](https://github.com/codespell-project/codespell/pull/2798)
- Fix AssertionError when opening with chardet by
[@&#8203;n-thumann](https://github.com/n-thumann) in
[https://github.com/codespell-project/codespell/pull/2785](https://github.com/codespell-project/codespell/pull/2785)
- Fix typo (and variants) from xxHash by
[@&#8203;DimitriPapadopoulos](https://github.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2761](https://github.com/codespell-project/codespell/pull/2761)
- Add `huld`->`hold` Spelling Mistake by
[@&#8203;Casey-Kiewit](https://github.com/Casey-Kiewit) in
[https://github.com/codespell-project/codespell/pull/2792](https://github.com/codespell-project/codespell/pull/2792)
- Fix CI issues by
[@&#8203;DimitriPapadopoulos](https://github.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2796](https://github.com/codespell-project/codespell/pull/2796)
- CI: fix new ruff error B028 by
[@&#8203;DimitriPapadopoulos](https://github.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2802](https://github.com/codespell-project/codespell/pull/2802)
- Skip subdirectories of hidden directories by
[@&#8203;DimitriPapadopoulos](https://github.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2541](https://github.com/codespell-project/codespell/pull/2541)
- Add tweek(s)->tweak(s) correction by
[@&#8203;cfi-gb](https://github.com/cfi-gb) in
[https://github.com/codespell-project/codespell/pull/2804](https://github.com/codespell-project/codespell/pull/2804)
- Add supoort->support by
[@&#8203;thughes](https://github.com/thughes) in
[https://github.com/codespell-project/codespell/pull/2806](https://github.com/codespell-project/codespell/pull/2806)
- Add Suggestion For `readded` Mispelling by
[@&#8203;Casey-Kiewit](https://github.com/Casey-Kiewit) in
[https://github.com/codespell-project/codespell/pull/2805](https://github.com/codespell-project/codespell/pull/2805)
- Add displaing->displaying by
[@&#8203;peternewman](https://github.com/peternewman) in
[https://github.com/codespell-project/codespell/pull/2808](https://github.com/codespell-project/codespell/pull/2808)
- Another suggestion for stati by
[@&#8203;gforcada](https://github.com/gforcada) in
[https://github.com/codespell-project/codespell/pull/2810](https://github.com/codespell-project/codespell/pull/2810)
- Add dimaond -> diamond by
[@&#8203;Moiman](https://github.com/Moiman) in
[https://github.com/codespell-project/codespell/pull/2813](https://github.com/codespell-project/codespell/pull/2813)
- Add vai->via, vie by
[@&#8203;peternewman](https://github.com/peternewman) in
[https://github.com/codespell-project/codespell/pull/2815](https://github.com/codespell-project/codespell/pull/2815)
- Remove invalid correction - Kwanza = currency of Angola by
[@&#8203;DimitriPapadopoulos](https://github.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2803](https://github.com/codespell-project/codespell/pull/2803)
- sinoid and friends by
[@&#8203;DimitriPapadopoulos](https://github.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2807](https://github.com/codespell-project/codespell/pull/2807)
- Add excludle->exclude by
[@&#8203;peternewman](https://github.com/peternewman) in
[https://github.com/codespell-project/codespell/pull/2814](https://github.com/codespell-project/codespell/pull/2814)
- Add gadjet->gadget and friend by
[@&#8203;peternewman](https://github.com/peternewman) in
[https://github.com/codespell-project/codespell/pull/2818](https://github.com/codespell-project/codespell/pull/2818)
- Add togueter->together by
[@&#8203;luzpaz](https://github.com/luzpaz) in
[https://github.com/codespell-project/codespell/pull/2821](https://github.com/codespell-project/codespell/pull/2821)
- Add "mutabl->mutable" by
[@&#8203;sirosen](https://github.com/sirosen) in
[https://github.com/codespell-project/codespell/pull/2822](https://github.com/codespell-project/codespell/pull/2822)
- Add containin->containing by
[@&#8203;janosh](https://github.com/janosh) in
[https://github.com/codespell-project/codespell/pull/2824](https://github.com/codespell-project/codespell/pull/2824)
- Add mandess->madness by [@&#8203;luzpaz](https://github.com/luzpaz)
in
[https://github.com/codespell-project/codespell/pull/2825](https://github.com/codespell-project/codespell/pull/2825)
- some fixes by [@&#8203;marksmayo](https://github.com/marksmayo) in
[https://github.com/codespell-project/codespell/pull/2820](https://github.com/codespell-project/codespell/pull/2820)
- Fix new ruff errors reported by CI by
[@&#8203;DimitriPapadopoulos](https://github.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2834](https://github.com/codespell-project/codespell/pull/2834)
- Add fusipn->fusion by [@&#8203;luzpaz](https://github.com/luzpaz) in
[https://github.com/codespell-project/codespell/pull/2836](https://github.com/codespell-project/codespell/pull/2836)
- Add 'subcription->subscription' by
[@&#8203;sirosen](https://github.com/sirosen) in
[https://github.com/codespell-project/codespell/pull/2832](https://github.com/codespell-project/codespell/pull/2832)
- Add 'promtp->prompt' by
[@&#8203;sirosen](https://github.com/sirosen) in
[https://github.com/codespell-project/codespell/pull/2833](https://github.com/codespell-project/codespell/pull/2833)
- Add 'endpdoint' as a misspelling of 'endpoint' by
[@&#8203;sirosen](https://github.com/sirosen) in
[https://github.com/codespell-project/codespell/pull/2830](https://github.com/codespell-project/codespell/pull/2830)
- Add more misspellings of 'identities' by
[@&#8203;sirosen](https://github.com/sirosen) in
[https://github.com/codespell-project/codespell/pull/2829](https://github.com/codespell-project/codespell/pull/2829)
- Friends of existing typos by
[@&#8203;DimitriPapadopoulos](https://github.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2837](https://github.com/codespell-project/codespell/pull/2837)
- Fix
[`66ec667`](https://github.com/codespell-project/codespell/commit/66ec667)
by
[@&#8203;DimitriPapadopoulos](https://github.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2838](https://github.com/codespell-project/codespell/pull/2838)
- equivallent and friends by
[@&#8203;DimitriPapadopoulos](https://github.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2827](https://github.com/codespell-project/codespell/pull/2827)
- Add delpoys->deploys by [@&#8203;luzpaz](https://github.com/luzpaz)
in
[https://github.com/codespell-project/codespell/pull/2842](https://github.com/codespell-project/codespell/pull/2842)
- Added variations on 'difference' by
[@&#8203;luzpaz](https://github.com/luzpaz) in
[https://github.com/codespell-project/codespell/pull/2841](https://github.com/codespell-project/codespell/pull/2841)
- Add 'canoncical->canonical' by
[@&#8203;sirosen](https://github.com/sirosen) in
[https://github.com/codespell-project/codespell/pull/2831](https://github.com/codespell-project/codespell/pull/2831)
- Add additional typos by
[@&#8203;kianmeng](https://github.com/kianmeng) in
[https://github.com/codespell-project/codespell/pull/2835](https://github.com/codespell-project/codespell/pull/2835)
- Add spelling corrections for inject and variants. by
[@&#8203;cfi-gb](https://github.com/cfi-gb) in
[https://github.com/codespell-project/codespell/pull/2846](https://github.com/codespell-project/codespell/pull/2846)
- Add 'credentail->credential' by
[@&#8203;sirosen](https://github.com/sirosen) in
[https://github.com/codespell-project/codespell/pull/2844](https://github.com/codespell-project/codespell/pull/2844)
- Add 'requestor->requester' by
[@&#8203;sirosen](https://github.com/sirosen) in
[https://github.com/codespell-project/codespell/pull/2845](https://github.com/codespell-project/codespell/pull/2845)
- Update README.rst by
[@&#8203;andyholmes](https://github.com/andyholmes) in
[https://github.com/codespell-project/codespell/pull/2466](https://github.com/codespell-project/codespell/pull/2466)
- Add exrension(s)->extension(s) by
[@&#8203;luzpaz](https://github.com/luzpaz) in
[https://github.com/codespell-project/codespell/pull/2847](https://github.com/codespell-project/codespell/pull/2847)
- Add facttory->factory and facttories-> factories by
[@&#8203;nils-van-zuijlen](https://github.com/nils-van-zuijlen) in
[https://github.com/codespell-project/codespell/pull/2848](https://github.com/codespell-project/codespell/pull/2848)
- Add several spelling corrections by
[@&#8203;luzpaz](https://github.com/luzpaz) in
[https://github.com/codespell-project/codespell/pull/2849](https://github.com/codespell-project/codespell/pull/2849)
- Add comtaining->containing by
[@&#8203;nils-van-zuijlen](https://github.com/nils-van-zuijlen) in
[https://github.com/codespell-project/codespell/pull/2855](https://github.com/codespell-project/codespell/pull/2855)
- topoplogical and friends by
[@&#8203;DimitriPapadopoulos](https://github.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2854](https://github.com/codespell-project/codespell/pull/2854)
- Add placehoulder->placeholder by
[@&#8203;sirosen](https://github.com/sirosen) in
[https://github.com/codespell-project/codespell/pull/2856](https://github.com/codespell-project/codespell/pull/2856)
- More typos from GlobalProtect-openconnect by
[@&#8203;DimitriPapadopoulos](https://github.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2850](https://github.com/codespell-project/codespell/pull/2850)
- Add spelling correction for siver->silver/sliver/diver by
[@&#8203;cfi-gb](https://github.com/cfi-gb) in
[https://github.com/codespell-project/codespell/pull/2858](https://github.com/codespell-project/codespell/pull/2858)
- Add assertino->assertion by
[@&#8203;sourcefrog](https://github.com/sourcefrog) in
[https://github.com/codespell-project/codespell/pull/2859](https://github.com/codespell-project/codespell/pull/2859)
- add notority->notoriety by
[@&#8203;EdwardBetts](https://github.com/EdwardBetts) in
[https://github.com/codespell-project/codespell/pull/2861](https://github.com/codespell-project/codespell/pull/2861)
- Misspellings from eLabFTW by
[@&#8203;DimitriPapadopoulos](https://github.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2863](https://github.com/codespell-project/codespell/pull/2863)
- Add `invirant{,s}->invariant{,s}` by
[@&#8203;ojeda](https://github.com/ojeda) in
[https://github.com/codespell-project/codespell/pull/2870](https://github.com/codespell-project/codespell/pull/2870)
- Add `alloccat*->allocat*` by
[@&#8203;ojeda](https://github.com/ojeda) in
[https://github.com/codespell-project/codespell/pull/2869](https://github.com/codespell-project/codespell/pull/2869)
- Add "multiply"/"multiplies" variations to instances of "multiple" by
[@&#8203;jdufresne](https://github.com/jdufresne) in
[https://github.com/codespell-project/codespell/pull/2872](https://github.com/codespell-project/codespell/pull/2872)
- Add strin->string and optiona->optional by
[@&#8203;peternewman](https://github.com/peternewman) in
[https://github.com/codespell-project/codespell/pull/2817](https://github.com/codespell-project/codespell/pull/2817)
- Add wellplate -> well plate by
[@&#8203;claydugo](https://github.com/claydugo) in
[https://github.com/codespell-project/codespell/pull/2873](https://github.com/codespell-project/codespell/pull/2873)
- Add `afile` Misspelling by
[@&#8203;Casey-Kiewit](https://github.com/Casey-Kiewit) in
[https://github.com/codespell-project/codespell/pull/2876](https://github.com/codespell-project/codespell/pull/2876)
- Ignore 'misspellings' due to string escapes by
[@&#8203;Zac-HD](https://github.com/Zac-HD) in
[https://github.com/codespell-project/codespell/pull/2875](https://github.com/codespell-project/codespell/pull/2875)
- Add `pre-poulate` Misspellings by
[@&#8203;Casey-Kiewit](https://github.com/Casey-Kiewit) in
[https://github.com/codespell-project/codespell/pull/2878](https://github.com/codespell-project/codespell/pull/2878)

#### New Contributors

- [@&#8203;marksmayo](https://github.com/marksmayo) made their first
contribution in
[https://github.com/codespell-project/codespell/pull/2784](https://github.com/codespell-project/codespell/pull/2784)
- [@&#8203;Casey-Kiewit](https://github.com/Casey-Kiewit) made their
first contribution in
[https://github.com/codespell-project/codespell/pull/2789](https://github.com/codespell-project/codespell/pull/2789)
- [@&#8203;gforcada](https://github.com/gforcada) made their first
contribution in
[https://github.com/codespell-project/codespell/pull/2793](https://github.com/codespell-project/codespell/pull/2793)
- [@&#8203;n-thumann](https://github.com/n-thumann) made their first
contribution in
[https://github.com/codespell-project/codespell/pull/2785](https://github.com/codespell-project/codespell/pull/2785)
- [@&#8203;Moiman](https://github.com/Moiman) made their first
contribution in
[https://github.com/codespell-project/codespell/pull/2813](https://github.com/codespell-project/codespell/pull/2813)
- [@&#8203;sirosen](https://github.com/sirosen) made their first
contribution in
[https://github.com/codespell-project/codespell/pull/2822](https://github.com/codespell-project/codespell/pull/2822)
- [@&#8203;andyholmes](https://github.com/andyholmes) made their first
contribution in
[https://github.com/codespell-project/codespell/pull/2466](https://github.com/codespell-project/codespell/pull/2466)
- [@&#8203;nils-van-zuijlen](https://github.com/nils-van-zuijlen) made
their first contribution in
[https://github.com/codespell-project/codespell/pull/2848](https://github.com/codespell-project/codespell/pull/2848)
- [@&#8203;sourcefrog](https://github.com/sourcefrog) made their first
contribution in
[https://github.com/codespell-project/codespell/pull/2859](https://github.com/codespell-project/codespell/pull/2859)
- [@&#8203;ojeda](https://github.com/ojeda) made their first
contribution in
[https://github.com/codespell-project/codespell/pull/2870](https://github.com/codespell-project/codespell/pull/2870)
- [@&#8203;claydugo](https://github.com/claydugo) made their first
contribution in
[https://github.com/codespell-project/codespell/pull/2873](https://github.com/codespell-project/codespell/pull/2873)
- [@&#8203;Zac-HD](https://github.com/Zac-HD) made their first
contribution in
[https://github.com/codespell-project/codespell/pull/2875](https://github.com/codespell-project/codespell/pull/2875)

**Full Changelog**:
codespell-project/codespell@v2.2.4...v2.2.5

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://app.renovatebot.com/dashboard#github/allenporter/flux-local).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS4xMTcuMyIsInVwZGF0ZWRJblZlciI6IjM1LjExNy4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants