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

MAINT: Use pyproject and setuptools_scm #2523

Merged
merged 7 commits into from
Oct 14, 2022

Conversation

larsoner
Copy link
Member

@larsoner larsoner commented Oct 12, 2022

To facilitate releases:

  1. Move to pyproject.toml and make setup.py a thin wrapper
  2. Use setuptools_scm to automate versioning
  3. Upload to TestPyPI on master pushes (mostly for testing purposes of the GH action)
  4. Automatically upload to PyPi when a release is published

After this PR, creating a new release should be as simple as doing a GH release of some master commit with a correctly tagged version number (e.g., v2.2.2 would be next), and it should automatically upload to PyPi.

Locally doing pip install -ve . I get:

$ codespell --version
2.2.2.dev64+g3f9d9a40

which seems totally reasonable since our previous release was 2.2.1.

Inspired by #2522 (comment) -- after this hopefully @peternewman you can release easily

@larsoner
Copy link
Member Author

@peternewman feel free to merge if you're happy, but don't cut a release yet. I want to see the TestPyPI push work on main first. Assuming that succeeds, if you then make+publish a release on GH with a proper tag like v2.2.2, it should appear on PyPI shortly thereafter...

@peternewman
Copy link
Collaborator

@luzpaz will be able to do them too!

We'll just need to have a think about what sort of release cadence we want to aim for...

Copy link
Collaborator

@peternewman peternewman left a comment

Choose a reason for hiding this comment

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

Release documentation? In the readme or something maybe?

Just a few minor queries/suggestions.

.github/workflows/codespell-private.yml Outdated Show resolved Hide resolved
test_pypi:
needs: package
runs-on: ubuntu-latest
if: github.event_name == 'push'
Copy link
Collaborator

Choose a reason for hiding this comment

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

Don't we want releases here too, so TestPyPI is always equal to, or ahead of, the live one?

Copy link
Member Author

Choose a reason for hiding this comment

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

The TestPyPI is really only meant to be there so that when this is merged we can see if it works at all and then iterate until it does so that eventually the Release step actually works. Once it works, I'd rather just delete this altogether, codespell is a small project and installing the "latest and greatest" is already nearly trivial with pip. I think it's actually easier/more common for people to know the command for "install the latest from GitHub source" than it is "add and use this separate TestPyPI repository index" 🤷

@@ -56,8 +56,5 @@ flake8:
pytest:
pytest codespell_lib

pypi:
python setup.py sdist register upload
Copy link
Collaborator

Choose a reason for hiding this comment

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

This could definitely do with a note telling you to just release on GitHub or something....

Copy link
Member Author

@larsoner larsoner Oct 14, 2022

Choose a reason for hiding this comment

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

I don't think it would make sense to add a note here, as I don't think the Makefile is a common place to look for "how to make a release" information. We could add it to the readme, but not many people actually need to know. So I created this: https://github.com/codespell-project/codespell/wiki/How-to-make-a-release

@@ -1,69 +1,6 @@
#! /usr/bin/env python
Copy link
Contributor

Choose a reason for hiding this comment

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

My sense is that everything will work as expected if this file is deleted.

Copy link
Member Author

Choose a reason for hiding this comment

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

I kept it for legacy purposes / compat with existing calls like python setup.py check and python setup.py develop by following the Important 🔥 note at the top here

https://setuptools.pypa.io/en/latest/userguide/pyproject_config.html

@@ -45,7 +45,7 @@ trim-dictionaries:
done

check-manifest:
check-manifest
check-manifest --no-build-isolation

check-distutils:
python setup.py check --restructuredtext --strict
Copy link
Contributor

Choose a reason for hiding this comment

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

The setup.py below no longer contains a check command. #2517 (comment)

Copy link
Member Author

Choose a reason for hiding this comment

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

Seems to work fine, I get the same running check that I get on master:

$ python setup.py check
/Users/larsoner/opt/miniconda3/envs/mne/lib/python3.10/site-packages/setuptools/config/pyprojecttoml.py:108: _BetaConfiguration: Support for `[tool.setuptools]` in `pyproject.toml` is still *beta*.
  warnings.warn(msg, _BetaConfiguration)
running check

Co-authored-by: Peter Newman <peternewman@users.noreply.github.com>
@larsoner larsoner merged commit 754b9a5 into codespell-project:master Oct 14, 2022
@larsoner larsoner deleted the pyproject branch October 14, 2022 18:15
@larsoner
Copy link
Member Author

After a little bit of iteration in master and cutting https://github.com/codespell-project/codespell/releases/tag/v2.2.2, we have https://pypi.org/project/codespell/2.2.2/#files

jtojnar added a commit to NixOS/nixpkgs that referenced this pull request Oct 19, 2022
; Conflicts:
;	pkgs/development/tools/codespell/default.nix

codespell 2.2.2 switched to pyproject & setuptools_scm:
codespell-project/codespell#2523
@DimitriPapadopoulos
Copy link
Collaborator

DimitriPapadopoulos commented Oct 22, 2022

The new build system doesn't work properly on Ubuntu, see #2529, #2532 and #2547:

  • pip install: The pip bundled with Ubuntu somehow is unable to find the package name codespell and replaces it with UNKNOWN. So far, it looks like he pip package bundled with Debian/Ubuntu is patched and breaks the build.
  • python setup.py install: The setuptools bundled with Debian/Ubuntu complains that No module named 'pkg_resources' can be found, and is unable to pick the version and replaces it with 0.0.0.
  • ...

Ideally, this should be worked around in codespell, we cannot expect end-users to overwrite the system pip and setuptools just to install codespell.

@cclauss
Copy link
Contributor

cclauss commented Oct 22, 2022

pip install --upgrade --user pip setuptools

Besides, pipx is a better way to install cli tools like codespell.


python setup.py install is an attack vector so it is now strongly discouraged.

@DimitriPapadopoulos
Copy link
Collaborator

DimitriPapadopoulos commented Oct 22, 2022

I now know it can be solved by pip install --upgrade --user pip setuptools, but how are end-users supposed to find it? This is not a viable solution for those who just want to install coedspell: neither overwriting the system pip and setuptools, nor using pipx (again a new command not installed by default on Ubuntu 22.04??) instead of pip. These are workarounds, but the overall feeling is that the Python module build/install process is currently a mess.

@larsoner
Copy link
Member Author

Ideally, this should be worked around in codespell, we cannot expect end-users to overwrite the system pip and setuptools just to install codespell.

I expect end users to do pip install codespell to pick up the PyPI version, is that how/where you're experiencing these problems? If so I agree we need to fix our code.

Or are you instead trying to install the latest development version from source? For people trying to get the development version (or do development), I think it's okay if it's more complicated. I think we should:

  1. Document that, to install from source, pip, setuptools, setuptools_scm, and tomli need to be installed and new enough.
  2. Look into we can adding a requires line in setup.py somehow so that an error is raised if setup.py is run/used and these are not up to date.
  3. Or maybe we should get rid of the legacy setup.py altogether. It might be causing more problems than it solves.

I know this causes more work for people, but to me if we can help people move toward newer/better installation methods then it's not necessarily entirely a waste of time for them.

@DimitriPapadopoulos
Copy link
Collaborator

DimitriPapadopoulos commented Oct 22, 2022

While pip install codespell works, I was indeed thinking of installing from source. The latter doesn't work on vanilla Ubuntu, and while I agree it is OK to require a different version of pip, my remarks were more about the lack of proper documentation or error messages and suggestions when pip or setuptools fail.

About your proposals:

  1. Yes, a Build from source paragraph would ba a great addition. I suggest current paragraph Development Setup in the README is renamed to Build from source and moved just below Installation.
  2. I have come to the (temporary) conclusion that Debian/Ubuntu patches might be responsible for these issues, not the version of pip (or setuptools). I need to double-check that, but if true, requires cannot help here.
  3. Yes, I vote for removing setup.py. What is the point of keeping it, if it is broken?

Don't get me wrong, I am all for the transition from a setup.py executable to a descriptive pyproject.toml in the Python ecosystem. It's just that the transition has not been well planned and is far from smooth:

  • Error messages don't make any sense.
  • Constant changes. For example, I have just learned there's a pipx in addition to pip! The pace of breaking changes requires too much involvement from users who just want to build a module from source. Not every user is a hardcore Python developer, spending the whole day on Python packaging.
  • No clear and simple documentation on how to install a Python module from sources. It's just a bunch of specific cases for now. I agree the situation should be much better after the transition is over than before it started, but we're not there yet.

github-actions bot pushed a commit to nix-community/nixpkgs.lib that referenced this pull request Oct 23, 2022
; Conflicts:
;	pkgs/development/tools/codespell/default.nix

codespell 2.2.2 switched to pyproject & setuptools_scm:
codespell-project/codespell#2523
github-actions bot pushed a commit to arcnmx/nixpkgs-lib that referenced this pull request Oct 23, 2022
; Conflicts:
;	pkgs/development/tools/codespell/default.nix

codespell 2.2.2 switched to pyproject & setuptools_scm:
codespell-project/codespell#2523
@DimitriPapadopoulos
Copy link
Collaborator

Current status:

  • Installing from source with pip install on Ubuntu 22.04 works after pip install --upgrade pip.
  • Installing from source with the legacy python setup.py install on Ubuntu 22.04 works after pip install --upgrade pip setuptools setuptools_scm.

These requirements are partially covered by the Requirements for Installing Packages in the Python Packaging User Guide:

Ensure pip, setuptools, and wheel are up to date

While pip alone is sufficient to install from pre-built binary archives, up to date copies of the setuptools and wheel projects are useful to ensure you can also install from source archives:

python3 -m pip install --upgrade pip setuptools wheel

Still:

  • The error messages when these requirements are not met are unhelpful. Unfortunately, they most probably cannot be fixed in codespell, and I get it's impossible to fix old versions of setuptools out there in the wild. We will likely have to live with these unhelpful error messages.
  • For python setup.py install, I also had to upgrade setuptools_scm. This needs to be documented and if possible enforced. Not sure which version is required, it might be that the version bundled with Debian/Ubuntu is patched and that the patch is related to the error. Will have to double-check that at some point.
  • In any case, we should link to the Requirements for Installing Packages and suggest running pip install --upgrade pip setuptools setuptools_scm before installing. That can be done under Development Setup, after renaming it to Build from source and moving it to the top just below Installation.

@larsoner
Copy link
Member Author

Thanks for investigating @DimitriPapadopoulos . FYI the motivation behind setup.py is just the recommended (but experimental) Important note at the top here

https://setuptools.pypa.io/en/latest/userguide/pyproject_config.html

One thing I was going to check is that if a install_requires in the legacy setup.py with suitable setuptools, pip, and setuptools_scm versions would be enough to at least emit errors for people if they try with tools that are too old. This is way better than UNKONWN-0.0.0 being installed, and still probably better than not having any python setup.py install support (though I'm not 100% convinced at this point...)

@DimitriPapadopoulos
Copy link
Collaborator

DimitriPapadopoulos commented Oct 24, 2022

If these issues are caused by patches applied by Debian/Ubuntu, install_requires won't help. I really need to investigate whether these issues are related to older versions of pip and setuptools, or to patches applied by Debian/Ubuntu. The risk is that they keep applying the patch to future versions, hence breaking install_requires is they start shipping the requested versions of pip and setuptools, but patched.

@DimitriPapadopoulos
Copy link
Collaborator

DimitriPapadopoulos commented Oct 25, 2022

Starting from scratch, after erasing ~/.local/lib/python3.10/ and /usr/local/lib/python3.10 on my machine.

The python3-setuptools DEB package on my Ubuntu 22.04 machine appeared to lack module pkg_resources, which is required by the legacy installation from source process. Yet, the python3-pkg-resources DEB package was installed!

$ dpkg -l | grep setuptools
ii  python3-setuptools                         59.6.0-1.2                              all          Python3 Distutils Enhancements
$ dpkg -l | grep python3-pkg-resources
ii  python3-pkg-resources                      59.6.0-1.2                              all          Package Discovery and Resource Access using pkg_resources
$ 
$ python3 setup.py install --user
Traceback (most recent call last):
  File "/my/path/codespell/setup.py", line 3, in <module>
    from setuptools import setup
  File "/usr/lib/python3/dist-packages/setuptools/__init__.py", line 16, in <module>
    import setuptools.version
  File "/usr/lib/python3/dist-packages/setuptools/version.py", line 1, in <module>
    import pkg_resources
ModuleNotFoundError: No module named 'pkg_resources'
$ 

After re-installing the DEB package python3-pkg-resources, the legacy and new installation from source processes fail in similar ways, unable to retrieve the package name (UNKNOWN) or the version (0.0.0):

$ sudo apt reinstall python3-pkg-resources
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
0 upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 0 not upgraded.
Need to get 132 kB of archives.
After this operation, 0 B of additional disk space will be used.
Get:1 http://fr.archive.ubuntu.com/ubuntu jammy/main amd64 python3-pkg-resources all 59.6.0-1.2 [132 kB]
Fetched 132 kB in 0s (1 820 kB/s)               
(Reading database ... 241320 files and directories currently installed.)
Preparing to unpack .../python3-pkg-resources_59.6.0-1.2_all.deb ...
Unpacking python3-pkg-resources (59.6.0-1.2) over (59.6.0-1.2) ...
Setting up python3-pkg-resources (59.6.0-1.2) ...
$ 
$ python3 setup.py install --user
running install
[...]
Installed /home/user/.local/lib/python3.10/site-packages/UNKNOWN-0.0.0-py3.10.egg
Processing dependencies for UNKNOWN==0.0.0
Finished processing dependencies for UNKNOWN==0.0.0
$ 
$ rm -r /home/user/.local/lib/python3.10
$ 
$ pip install . --user
Processing /my/path/codespell
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Building wheels for collected packages: UNKNOWN
  Building wheel for UNKNOWN (pyproject.toml) ... done
  Created wheel for UNKNOWN: filename=UNKNOWN-2.2.3.dev39+g8609de50-py3-none-any.whl size=8165 sha256=5011e4941f77ff90bdeeb3074557e3d0596cd61c192612a241065c121894c170
  Stored in directory: /tmp/pip-ephem-wheel-cache-mk4yarg5/wheels/e9/c8/df/25c3c4bfff9990df43d5bef57491ee5bbb2c8e5ee19f6074df
Successfully built UNKNOWN
Installing collected packages: UNKNOWN
Successfully installed UNKNOWN-2.2.3.dev39+g8609de50
$ 
$ rm -r /home/user/.local/lib/python3.10
$ 

Therefore, the pkg_resources issue was specific to my machine. With that out of that way, I can investigate the UNKNOWN and 0.0.0 issues.

@larsoner
Copy link
Member Author

After re-installing the DEB package python3-pkg-resources, the legacy and new installation from source processes fail in similar ways, unable to retrieve the package name (UNKNOWN) or the version (0.0.0):

Okay great, this is one scenario I think where raising an error would be good. Can you see if just adding setup_requires to setup.py like:

setup(
    setup_requires=('setuptools>=61', 'setuptools_scm[toml]>=6.2'),
)

is enough to get an error at your end? If so, then if you do:

pip install --user setuptools==61 setuptools_scm==6.2

does the install then succeed?

We should probably also update

requires = ["setuptools>=45", "setuptools_scm[toml]>=6.2", "wheel"]
to set the min to setuptools 61 since that's when pyproject.toml support was added.

@DimitriPapadopoulos
Copy link
Collaborator

DimitriPapadopoulos commented Oct 25, 2022

I will try your suggestion, but first let me document all the issues I have encountered on Ubuntu 22.04

The next issue is that DEB package python3-setuptools-scm is not installed by default on Ubuntu 22.04, and the Python module is not pulled by pip install – hence your suggestion to add a requires makes absolute sense.

However, while installing DEB package python3-setuptools-scm does help with the version number in the legacy case, it does NOT help with the UNKNOWN package name, in either case:

$ sudo apt install python3-setuptools-scm
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following NEW packages will be installed:
  python3-setuptools-scm
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 31,7 kB of archives.
After this operation, 132 kB of additional disk space will be used.
Get:1 http://fr.archive.ubuntu.com/ubuntu jammy/universe amd64 python3-setuptools-scm all 6.4.2-1 [31,7 kB]
Fetched 31,7 kB in 0s (563 kB/s)                  
Selecting previously unselected package python3-setuptools-scm.
(Reading database ... 241320 files and directories currently installed.)
Preparing to unpack .../python3-setuptools-scm_6.4.2-1_all.deb ...
Unpacking python3-setuptools-scm (6.4.2-1) ...
Setting up python3-setuptools-scm (6.4.2-1) ...
$ 
$ python3 setup.py install --user
running install
[...]
Installed /home/user/.local/lib/python3.10/site-packages/UNKNOWN-2.2.3.dev39+g8609de50-py3.10.egg
Processing dependencies for UNKNOWN==2.2.3.dev39+g8609de50
Finished processing dependencies for UNKNOWN==2.2.3.dev39+g8609de50
$ 
$ rm -r /home/user/.local/lib/python3.10
$ 
$ 
$ pip install . --user
Processing /my/path/codespell
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Building wheels for collected packages: UNKNOWN
  Building wheel for UNKNOWN (pyproject.toml) ... done
  Created wheel for UNKNOWN: filename=UNKNOWN-2.2.3.dev39+g8609de50-py3-none-any.whl size=8165 sha256=89ac5bfc7db1dfdd85e0db90b793b9f84550623e4c3fc3a3a420f2faff91b330
  Stored in directory: /tmp/pip-ephem-wheel-cache-ty10cw0x/wheels/e9/c8/df/25c3c4bfff9990df43d5bef57491ee5bbb2c8e5ee19f6074df
Successfully built UNKNOWN
Installing collected packages: UNKNOWN
Successfully installed UNKNOWN-2.2.3.dev39+g8609de50
$ 
$ rm -r /home/user/.local/lib/python3.10
$ 

And this, despite the DEB package versions appear to be recent enough:

$ dpkg -l | grep python3-setuptools
ii  python3-setuptools                         59.6.0-1.2                              all          Python3 Distutils Enhancements
ii  python3-setuptools-scm                     6.4.2-1                                 all          blessed package to manage your versions by scm tags for Python 3
$ 
$ pip list | grep setuptools
setuptools              59.6.0
setuptools-scm          6.4.2
$ 

Next let me replace the Python modules provided by these DEB packages with the same version installed by pip:

$ pip install --user --ignore-installed setuptools==59.6.0
Collecting setuptools==59.6.0
  Using cached setuptools-59.6.0-py3-none-any.whl (952 kB)
Installing collected packages: setuptools
Successfully installed setuptools-59.6.0
$ 
$ python3 setup.py install --user
running install
[...]
Installed /home/user/.local/lib/python3.10/site-packages/UNKNOWN-2.2.3.dev39+g8609de50-py3.10.egg
Processing dependencies for UNKNOWN==2.2.3.dev39+g8609de50
Finished processing dependencies for UNKNOWN==2.2.3.dev39+g8609de50
$ 
$ rm -r /home/user/.local/lib/python3.10
$ 

Clearly setuptools==59.6.0 does not work here, it's not a Debian/Ubuntu patch problem after all. We can bisect to find the minimal setuptools version:

$ pip install --user --ignore-installed setuptools==60.0.0
Collecting setuptools==60.0.0
  Using cached setuptools-60.0.0-py3-none-any.whl (952 kB)
Installing collected packages: setuptools
Successfully installed setuptools-60.0.0
$ 
$ python3 setup.py install --user
running install
[...]
Installed /home/user/.local/lib/python3.10/site-packages/UNKNOWN-2.2.3.dev39+g8609de50-py3.10.egg
Processing dependencies for UNKNOWN==2.2.3.dev39+g8609de50
Finished processing dependencies for UNKNOWN==2.2.3.dev39+g8609de50
$ 
$ rm -r /home/user/.local/lib/python3.10
$ 
$ pip install --user --ignore-installed setuptools==61.0.0
Collecting setuptools==61.0.0
  Using cached setuptools-61.0.0-py3-none-any.whl (1.1 MB)
Installing collected packages: setuptools
Successfully installed setuptools-61.0.0
$ 
$ python3 setup.py install --user
/home/user/.local/lib/python3.10/site-packages/setuptools/config/pyprojecttoml.py:100: _ExperimentalProjectMetadata: Support for project metadata in `pyproject.toml` is still experimental and may be removed (or change) in future releases.
  warnings.warn(msg, _ExperimentalProjectMetadata)
Install ``trove-classifiers`` to ensure proper validation. Meanwhile a list of classifiers will be downloaded from PyPI.
/home/user/.local/lib/python3.10/site-packages/setuptools/config/pyprojecttoml.py:100: _ExperimentalProjectMetadata: Support for project metadata in `pyproject.toml` is still experimental and may be removed (or change) in future releases.
  warnings.warn(msg, _ExperimentalProjectMetadata)
running install
|...]
running install_egg_info
Copying codespell.egg-info to /home/user/.local/lib/python3.10/site-packages/codespell-2.2.3.dev39+g8609de50-py3.10.egg-info
running install_scripts
Installing codespell script to /home/user/.local/bin
$ 
$ rm -r /home/user/.local/lib/python3.10
$ 

As you can see, the package name is properly picked by setuptools==61.0.0, but not setuptools==60.0.0. It looks like we should require setuptools==61.0.0. However, according to @Saransh-cpp in #2532 (comment),
pyproject.toml is officially supported by setutptools>=64.0.0.

Therefore, I suggest we try directly in pyproject.toml and not in setup.py:

requires = ["setuptools>=64", "setuptools_scm[toml]>=6.2", "wheel"]

Let me check it works out of the box on Ubuntu 22.04.

@DimitriPapadopoulos
Copy link
Collaborator

DimitriPapadopoulos commented Oct 25, 2022

Unfortunately, updating pyproject.toml does not automatically update setuptools, even in the case of the new installation process based on pip:

$ grep requires pyproject.toml
requires-python = ">=3.7"
requires = ["setuptools>=64", "setuptools_scm[toml]>=6.2", "wheel"]
$ 
$ pip install --user .
Processing /my/path/codespell
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Building wheels for collected packages: UNKNOWN
  Building wheel for UNKNOWN (pyproject.toml) ... done
  Created wheel for UNKNOWN: filename=UNKNOWN-2.2.3.dev39+g8609de50.d20221025-py3-none-any.whl size=8283 sha256=b198293157345b2d5315a834201aa8c7e176dd2389c1be96daf89ce395c7615b
  Stored in directory: /tmp/pip-ephem-wheel-cache-90vjngxt/wheels/e9/c8/df/25c3c4bfff9990df43d5bef57491ee5bbb2c8e5ee19f6074df
Successfully built UNKNOWN
Installing collected packages: UNKNOWN
Successfully installed UNKNOWN-2.2.3.dev39+g8609de50.d20221025
$ 
$ pip list | grep setuptools
setuptools              59.6.0
setuptools-scm          6.4.2
$ 
$ rm -r /home/user/.local/lib/python3.10
$ 

As for modifying setup.py, it doesn't even work, not sure why right now:

$ grep requires setup.py 
        setup_requires=('setuptools>=64', 'setuptools_scm[toml]>=6.2'),
$ 
$ python3 setup.py install --user
/usr/lib/python3/dist-packages/setuptools/installer.py:27: SetuptoolsDeprecationWarning: setuptools.installer is deprecated. Requirements should be satisfied by a PEP 517 installer.
  warnings.warn(
/usr/lib/python3/dist-packages/pkg_resources/__init__.py:116: PkgResourcesDeprecationWarning: 1.16.0-unknown is an invalid version and will not be supported in a future release
  warnings.warn(
/usr/lib/python3/dist-packages/pkg_resources/__init__.py:116: PkgResourcesDeprecationWarning: 1.1build1 is an invalid version and will not be supported in a future release
  warnings.warn(
/usr/lib/python3/dist-packages/pkg_resources/__init__.py:116: PkgResourcesDeprecationWarning: 0.1.43ubuntu1 is an invalid version and will not be supported in a future release
  warnings.warn(
running install
/usr/lib/python3/dist-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
  warnings.warn(
Traceback (most recent call last):
  File "/my/path/codespell/setup.py", line 6, in <module>
    setup(
  File "/usr/lib/python3/dist-packages/setuptools/__init__.py", line 153, in setup
    return distutils.core.setup(**attrs)
  File "/usr/lib/python3.10/distutils/core.py", line 148, in setup
    dist.run_commands()
  File "/usr/lib/python3.10/distutils/dist.py", line 966, in run_commands
    self.run_command(cmd)
  File "/usr/lib/python3.10/distutils/dist.py", line 984, in run_command
    cmd_obj.ensure_finalized()
  File "/usr/lib/python3.10/distutils/cmd.py", line 107, in ensure_finalized
    self.finalize_options()
  File "/usr/lib/python3/dist-packages/setuptools/command/install.py", line 45, in finalize_options
    orig.install.finalize_options(self)
  File "/usr/lib/python3.10/distutils/command/install.py", line 421, in finalize_options
    self.set_undefined_options('build',
  File "/usr/lib/python3.10/distutils/cmd.py", line 286, in set_undefined_options
    src_cmd_obj = self.distribution.get_command_obj(src_cmd)
  File "/usr/lib/python3.10/distutils/dist.py", line 857, in get_command_obj
    klass = self.get_command_class(command)
  File "/usr/lib/python3/dist-packages/setuptools/dist.py", line 893, in get_command_class
    self.cmdclass[command] = cmdclass = ep.load()
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2465, in load
    return self.resolve()
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2471, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
ModuleNotFoundError: No module named 'setuptools.command.build'
$ 
$ pip list | grep setuptools
setuptools              59.6.0
setuptools-scm          6.4.2
$ 
$ rm -r /home/user/.local/lib/python3.10
$ 

@DimitriPapadopoulos
Copy link
Collaborator

@larsoner In short, we have two issues:

  1. Should we depend on setuptools>=61 (your suggestion and the result of the bisection) or setuptools>=64 (suggestion of @Saransh-cpp in Development Setup fails #2532 (comment))?
  2. Then how to enforce these dependencies so that they are pulled automatically? Do you have a clue?

@Saransh-cpp
Copy link

Saransh-cpp commented Oct 25, 2022

@DimitriPapadopoulos, the "UNKNOWN" package name was a pip issue and not a setuptools issue. This has been solved in pip v22.3. See pypa/setuptools#3269 (comment).

I guess we could document it in codespell, but then we cannot possibly think about every error a developer would run into and document it? The classic works on my machine situation 😅

@Saransh-cpp
Copy link

And yes, I agree, having Debian or macOS packages installed locally breaks things quite often. I always prefer to use a virtual environment to avoid these breakages! (This can be documented too?)

@Saransh-cpp
Copy link

However, according to @Saransh-cpp in #2532 (comment), pyproject.toml is officially supported by setutptools>=64.0.0.

Not pyproject.toml, but editable builds with pyproject.toml 😉

@larsoner
Copy link
Member Author

As for modifying setup.py, it doesn't even work, not sure why right now:

This at least raises an error rather than silently doing something bad. I would just go with this solution and 64 as the minimum, and do some documentation updates. I don't think we have to be perfect here, at least avoiding silent bad behavior is a good start

@DimitriPapadopoulos
Copy link
Collaborator

DimitriPapadopoulos commented Oct 25, 2022

In my case, on Ubuntu 22.04, the UNKNOWN package issue name is fixed:

  • either by upgrading to setuptools>=61.0.0, keeping pip==22.0.2 provided by Ubuntu,
  • or by upgrading to pip>=22.3 (I haven't bisected but I trust you), keeping setuptools=59.6.0 provided by Ubuntu.

Therefore, I suspect this issue has been fixed or at least worked around in both setuptools and pip.

And, of course it works on your machine 😄 You are well aware of all these issues and I'm pretty sure you have fully up to date pip, setuptools and wheel on your machine, as suggested by the Requirements for Installing Packages. The thing is, not all users are aware of that or know where to look for guidance. I for one, would expect most packages to build on the fully up to date latest Long Term Support Ubuntu distribution, without too many updates or the need for virtualenvs. Too complex.

Any way, since we suggest editable installations using pip install -e ".[dev]", we must indeed go with setuptools>=64.

Since setuptools are unable to enforce or automate the installation of requirements, we will indeed have to document these requirements.

@Saransh-cpp
Copy link

Yes, python packaging can be a mess sometimes 😕

Updating the documentation sounds like a good idea!

@DimitriPapadopoulos
Copy link
Collaborator

DimitriPapadopoulos commented Oct 25, 2022

This at least raises an error rather than silently doing something bad. I would just go with this solution and 64 as the minimum, and do some documentation updates. I don't think we have to be perfect here, at least avoiding silent bad behavior is a good start

Actually, it was the extra , breaking the build, whatever the version of pip or setuptools:

    setup(
        setup_requires=('setuptools>=64', 'setuptools_scm[toml]>=6.2'),
    )

Without the extra ,, the build works in the sense that it doesn't crash:

    setup(
        setup_requires=('setuptools>=64', 'setuptools_scm[toml]>=6.2')
    )

But it doesn't pull the requirements or at least warn that the requirements are not met, not any more than the requirements in pyproject.toml. Because setup.py is executable, I could add a few tests such as checking setuptools.__version__ and bail out if <64. However, this would warn and exit only from the legacy python3 setup install. But because pyproject.toml is declarative, if setuptools did not even warn of unmet requirements, there's not much we could do and that would be a serious bug. We must be missing something.

Could you point me to the relevant documentation so that I can double-check whether something's missing?

Also found this:
https://stackoverflow.com/questions/56008251/setup-requires-does-not-seem-to-install-dependencies#56009658

You import numpy (and Cython) before calling setup(). setup() doesn't have a chance to install anything.

In your case setup_requires cannot help. Install numpy and Cython before running setup.py. Or refactor setup.py to not import numpy and Cython.

github-actions bot pushed a commit to nix-community/nixpkgs.lib that referenced this pull request Dec 4, 2022
; Conflicts:
;	pkgs/development/tools/codespell/default.nix

codespell 2.2.2 switched to pyproject & setuptools_scm:
codespell-project/codespell#2523
renovate bot added a commit to allenporter/flux-local that referenced this pull request Mar 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://togithub.com/codespell-project/codespell)
| repository | minor | `v2.1.0` -> `v2.2.4` |

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://togithub.com/renovatebot/renovate/discussions/new)
if you have any questions.

---

### Release Notes

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

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

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

#### What's Changed

- BUG: Fix bug with toml triage by
[@&#8203;larsoner](https://togithub.com/larsoner) in
[https://github.com/codespell-project/codespell/pull/2774](https://togithub.com/codespell-project/codespell/pull/2774)

**Full Changelog**:
https://github.com/codespell-project/codespell/compare/v2.2.3...v2.2.4

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

[Compare
Source](https://togithub.com/codespell-project/codespell/compare/v2.2.2...v2.2.3)

#### NOTE:

This release is broken for Python < 3.11 without tomli installed in the
presence of `.toml` files (e.g., `pyproject.toml`), see
[https://github.com/codespell-project/actions-codespell/issues/59](https://togithub.com/codespell-project/actions-codespell/issues/59)
!

#### What's Changed

- Misspelling of sufficient, sufficiently by
[@&#8203;vikivivi](https://togithub.com/vikivivi) in
[https://github.com/codespell-project/codespell/pull/2531](https://togithub.com/codespell-project/codespell/pull/2531)
- insuffient->insufficient by
[@&#8203;tkoyama010](https://togithub.com/tkoyama010) in
[https://github.com/codespell-project/codespell/pull/2527](https://togithub.com/codespell-project/codespell/pull/2527)
- add anayltic(s|al|ally) -> analytic(s|al|ally) by
[@&#8203;robin-wayve](https://togithub.com/robin-wayve) in
[https://github.com/codespell-project/codespell/pull/2507](https://togithub.com/codespell-project/codespell/pull/2507)
- Ignore flake8 rule W503 by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2069](https://togithub.com/codespell-project/codespell/pull/2069)
- Dead code found by vulture by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2101](https://togithub.com/codespell-project/codespell/pull/2101)
- Move falsy and accreting to more appropriate files by
[@&#8203;janosh](https://togithub.com/janosh) in
[https://github.com/codespell-project/codespell/pull/2511](https://togithub.com/codespell-project/codespell/pull/2511)
- Add subtrate->substrate by
[@&#8203;janosh](https://togithub.com/janosh) in
[https://github.com/codespell-project/codespell/pull/2525](https://togithub.com/codespell-project/codespell/pull/2525)
- Add "subtask" by [@&#8203;int-y1](https://togithub.com/int-y1) in
[https://github.com/codespell-project/codespell/pull/2537](https://togithub.com/codespell-project/codespell/pull/2537)
- Apply pyupgrade to project by
[@&#8203;jdufresne](https://togithub.com/jdufresne) in
[https://github.com/codespell-project/codespell/pull/2364](https://togithub.com/codespell-project/codespell/pull/2364)
- {speherical,sperhical}->spherical by
[@&#8203;janosh](https://togithub.com/janosh) in
[https://github.com/codespell-project/codespell/pull/2540](https://togithub.com/codespell-project/codespell/pull/2540)
- interepolation->interpolation by
[@&#8203;tkoyama010](https://togithub.com/tkoyama010) in
[https://github.com/codespell-project/codespell/pull/2512](https://togithub.com/codespell-project/codespell/pull/2512)
- Ignore .mypy_cache folder by
[@&#8203;kianmeng](https://togithub.com/kianmeng) in
[https://github.com/codespell-project/codespell/pull/2361](https://togithub.com/codespell-project/codespell/pull/2361)
- Fix uncaught exception on unreadable files by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2196](https://togithub.com/codespell-project/codespell/pull/2196)
- Add constrainst to dictionary by
[@&#8203;jonathanberthias](https://togithub.com/jonathanberthias) in
[https://github.com/codespell-project/codespell/pull/2546](https://togithub.com/codespell-project/codespell/pull/2546)
- Add relative hidden directory and basic subdir tests by
[@&#8203;peternewman](https://togithub.com/peternewman) in
[https://github.com/codespell-project/codespell/pull/2542](https://togithub.com/codespell-project/codespell/pull/2542)
- Add trignometric->trigonometric by
[@&#8203;janosh](https://togithub.com/janosh) in
[https://github.com/codespell-project/codespell/pull/2549](https://togithub.com/codespell-project/codespell/pull/2549)
- Add virtualied->virtualized, virtualised and friends by
[@&#8203;peternewman](https://togithub.com/peternewman) in
[https://github.com/codespell-project/codespell/pull/2553](https://togithub.com/codespell-project/codespell/pull/2553)
- Add several spelling corrections by
[@&#8203;luzpaz](https://togithub.com/luzpaz) in
[https://github.com/codespell-project/codespell/pull/2521](https://togithub.com/codespell-project/codespell/pull/2521)
- Slightly simplify some boolean expressions by
[@&#8203;jdufresne](https://togithub.com/jdufresne) in
[https://github.com/codespell-project/codespell/pull/2556](https://togithub.com/codespell-project/codespell/pull/2556)
- MAINT: Add CODEOWNERS by
[@&#8203;larsoner](https://togithub.com/larsoner) in
[https://github.com/codespell-project/codespell/pull/2535](https://togithub.com/codespell-project/codespell/pull/2535)
- positivie->positive by [@&#8203;janosh](https://togithub.com/janosh)
in
[https://github.com/codespell-project/codespell/pull/2558](https://togithub.com/codespell-project/codespell/pull/2558)
- DOC/ENH: Clarify usage or configuration files and log about it by
[@&#8203;sappelhoff](https://togithub.com/sappelhoff) in
[https://github.com/codespell-project/codespell/pull/2552](https://togithub.com/codespell-project/codespell/pull/2552)
- Document required setuptools version by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2560](https://togithub.com/codespell-project/codespell/pull/2560)
- Redundant wheel dependency in pyproject.toml by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2562](https://togithub.com/codespell-project/codespell/pull/2562)
- Remove parameterizes->parametrizes by
[@&#8203;int-y1](https://togithub.com/int-y1) in
[https://github.com/codespell-project/codespell/pull/2563](https://togithub.com/codespell-project/codespell/pull/2563)
- Replace codecs.open with open by
[@&#8203;jdufresne](https://togithub.com/jdufresne) in
[https://github.com/codespell-project/codespell/pull/2378](https://togithub.com/codespell-project/codespell/pull/2378)
- Update subprocess usage to use modern subprocess.run() by
[@&#8203;jdufresne](https://togithub.com/jdufresne) in
[https://github.com/codespell-project/codespell/pull/2565](https://togithub.com/codespell-project/codespell/pull/2565)
- Fix produce typo by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2561](https://togithub.com/codespell-project/codespell/pull/2561)
- Add a few corrections by [@&#8203;int-y1](https://togithub.com/int-y1)
in
[https://github.com/codespell-project/codespell/pull/2566](https://togithub.com/codespell-project/codespell/pull/2566)
- Migrate pytest config into pyproject.toml by
[@&#8203;cclauss](https://togithub.com/cclauss) in
[https://github.com/codespell-project/codespell/pull/2554](https://togithub.com/codespell-project/codespell/pull/2554)
- Handle bad globs passed to if --skip/-S by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2159](https://togithub.com/codespell-project/codespell/pull/2159)
- Isn't the mailing list obsolete? by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2090](https://togithub.com/codespell-project/codespell/pull/2090)
- More CODEOWNERS by
[@&#8203;peternewman](https://togithub.com/peternewman) in
[https://github.com/codespell-project/codespell/pull/2569](https://togithub.com/codespell-project/codespell/pull/2569)
- Remove unused attribute Misspelling.fixword by
[@&#8203;jdufresne](https://togithub.com/jdufresne) in
[https://github.com/codespell-project/codespell/pull/2557](https://togithub.com/codespell-project/codespell/pull/2557)
- Read config file without interpolation by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2545](https://togithub.com/codespell-project/codespell/pull/2545)
- Add andriod->android and friends by
[@&#8203;peternewman](https://togithub.com/peternewman) in
[https://github.com/codespell-project/codespell/pull/2570](https://togithub.com/codespell-project/codespell/pull/2570)
- Add total type GB to US by
[@&#8203;peternewman](https://togithub.com/peternewman) in
[https://github.com/codespell-project/codespell/pull/2577](https://togithub.com/codespell-project/codespell/pull/2577)
- Catch all cases of missing pytest by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2568](https://togithub.com/codespell-project/codespell/pull/2568)
- Fix typo in README pin → pip by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2579](https://togithub.com/codespell-project/codespell/pull/2579)
- Keep GitHub Actions up to date with Dependabot by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2578](https://togithub.com/codespell-project/codespell/pull/2578)
- decelaration could be deceleration by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2576](https://togithub.com/codespell-project/codespell/pull/2576)
- Add isort to project by
[@&#8203;jdufresne](https://togithub.com/jdufresne) in
[https://github.com/codespell-project/codespell/pull/2564](https://togithub.com/codespell-project/codespell/pull/2564)
- Fix Deepsource issues by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2085](https://togithub.com/codespell-project/codespell/pull/2085)
- Replace list()/dict() with literals by
[@&#8203;jdufresne](https://togithub.com/jdufresne) in
[https://github.com/codespell-project/codespell/pull/2380](https://togithub.com/codespell-project/codespell/pull/2380)
- Use major version [@&#8203;v1](https://togithub.com/v1) of isort
GitHub Action by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2581](https://togithub.com/codespell-project/codespell/pull/2581)
- Add a spelling correction by [@&#8203;fxlb](https://togithub.com/fxlb)
in
[https://github.com/codespell-project/codespell/pull/2572](https://togithub.com/codespell-project/codespell/pull/2572)
- Remove obsolete Python 2 workaround by
[@&#8203;jdufresne](https://togithub.com/jdufresne) in
[https://github.com/codespell-project/codespell/pull/2586](https://togithub.com/codespell-project/codespell/pull/2586)
- Add misspelling of Kafka by
[@&#8203;vikivivi](https://togithub.com/vikivivi) in
[https://github.com/codespell-project/codespell/pull/2589](https://togithub.com/codespell-project/codespell/pull/2589)
- Add testing and document support for Python 3.11 by
[@&#8203;jdufresne](https://togithub.com/jdufresne) in
[https://github.com/codespell-project/codespell/pull/2585](https://togithub.com/codespell-project/codespell/pull/2585)
- Add type annotations to the project and use mypy by
[@&#8203;jdufresne](https://togithub.com/jdufresne) in
[https://github.com/codespell-project/codespell/pull/2588](https://togithub.com/codespell-project/codespell/pull/2588)
- Add a few spelling corrections by
[@&#8203;int-y1](https://togithub.com/int-y1) in
[https://github.com/codespell-project/codespell/pull/2550](https://togithub.com/codespell-project/codespell/pull/2550)
- Add several spelling corrections by
[@&#8203;luzpaz](https://togithub.com/luzpaz) in
[https://github.com/codespell-project/codespell/pull/2582](https://togithub.com/codespell-project/codespell/pull/2582)
- quation->equation by [@&#8203;janosh](https://togithub.com/janosh) in
[https://github.com/codespell-project/codespell/pull/2591](https://togithub.com/codespell-project/codespell/pull/2591)
- Document support for Python versions in pyproject.toml by
[@&#8203;jdufresne](https://togithub.com/jdufresne) in
[https://github.com/codespell-project/codespell/pull/2379](https://togithub.com/codespell-project/codespell/pull/2379)
- Use black to format Python files by
[@&#8203;jdufresne](https://togithub.com/jdufresne) in
[https://github.com/codespell-project/codespell/pull/2587](https://togithub.com/codespell-project/codespell/pull/2587)
- Move "upto" to code dictionary by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2603](https://togithub.com/codespell-project/codespell/pull/2603)
- Move sudo-like command name "doas" to code dictionary by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2600](https://togithub.com/codespell-project/codespell/pull/2600)
- enthapl(ies|y)->enthalp(ies|y) by
[@&#8203;janosh](https://togithub.com/janosh) in
[https://github.com/codespell-project/codespell/pull/2590](https://togithub.com/codespell-project/codespell/pull/2590)
- Add componoent(s)->component(s) by
[@&#8203;cfi-gb](https://togithub.com/cfi-gb) in
[https://github.com/codespell-project/codespell/pull/2594](https://togithub.com/codespell-project/codespell/pull/2594)
- Move "spawnve" to code dictionary by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2614](https://togithub.com/codespell-project/codespell/pull/2614)
- Move "MSDOS" to code dictionary by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2615](https://togithub.com/codespell-project/codespell/pull/2615)
- Added informal words by
[@&#8203;Paradact](https://togithub.com/Paradact) in
[https://github.com/codespell-project/codespell/pull/2575](https://togithub.com/codespell-project/codespell/pull/2575)
- Improve format of CC BY-SA 3.0 license link by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2619](https://togithub.com/codespell-project/codespell/pull/2619)
- {assymthotic, assymtotic}->asymptotic by
[@&#8203;janosh](https://togithub.com/janosh) in
[https://github.com/codespell-project/codespell/pull/2597](https://togithub.com/codespell-project/codespell/pull/2597)
- Simplify some file reading in tests by opening in text mode by
[@&#8203;jdufresne](https://togithub.com/jdufresne) in
[https://github.com/codespell-project/codespell/pull/2624](https://togithub.com/codespell-project/codespell/pull/2624)
- Remove setup.py by [@&#8203;jdufresne](https://togithub.com/jdufresne)
in
[https://github.com/codespell-project/codespell/pull/2626](https://togithub.com/codespell-project/codespell/pull/2626)
- Normalize code block indicators in README by
[@&#8203;waldyrious](https://togithub.com/waldyrious) in
[https://github.com/codespell-project/codespell/pull/2621](https://togithub.com/codespell-project/codespell/pull/2621)
- PEP 517 by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2595](https://togithub.com/codespell-project/codespell/pull/2595)
- Add spelling correction for 'alhpa' by
[@&#8203;adrien-berchet](https://togithub.com/adrien-berchet) in
[https://github.com/codespell-project/codespell/pull/2627](https://togithub.com/codespell-project/codespell/pull/2627)
- Move Windows CI from AppVeyor to GitHub Actions by
[@&#8203;jdufresne](https://togithub.com/jdufresne) in
[https://github.com/codespell-project/codespell/pull/2628](https://togithub.com/codespell-project/codespell/pull/2628)
- Add "token" as alternative for "toke" by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2630](https://togithub.com/codespell-project/codespell/pull/2630)
- Add spelling corrections for version. by
[@&#8203;cfi-gb](https://togithub.com/cfi-gb) in
[https://github.com/codespell-project/codespell/pull/2629](https://togithub.com/codespell-project/codespell/pull/2629)
- feat: Add cataalogue->catalogue to dictionary by
[@&#8203;matthewfeickert](https://togithub.com/matthewfeickert) in
[https://github.com/codespell-project/codespell/pull/2631](https://togithub.com/codespell-project/codespell/pull/2631)
- Add several spelling corrections found in personal projects by
[@&#8203;jdufresne](https://togithub.com/jdufresne) in
[https://github.com/codespell-project/codespell/pull/2623](https://togithub.com/codespell-project/codespell/pull/2623)
- Add several words for en-GB to en-US by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2598](https://togithub.com/codespell-project/codespell/pull/2598)
- Add fixes from misspell-fixer's safe.1.dict by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2611](https://togithub.com/codespell-project/codespell/pull/2611)
- Prefer "converter" to "convertor" by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2613](https://togithub.com/codespell-project/codespell/pull/2613)
- Add pre-commit configuration by
[@&#8203;mdeweerd](https://togithub.com/mdeweerd) in
[https://github.com/codespell-project/codespell/pull/2459](https://togithub.com/codespell-project/codespell/pull/2459)
- pre-commit: check toml, rst, yml and .in files by
[@&#8203;mdeweerd](https://togithub.com/mdeweerd) in
[https://github.com/codespell-project/codespell/pull/2636](https://togithub.com/codespell-project/codespell/pull/2636)
- centriod->centroid by [@&#8203;janosh](https://togithub.com/janosh) in
[https://github.com/codespell-project/codespell/pull/2637](https://togithub.com/codespell-project/codespell/pull/2637)
- Add operatin->operation, operating, correction. by
[@&#8203;cfi-gb](https://togithub.com/cfi-gb) in
[https://github.com/codespell-project/codespell/pull/2640](https://togithub.com/codespell-project/codespell/pull/2640)
- README: Document how to use pre-commit by
[@&#8203;WilliamJamieson](https://togithub.com/WilliamJamieson) in
[https://github.com/codespell-project/codespell/pull/2639](https://togithub.com/codespell-project/codespell/pull/2639)
- README: document simplest usage pattern by
[@&#8203;waldyrious](https://togithub.com/waldyrious) in
[https://github.com/codespell-project/codespell/pull/2638](https://togithub.com/codespell-project/codespell/pull/2638)
- Prefer HTTPS to HTTP in URLs by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2641](https://togithub.com/codespell-project/codespell/pull/2641)
- Flush stdout when asking word fix by
[@&#8203;adrien-berchet](https://togithub.com/adrien-berchet) in
[https://github.com/codespell-project/codespell/pull/2642](https://togithub.com/codespell-project/codespell/pull/2642)
- Correct "3rt" to "3rd" by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2634](https://togithub.com/codespell-project/codespell/pull/2634)
- Don't print config files by default by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2618](https://togithub.com/codespell-project/codespell/pull/2618)
- Add spelling fixes for derivative by
[@&#8203;cbrxyz](https://togithub.com/cbrxyz) in
[https://github.com/codespell-project/codespell/pull/2643](https://togithub.com/codespell-project/codespell/pull/2643)
- Typos from GEANT/CAT by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2635](https://togithub.com/codespell-project/codespell/pull/2635)
- Add new spellings for "exercise" by
[@&#8203;int-y1](https://togithub.com/int-y1) in
[https://github.com/codespell-project/codespell/pull/2538](https://togithub.com/codespell-project/codespell/pull/2538)
- Added month misspells by
[@&#8203;Paradact](https://togithub.com/Paradact) in
[https://github.com/codespell-project/codespell/pull/2573](https://togithub.com/codespell-project/codespell/pull/2573)
- Add typos from Linux kernel's spelling.txt file by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2647](https://togithub.com/codespell-project/codespell/pull/2647)
- Add corrections from Fossies extra dictionary by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2651](https://togithub.com/codespell-project/codespell/pull/2651)
- Add typos found in Emacs by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2652](https://togithub.com/codespell-project/codespell/pull/2652)
- Add some typos found in FreedroidRPG by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2654](https://togithub.com/codespell-project/codespell/pull/2654)
- Add common misspellings of RISC-V by
[@&#8203;felixonmars](https://togithub.com/felixonmars) in
[https://github.com/codespell-project/codespell/pull/2479](https://togithub.com/codespell-project/codespell/pull/2479)
- Revert "Add spelling correction for in-flight" by
[@&#8203;peternewman](https://togithub.com/peternewman) in
[https://github.com/codespell-project/codespell/pull/2406](https://togithub.com/codespell-project/codespell/pull/2406)
- Typos from marvin.cs.uidaho.edu: A by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2656](https://togithub.com/codespell-project/codespell/pull/2656)
- Added British words by
[@&#8203;Paradact](https://togithub.com/Paradact) in
[https://github.com/codespell-project/codespell/pull/2574](https://togithub.com/codespell-project/codespell/pull/2574)
- Add many corrections to dictionary.txt by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2608](https://togithub.com/codespell-project/codespell/pull/2608)
- Typos from marvin.cs.uidaho.edu: B by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2658](https://togithub.com/codespell-project/codespell/pull/2658)
- Add some more misspellings found in Emacs by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2660](https://togithub.com/codespell-project/codespell/pull/2660)
- Add typos found in GnuTLS by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2671](https://togithub.com/codespell-project/codespell/pull/2671)
- Typos from marvin.cs.uidaho.edu: C by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2661](https://togithub.com/codespell-project/codespell/pull/2661)
- Typos from marvin.cs.uidaho.edu: D by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2663](https://togithub.com/codespell-project/codespell/pull/2663)
- Typos from marvin.cs.uidaho.edu: E by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2664](https://togithub.com/codespell-project/codespell/pull/2664)
- Typos from marvin.cs.uidaho.edu: F by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2665](https://togithub.com/codespell-project/codespell/pull/2665)
- Add fixes from misspell-fixer's safe.2.dict by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2612](https://togithub.com/codespell-project/codespell/pull/2612)
- Typos from marvin.cs.uidaho.edu: H by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2667](https://togithub.com/codespell-project/codespell/pull/2667)
- Typos from marvin.cs.uidaho.edu: G by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2666](https://togithub.com/codespell-project/codespell/pull/2666)
- Typos from marvin.cs.uidaho.edu: I by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2668](https://togithub.com/codespell-project/codespell/pull/2668)
- Typos from marvin.cs.uidaho.edu: K by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2669](https://togithub.com/codespell-project/codespell/pull/2669)
- Move `ifset->if set` to code dictionary by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2681](https://togithub.com/codespell-project/codespell/pull/2681)
- Typos from marvin.cs.uidaho.edu: L by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2670](https://togithub.com/codespell-project/codespell/pull/2670)
- Move \`keyservers->key servers' to code dictionary by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2688](https://togithub.com/codespell-project/codespell/pull/2688)
- Add explixitely->explicitly by
[@&#8203;kianmeng](https://togithub.com/kianmeng) in
[https://github.com/codespell-project/codespell/pull/2691](https://togithub.com/codespell-project/codespell/pull/2691)
- Add fixes from travis (Closes
[#&#8203;1312](https://togithub.com/codespell-project/codespell/issues/1312))
by [@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2653](https://togithub.com/codespell-project/codespell/pull/2653)
- Most of `MANIFEST.in` is obsolete, get rid of it by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2646](https://togithub.com/codespell-project/codespell/pull/2646)
- Use f-strings wherever possible by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2676](https://togithub.com/codespell-project/codespell/pull/2676)
- Harden GitHub CI configuration by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2655](https://togithub.com/codespell-project/codespell/pull/2655)
- Typos from marvin.cs.uidaho.edu: O by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2677](https://togithub.com/codespell-project/codespell/pull/2677)
- Typos from marvin.cs.uidaho.edu: W by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2687](https://togithub.com/codespell-project/codespell/pull/2687)
- Typos from marvin.cs.uidaho.edu: J by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2695](https://togithub.com/codespell-project/codespell/pull/2695)
- Typos from marvin.cs.uidaho.edu: V by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2686](https://togithub.com/codespell-project/codespell/pull/2686)
- usable / useable: force recommended spelling by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2694](https://togithub.com/codespell-project/codespell/pull/2694)
- Typos from marvin.cs.uidaho.edu: N by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2675](https://togithub.com/codespell-project/codespell/pull/2675)
- Typos from marvin.cs.uidaho.edu: U by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2685](https://togithub.com/codespell-project/codespell/pull/2685)
- Typos from marvin.cs.uidaho.edu: Q by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2679](https://togithub.com/codespell-project/codespell/pull/2679)
- add spelling corrections from wikipedia corpus by
[@&#8203;cconverse711](https://togithub.com/cconverse711) in
[https://github.com/codespell-project/codespell/pull/2487](https://togithub.com/codespell-project/codespell/pull/2487)
- Move `ws->was` to code dictionary by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2699](https://togithub.com/codespell-project/codespell/pull/2699)
- Typos from marvin.cs.uidaho.edu: T by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2684](https://togithub.com/codespell-project/codespell/pull/2684)
- Add "inable" by [@&#8203;jdufresne](https://togithub.com/jdufresne) in
[https://github.com/codespell-project/codespell/pull/2697](https://togithub.com/codespell-project/codespell/pull/2697)
- Remove alias make targets to facilitate tab completion by
[@&#8203;jdufresne](https://togithub.com/jdufresne) in
[https://github.com/codespell-project/codespell/pull/2700](https://togithub.com/codespell-project/codespell/pull/2700)
- Add several spelling corrections by
[@&#8203;ydah](https://togithub.com/ydah) in
[https://github.com/codespell-project/codespell/pull/2701](https://togithub.com/codespell-project/codespell/pull/2701)
- Use type annotations directly from chardet package by
[@&#8203;jdufresne](https://togithub.com/jdufresne) in
[https://github.com/codespell-project/codespell/pull/2702](https://togithub.com/codespell-project/codespell/pull/2702)
- Add outoing->outgoing by
[@&#8203;iafisher](https://togithub.com/iafisher) in
[https://github.com/codespell-project/codespell/pull/2698](https://togithub.com/codespell-project/codespell/pull/2698)
- Typos from marvin.cs.uidaho.edu: R by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2680](https://togithub.com/codespell-project/codespell/pull/2680)
- Rehabilitate extraversion by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2198](https://togithub.com/codespell-project/codespell/pull/2198)
- Add contineous -> continuous by
[@&#8203;kianmeng](https://togithub.com/kianmeng) in
[https://github.com/codespell-project/codespell/pull/2703](https://togithub.com/codespell-project/codespell/pull/2703)
- Add neglibible -> negligible by
[@&#8203;kianmeng](https://togithub.com/kianmeng) in
[https://github.com/codespell-project/codespell/pull/2705](https://togithub.com/codespell-project/codespell/pull/2705)
- move `pullrequest` to code dictionary by
[@&#8203;robin-wayve](https://togithub.com/robin-wayve) in
[https://github.com/codespell-project/codespell/pull/2708](https://togithub.com/codespell-project/codespell/pull/2708)
- Add `propect->prospect, protect, project,` and variations by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2710](https://togithub.com/codespell-project/codespell/pull/2710)
- Add respwan -> respawn and related words by
[@&#8203;kianmeng](https://togithub.com/kianmeng) in
[https://github.com/codespell-project/codespell/pull/2711](https://togithub.com/codespell-project/codespell/pull/2711)
- Typos from marvin.cs.uidaho.edu: P by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2678](https://togithub.com/codespell-project/codespell/pull/2678)
- Typos from marvin.cs.uidaho.edu: S by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2683](https://togithub.com/codespell-project/codespell/pull/2683)
- Add various spelling corrections for words containing "meant" by
[@&#8203;cfi-gb](https://togithub.com/cfi-gb) in
[https://github.com/codespell-project/codespell/pull/2712](https://togithub.com/codespell-project/codespell/pull/2712)
- Improve support of TOML config files by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2715](https://togithub.com/codespell-project/codespell/pull/2715)
- Toml python3.11 by [@&#8203;SRv6d](https://togithub.com/SRv6d) in
[https://github.com/codespell-project/codespell/pull/2720](https://togithub.com/codespell-project/codespell/pull/2720)
- pre-commit: Upgrade psf/black for stable style 2023 by
[@&#8203;cclauss](https://togithub.com/cclauss) in
[https://github.com/codespell-project/codespell/pull/2724](https://togithub.com/codespell-project/codespell/pull/2724)
- Add recjected->rejected by
[@&#8203;arm-in](https://togithub.com/arm-in) in
[https://github.com/codespell-project/codespell/pull/2722](https://togithub.com/codespell-project/codespell/pull/2722)
- Add evaluatated->evaluated by
[@&#8203;arm-in](https://togithub.com/arm-in) in
[https://github.com/codespell-project/codespell/pull/2721](https://togithub.com/codespell-project/codespell/pull/2721)
- Add totatl(ly)->total(ly) by
[@&#8203;luzpaz](https://togithub.com/luzpaz) in
[https://github.com/codespell-project/codespell/pull/2725](https://togithub.com/codespell-project/codespell/pull/2725)
- Add visulization->visualization by
[@&#8203;tkoyama010](https://togithub.com/tkoyama010) in
[https://github.com/codespell-project/codespell/pull/2448](https://togithub.com/codespell-project/codespell/pull/2448)
- Add several spelling corrections by
[@&#8203;luzpaz](https://togithub.com/luzpaz) in
[https://github.com/codespell-project/codespell/pull/2410](https://togithub.com/codespell-project/codespell/pull/2410)
- Fix CI mypy job by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2733](https://togithub.com/codespell-project/codespell/pull/2733)
- Add various spelling corrections for (in|ex)clude\* and modify\* by
[@&#8203;cfi-gb](https://togithub.com/cfi-gb) in
[https://github.com/codespell-project/codespell/pull/2732](https://togithub.com/codespell-project/codespell/pull/2732)
- spwan → spawn by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2714](https://togithub.com/codespell-project/codespell/pull/2714)
- Focussed is correct in British English by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2709](https://togithub.com/codespell-project/codespell/pull/2709)
- dedent/outdent is used a lot in Python by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2696](https://togithub.com/codespell-project/codespell/pull/2696)
- maanger by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2650](https://togithub.com/codespell-project/codespell/pull/2650)
- sizeable is correct, resizeable should be correct too by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2693](https://togithub.com/codespell-project/codespell/pull/2693)
- Fix more words derived from paramterize/paramterise by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2648](https://togithub.com/codespell-project/codespell/pull/2648)
- Fix more words derived from renable by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2649](https://togithub.com/codespell-project/codespell/pull/2649)
- Add accordin->according by
[@&#8203;luzpaz](https://togithub.com/luzpaz) in
[https://github.com/codespell-project/codespell/pull/2739](https://togithub.com/codespell-project/codespell/pull/2739)
- Add variations of grow by
[@&#8203;luzpaz](https://togithub.com/luzpaz) in
[https://github.com/codespell-project/codespell/pull/2738](https://togithub.com/codespell-project/codespell/pull/2738)
- regargless->regardless by
[@&#8203;tkoyama010](https://togithub.com/tkoyama010) in
[https://github.com/codespell-project/codespell/pull/2737](https://togithub.com/codespell-project/codespell/pull/2737)
- convienant->convenient by
[@&#8203;tkoyama010](https://togithub.com/tkoyama010) in
[https://github.com/codespell-project/codespell/pull/2736](https://togithub.com/codespell-project/codespell/pull/2736)
- Add involtue(d|s)->involute(d|s) by
[@&#8203;luzpaz](https://togithub.com/luzpaz) in
[https://github.com/codespell-project/codespell/pull/2735](https://togithub.com/codespell-project/codespell/pull/2735)
- Typos from Emacs by [@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2740](https://togithub.com/codespell-project/codespell/pull/2740)
- dict: Add instersection(s)->intersection(s) by
[@&#8203;akien-mga](https://togithub.com/akien-mga) in
[https://github.com/codespell-project/codespell/pull/2741](https://togithub.com/codespell-project/codespell/pull/2741)
- Added more common typos by
[@&#8203;polluks](https://togithub.com/polluks) in
[https://github.com/codespell-project/codespell/pull/2277](https://togithub.com/codespell-project/codespell/pull/2277)
- Add several spelling corrections by
[@&#8203;luzpaz](https://togithub.com/luzpaz) in
[https://github.com/codespell-project/codespell/pull/2593](https://togithub.com/codespell-project/codespell/pull/2593)
- Add explicete\* by [@&#8203;sebweb3r](https://togithub.com/sebweb3r)
in
[https://github.com/codespell-project/codespell/pull/2175](https://togithub.com/codespell-project/codespell/pull/2175)
- Add misspellings of resolvable, resolver, unresolved by
[@&#8203;vikivivi](https://togithub.com/vikivivi) in
[https://github.com/codespell-project/codespell/pull/2584](https://togithub.com/codespell-project/codespell/pull/2584)
- Add misspellings of mobile, modules, models by
[@&#8203;vikivivi](https://togithub.com/vikivivi) in
[https://github.com/codespell-project/codespell/pull/2583](https://togithub.com/codespell-project/codespell/pull/2583)
- "keyserver" is correct, fixes
[#&#8203;2084](https://togithub.com/codespell-project/codespell/issues/2084)
by [@&#8203;matkoniecz](https://togithub.com/matkoniecz) in
[https://github.com/codespell-project/codespell/pull/2147](https://togithub.com/codespell-project/codespell/pull/2147)
- Add entries to the inclusive language dictionary by
[@&#8203;sed-i](https://togithub.com/sed-i) in
[https://github.com/codespell-project/codespell/pull/2469](https://togithub.com/codespell-project/codespell/pull/2469)
- Include chardet in dev dependencies by
[@&#8203;Jackenmen](https://togithub.com/Jackenmen) in
[https://github.com/codespell-project/codespell/pull/2497](https://togithub.com/codespell-project/codespell/pull/2497)
- Move `keypair(s)->key pair(s)` to code dictionary by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2743](https://togithub.com/codespell-project/codespell/pull/2743)
- Add `man-in-the-middle->adversary-in-the-middle` alternative by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2744](https://togithub.com/codespell-project/codespell/pull/2744)
- Add typos found in zlib by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2742](https://togithub.com/codespell-project/codespell/pull/2742)
- Add typos found in Emacs by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2745](https://togithub.com/codespell-project/codespell/pull/2745)
- Move `shouldnot` to code dictionary (Fixes
[#&#8203;2528](https://togithub.com/codespell-project/codespell/issues/2528))
by [@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2747](https://togithub.com/codespell-project/codespell/pull/2747)
- Add `convervation->conservation` et al (Fix
[#&#8203;2716](https://togithub.com/codespell-project/codespell/issues/2716))
by [@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2746](https://togithub.com/codespell-project/codespell/pull/2746)
- Add various political terms by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2749](https://togithub.com/codespell-project/codespell/pull/2749)
- requenst: fix typo found in blogs by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2752](https://togithub.com/codespell-project/codespell/pull/2752)
- Add spelling corrections for Policy and variants. by
[@&#8203;cfi-gb](https://togithub.com/cfi-gb) in
[https://github.com/codespell-project/codespell/pull/2750](https://togithub.com/codespell-project/codespell/pull/2750)
- typos found in iperf by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2360](https://togithub.com/codespell-project/codespell/pull/2360)
- Add spelling corrections for duplicate and variants. by
[@&#8203;cfi-gb](https://togithub.com/cfi-gb) in
[https://github.com/codespell-project/codespell/pull/2753](https://togithub.com/codespell-project/codespell/pull/2753)
- Fixed
[#&#8203;2690](https://togithub.com/codespell-project/codespell/issues/2690)
by [@&#8203;polluks](https://togithub.com/polluks) in
[https://github.com/codespell-project/codespell/pull/2755](https://togithub.com/codespell-project/codespell/pull/2755)
- Add protlet(s)->portlet(s) correction by
[@&#8203;cfi-gb](https://togithub.com/cfi-gb) in
[https://github.com/codespell-project/codespell/pull/2756](https://togithub.com/codespell-project/codespell/pull/2756)
- Add deffault(s|ed)->default(s|ed) correction by
[@&#8203;cfi-gb](https://togithub.com/cfi-gb) in
[https://github.com/codespell-project/codespell/pull/2762](https://togithub.com/codespell-project/codespell/pull/2762)
- More precise ignore directive for mypy by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2760](https://togithub.com/codespell-project/codespell/pull/2760)
- Add a spelling correction by [@&#8203;fxlb](https://togithub.com/fxlb)
in
[https://github.com/codespell-project/codespell/pull/2763](https://togithub.com/codespell-project/codespell/pull/2763)
- doc: tomli is not needed for Python >= 3.11 by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2751](https://togithub.com/codespell-project/codespell/pull/2751)
- Add spelling correction for vulnderabilit(y|ies)->vulnerabilit(y|ies)
by [@&#8203;cfi-gb](https://togithub.com/cfi-gb) in
[https://github.com/codespell-project/codespell/pull/2770](https://togithub.com/codespell-project/codespell/pull/2770)
- tetrahedoren->tetrahedron by
[@&#8203;tkoyama010](https://togithub.com/tkoyama010) in
[https://github.com/codespell-project/codespell/pull/2769](https://togithub.com/codespell-project/codespell/pull/2769)
- ENH: Color matching wrong word in the interactive session by
[@&#8203;yarikoptic](https://togithub.com/yarikoptic) in
[https://github.com/codespell-project/codespell/pull/2771](https://togithub.com/codespell-project/codespell/pull/2771)
- Switch from pytest tmpdir to tmp_path in tests by
[@&#8203;jdufresne](https://togithub.com/jdufresne) in
[https://github.com/codespell-project/codespell/pull/2625](https://togithub.com/codespell-project/codespell/pull/2625)

#### New Contributors

- [@&#8203;int-y1](https://togithub.com/int-y1) made their first
contribution in
[https://github.com/codespell-project/codespell/pull/2537](https://togithub.com/codespell-project/codespell/pull/2537)
- [@&#8203;jonathanberthias](https://togithub.com/jonathanberthias) made
their first contribution in
[https://github.com/codespell-project/codespell/pull/2546](https://togithub.com/codespell-project/codespell/pull/2546)
- [@&#8203;sappelhoff](https://togithub.com/sappelhoff) made their first
contribution in
[https://github.com/codespell-project/codespell/pull/2552](https://togithub.com/codespell-project/codespell/pull/2552)
- [@&#8203;skangas](https://togithub.com/skangas) made their first
contribution in
[https://github.com/codespell-project/codespell/pull/2603](https://togithub.com/codespell-project/codespell/pull/2603)
- [@&#8203;Paradact](https://togithub.com/Paradact) made their first
contribution in
[https://github.com/codespell-project/codespell/pull/2575](https://togithub.com/codespell-project/codespell/pull/2575)
- [@&#8203;WilliamJamieson](https://togithub.com/WilliamJamieson) made
their first contribution in
[https://github.com/codespell-project/codespell/pull/2639](https://togithub.com/codespell-project/codespell/pull/2639)
- [@&#8203;cbrxyz](https://togithub.com/cbrxyz) made their first
contribution in
[https://github.com/codespell-project/codespell/pull/2643](https://togithub.com/codespell-project/codespell/pull/2643)
- [@&#8203;felixonmars](https://togithub.com/felixonmars) made their
first contribution in
[https://github.com/codespell-project/codespell/pull/2479](https://togithub.com/codespell-project/codespell/pull/2479)
- [@&#8203;cconverse711](https://togithub.com/cconverse711) made their
first contribution in
[https://github.com/codespell-project/codespell/pull/2487](https://togithub.com/codespell-project/codespell/pull/2487)
- [@&#8203;iafisher](https://togithub.com/iafisher) made their first
contribution in
[https://github.com/codespell-project/codespell/pull/2698](https://togithub.com/codespell-project/codespell/pull/2698)
- [@&#8203;SRv6d](https://togithub.com/SRv6d) made their first
contribution in
[https://github.com/codespell-project/codespell/pull/2720](https://togithub.com/codespell-project/codespell/pull/2720)
- [@&#8203;polluks](https://togithub.com/polluks) made their first
contribution in
[https://github.com/codespell-project/codespell/pull/2277](https://togithub.com/codespell-project/codespell/pull/2277)
- [@&#8203;Jackenmen](https://togithub.com/Jackenmen) made their first
contribution in
[https://github.com/codespell-project/codespell/pull/2497](https://togithub.com/codespell-project/codespell/pull/2497)
- [@&#8203;yarikoptic](https://togithub.com/yarikoptic) made their first
contribution in
[https://github.com/codespell-project/codespell/pull/2771](https://togithub.com/codespell-project/codespell/pull/2771)

**Full Changelog**:
https://github.com/codespell-project/codespell/compare/v2.2.2...v2.2.3

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

[Compare
Source](https://togithub.com/codespell-project/codespell/compare/v2.2.1...v2.2.2)

#### What's Changed

- MAINT: Bump to dev by
[@&#8203;larsoner](https://togithub.com/larsoner) in
[https://github.com/codespell-project/codespell/pull/2463](https://togithub.com/codespell-project/codespell/pull/2463)
- Capitalize LessTif by [@&#8203;dforsi](https://togithub.com/dforsi) in
[https://github.com/codespell-project/codespell/pull/2471](https://togithub.com/codespell-project/codespell/pull/2471)
- Add several spelling corrections by
[@&#8203;ydah](https://togithub.com/ydah) in
[https://github.com/codespell-project/codespell/pull/2467](https://togithub.com/codespell-project/codespell/pull/2467)
- aexs->axes by [@&#8203;tkoyama010](https://togithub.com/tkoyama010) in
[https://github.com/codespell-project/codespell/pull/2475](https://togithub.com/codespell-project/codespell/pull/2475)
- MAINT: Add tests as submodule by
[@&#8203;larsoner](https://togithub.com/larsoner) in
[https://github.com/codespell-project/codespell/pull/2477](https://togithub.com/codespell-project/codespell/pull/2477)
- diffues->diffuse, defuse, by
[@&#8203;tkoyama010](https://togithub.com/tkoyama010) in
[https://github.com/codespell-project/codespell/pull/2476](https://togithub.com/codespell-project/codespell/pull/2476)
- conviencece->convenience by
[@&#8203;tkoyama010](https://togithub.com/tkoyama010) in
[https://github.com/codespell-project/codespell/pull/2474](https://togithub.com/codespell-project/codespell/pull/2474)
- htose->those, these, by
[@&#8203;tkoyama010](https://togithub.com/tkoyama010) in
[https://github.com/codespell-project/codespell/pull/2480](https://togithub.com/codespell-project/codespell/pull/2480)
- Add several spelling corrections by
[@&#8203;adrien-berchet](https://togithub.com/adrien-berchet) in
[https://github.com/codespell-project/codespell/pull/2461](https://togithub.com/codespell-project/codespell/pull/2461)
- move `ro` to code dictionary by
[@&#8203;robin-wayve](https://togithub.com/robin-wayve) in
[https://github.com/codespell-project/codespell/pull/2468](https://togithub.com/codespell-project/codespell/pull/2468)
- Add ascconciated->associated by
[@&#8203;peternewman](https://togithub.com/peternewman) in
[https://github.com/codespell-project/codespell/pull/2482](https://togithub.com/codespell-project/codespell/pull/2482)
- Fix various spelling corrections by
[@&#8203;luzpaz](https://togithub.com/luzpaz) in
[https://github.com/codespell-project/codespell/pull/2456](https://togithub.com/codespell-project/codespell/pull/2456)
- Add several spelling corrections by
[@&#8203;luzpaz](https://togithub.com/luzpaz) in
[https://github.com/codespell-project/codespell/pull/2481](https://togithub.com/codespell-project/codespell/pull/2481)
- Add sorkflow->workflow by
[@&#8203;peternewman](https://togithub.com/peternewman) in
[https://github.com/codespell-project/codespell/pull/2485](https://togithub.com/codespell-project/codespell/pull/2485)
- Add spelling corrections for install and variants. by
[@&#8203;cfi-gb](https://togithub.com/cfi-gb) in
[https://github.com/codespell-project/codespell/pull/2486](https://togithub.com/codespell-project/codespell/pull/2486)
- Capitalize all suggested fixes by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2223](https://togithub.com/codespell-project/codespell/pull/2223)
- Add several spelling corrections and refinements by
[@&#8203;luzpaz](https://togithub.com/luzpaz) in
[https://github.com/codespell-project/codespell/pull/2484](https://togithub.com/codespell-project/codespell/pull/2484)
- Add `knowladge->knowledge` by
[@&#8203;danielhoherd](https://togithub.com/danielhoherd) in
[https://github.com/codespell-project/codespell/pull/2493](https://togithub.com/codespell-project/codespell/pull/2493)
- Add several spelling corrections by
[@&#8203;ydah](https://togithub.com/ydah) in
[https://github.com/codespell-project/codespell/pull/2492](https://togithub.com/codespell-project/codespell/pull/2492)
- Change "circularly" to "circulary". by
[@&#8203;vinc17fr](https://togithub.com/vinc17fr) in
[https://github.com/codespell-project/codespell/pull/2422](https://togithub.com/codespell-project/codespell/pull/2422)
- Use `grep -E` instead of `egrep` by
[@&#8203;a1346054](https://togithub.com/a1346054) in
[https://github.com/codespell-project/codespell/pull/2496](https://togithub.com/codespell-project/codespell/pull/2496)
- move `warmup` to code dictionary by
[@&#8203;robin-wayve](https://togithub.com/robin-wayve) in
[https://github.com/codespell-project/codespell/pull/2495](https://togithub.com/codespell-project/codespell/pull/2495)
- downoload->download and friends by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2494](https://togithub.com/codespell-project/codespell/pull/2494)
- Add some alternative line endings and whitespace checks by
[@&#8203;peternewman](https://togithub.com/peternewman) in
[https://github.com/codespell-project/codespell/pull/2490](https://togithub.com/codespell-project/codespell/pull/2490)
- occulusion->occlusion by
[@&#8203;tkoyama010](https://togithub.com/tkoyama010) in
[https://github.com/codespell-project/codespell/pull/2502](https://togithub.com/codespell-project/codespell/pull/2502)
- Add another suggestion for relected by
[@&#8203;vinc17fr](https://togithub.com/vinc17fr) in
[https://github.com/codespell-project/codespell/pull/2501](https://togithub.com/codespell-project/codespell/pull/2501)
- add dependendenc(y|ies)->dependenc(y|ies) by
[@&#8203;robin-wayve](https://togithub.com/robin-wayve) in
[https://github.com/codespell-project/codespell/pull/2499](https://togithub.com/codespell-project/codespell/pull/2499)
- Add application(s) spelling corrections. by
[@&#8203;cfi-gb](https://togithub.com/cfi-gb) in
[https://github.com/codespell-project/codespell/pull/2503](https://togithub.com/codespell-project/codespell/pull/2503)
- Add spelling correction for place by
[@&#8203;adrien-berchet](https://togithub.com/adrien-berchet) in
[https://github.com/codespell-project/codespell/pull/2500](https://togithub.com/codespell-project/codespell/pull/2500)
- Add spelling correction by
[@&#8203;adrien-berchet](https://togithub.com/adrien-berchet) in
[https://github.com/codespell-project/codespell/pull/2498](https://togithub.com/codespell-project/codespell/pull/2498)
- 'analyses' is the plural of 'analysis' by
[@&#8203;quyykk](https://togithub.com/quyykk) in
[https://github.com/codespell-project/codespell/pull/2401](https://togithub.com/codespell-project/codespell/pull/2401)
- Add spelling corrections for dictionar(y|ies) by
[@&#8203;cfi-gb](https://togithub.com/cfi-gb) in
[https://github.com/codespell-project/codespell/pull/2509](https://togithub.com/codespell-project/codespell/pull/2509)
- Add spelling correction for export by
[@&#8203;adrien-berchet](https://togithub.com/adrien-berchet) in
[https://github.com/codespell-project/codespell/pull/2506](https://togithub.com/codespell-project/codespell/pull/2506)
- Fix
[#&#8203;2055](https://togithub.com/codespell-project/codespell/issues/2055):
Add support for PEP 518 by
[@&#8203;Freed-Wu](https://togithub.com/Freed-Wu) in
[https://github.com/codespell-project/codespell/pull/2290](https://togithub.com/codespell-project/codespell/pull/2290)
- Add regresison->regression by
[@&#8203;janosh](https://togithub.com/janosh) in
[https://github.com/codespell-project/codespell/pull/2518](https://togithub.com/codespell-project/codespell/pull/2518)
- DOC: Better docs by [@&#8203;larsoner](https://togithub.com/larsoner)
in
[https://github.com/codespell-project/codespell/pull/2515](https://togithub.com/codespell-project/codespell/pull/2515)
- Fix build_exclude_hashes fails: UnicodeDecodeError: 'charmap' codec
can't decode byte 0x81 in position 2244: character maps to <undefined>
by [@&#8203;JoergAtGithub](https://togithub.com/JoergAtGithub) in
[https://github.com/codespell-project/codespell/pull/2520](https://togithub.com/codespell-project/codespell/pull/2520)
- Add alternative for 'bu' by
[@&#8203;flyingdutchman23](https://togithub.com/flyingdutchman23) in
[https://github.com/codespell-project/codespell/pull/2514](https://togithub.com/codespell-project/codespell/pull/2514)
- Add alternative for 'tooo' by
[@&#8203;flyingdutchman23](https://togithub.com/flyingdutchman23) in
[https://github.com/codespell-project/codespell/pull/2513](https://togithub.com/codespell-project/codespell/pull/2513)
- Fix uncaught exception on empty files by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2195](https://togithub.com/codespell-project/codespell/pull/2195)
- Add combintaion(s)->combination(s) by
[@&#8203;janosh](https://togithub.com/janosh) in
[https://github.com/codespell-project/codespell/pull/2524](https://togithub.com/codespell-project/codespell/pull/2524)
- MAINT: Use pyproject and setuptools_scm by
[@&#8203;larsoner](https://togithub.com/larsoner) in
[https://github.com/codespell-project/codespell/pull/2523](https://togithub.com/codespell-project/codespell/pull/2523)

#### New Contributors

- [@&#8203;ydah](https://togithub.com/ydah) made their first
contribution in
[https://github.com/codespell-project/codespell/pull/2467](https://togithub.com/codespell-project/codespell/pull/2467)
- [@&#8203;adrien-berchet](https://togithub.com/adrien-berchet) made
their first contribution in
[https://github.com/codespell-project/codespell/pull/2461](https://togithub.com/codespell-project/codespell/pull/2461)
- [@&#8203;danielhoherd](https://togithub.com/danielhoherd) made their
first contribution in
[https://github.com/codespell-project/codespell/pull/2493](https://togithub.com/codespell-project/codespell/pull/2493)
- [@&#8203;quyykk](https://togithub.com/quyykk) made their first
contribution in
[https://github.com/codespell-project/codespell/pull/2401](https://togithub.com/codespell-project/codespell/pull/2401)
- [@&#8203;Freed-Wu](https://togithub.com/Freed-Wu) made their first
contribution in
[https://github.com/codespell-project/codespell/pull/2290](https://togithub.com/codespell-project/codespell/pull/2290)
- [@&#8203;janosh](https://togithub.com/janosh) made their first
contribution in
[https://github.com/codespell-project/codespell/pull/2518](https://togithub.com/codespell-project/codespell/pull/2518)
- [@&#8203;JoergAtGithub](https://togithub.com/JoergAtGithub) made their
first con

</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:eyJjcmVhdGVkSW5WZXIiOiIzNC4xNjAuMCIsInVwZGF0ZWRJblZlciI6IjM0LjE2MC4wIn0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
allenporter pushed a commit to allenporter/pyrainbird that referenced this pull request Mar 28, 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://togithub.com/codespell-project/codespell)
| repository | minor | `v2.1.0` -> `v2.2.4` |

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://togithub.com/renovatebot/renovate/discussions/new)
if you have any questions.

---

### Release Notes

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

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

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

#### What's Changed

- BUG: Fix bug with toml triage by
[@&#8203;larsoner](https://togithub.com/larsoner) in
[https://github.com/codespell-project/codespell/pull/2774](https://togithub.com/codespell-project/codespell/pull/2774)

**Full Changelog**:
https://github.com/codespell-project/codespell/compare/v2.2.3...v2.2.4

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

[Compare
Source](https://togithub.com/codespell-project/codespell/compare/v2.2.2...v2.2.3)

#### NOTE:

This release is broken for Python < 3.11 without tomli installed in the
presence of `.toml` files (e.g., `pyproject.toml`), see
[https://github.com/codespell-project/actions-codespell/issues/59](https://togithub.com/codespell-project/actions-codespell/issues/59)
!

#### What's Changed

- Misspelling of sufficient, sufficiently by
[@&#8203;vikivivi](https://togithub.com/vikivivi) in
[https://github.com/codespell-project/codespell/pull/2531](https://togithub.com/codespell-project/codespell/pull/2531)
- insuffient->insufficient by
[@&#8203;tkoyama010](https://togithub.com/tkoyama010) in
[https://github.com/codespell-project/codespell/pull/2527](https://togithub.com/codespell-project/codespell/pull/2527)
- add anayltic(s|al|ally) -> analytic(s|al|ally) by
[@&#8203;robin-wayve](https://togithub.com/robin-wayve) in
[https://github.com/codespell-project/codespell/pull/2507](https://togithub.com/codespell-project/codespell/pull/2507)
- Ignore flake8 rule W503 by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2069](https://togithub.com/codespell-project/codespell/pull/2069)
- Dead code found by vulture by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2101](https://togithub.com/codespell-project/codespell/pull/2101)
- Move falsy and accreting to more appropriate files by
[@&#8203;janosh](https://togithub.com/janosh) in
[https://github.com/codespell-project/codespell/pull/2511](https://togithub.com/codespell-project/codespell/pull/2511)
- Add subtrate->substrate by
[@&#8203;janosh](https://togithub.com/janosh) in
[https://github.com/codespell-project/codespell/pull/2525](https://togithub.com/codespell-project/codespell/pull/2525)
- Add "subtask" by [@&#8203;int-y1](https://togithub.com/int-y1) in
[https://github.com/codespell-project/codespell/pull/2537](https://togithub.com/codespell-project/codespell/pull/2537)
- Apply pyupgrade to project by
[@&#8203;jdufresne](https://togithub.com/jdufresne) in
[https://github.com/codespell-project/codespell/pull/2364](https://togithub.com/codespell-project/codespell/pull/2364)
- {speherical,sperhical}->spherical by
[@&#8203;janosh](https://togithub.com/janosh) in
[https://github.com/codespell-project/codespell/pull/2540](https://togithub.com/codespell-project/codespell/pull/2540)
- interepolation->interpolation by
[@&#8203;tkoyama010](https://togithub.com/tkoyama010) in
[https://github.com/codespell-project/codespell/pull/2512](https://togithub.com/codespell-project/codespell/pull/2512)
- Ignore .mypy_cache folder by
[@&#8203;kianmeng](https://togithub.com/kianmeng) in
[https://github.com/codespell-project/codespell/pull/2361](https://togithub.com/codespell-project/codespell/pull/2361)
- Fix uncaught exception on unreadable files by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2196](https://togithub.com/codespell-project/codespell/pull/2196)
- Add constrainst to dictionary by
[@&#8203;jonathanberthias](https://togithub.com/jonathanberthias) in
[https://github.com/codespell-project/codespell/pull/2546](https://togithub.com/codespell-project/codespell/pull/2546)
- Add relative hidden directory and basic subdir tests by
[@&#8203;peternewman](https://togithub.com/peternewman) in
[https://github.com/codespell-project/codespell/pull/2542](https://togithub.com/codespell-project/codespell/pull/2542)
- Add trignometric->trigonometric by
[@&#8203;janosh](https://togithub.com/janosh) in
[https://github.com/codespell-project/codespell/pull/2549](https://togithub.com/codespell-project/codespell/pull/2549)
- Add virtualied->virtualized, virtualised and friends by
[@&#8203;peternewman](https://togithub.com/peternewman) in
[https://github.com/codespell-project/codespell/pull/2553](https://togithub.com/codespell-project/codespell/pull/2553)
- Add several spelling corrections by
[@&#8203;luzpaz](https://togithub.com/luzpaz) in
[https://github.com/codespell-project/codespell/pull/2521](https://togithub.com/codespell-project/codespell/pull/2521)
- Slightly simplify some boolean expressions by
[@&#8203;jdufresne](https://togithub.com/jdufresne) in
[https://github.com/codespell-project/codespell/pull/2556](https://togithub.com/codespell-project/codespell/pull/2556)
- MAINT: Add CODEOWNERS by
[@&#8203;larsoner](https://togithub.com/larsoner) in
[https://github.com/codespell-project/codespell/pull/2535](https://togithub.com/codespell-project/codespell/pull/2535)
- positivie->positive by [@&#8203;janosh](https://togithub.com/janosh)
in
[https://github.com/codespell-project/codespell/pull/2558](https://togithub.com/codespell-project/codespell/pull/2558)
- DOC/ENH: Clarify usage or configuration files and log about it by
[@&#8203;sappelhoff](https://togithub.com/sappelhoff) in
[https://github.com/codespell-project/codespell/pull/2552](https://togithub.com/codespell-project/codespell/pull/2552)
- Document required setuptools version by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2560](https://togithub.com/codespell-project/codespell/pull/2560)
- Redundant wheel dependency in pyproject.toml by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2562](https://togithub.com/codespell-project/codespell/pull/2562)
- Remove parameterizes->parametrizes by
[@&#8203;int-y1](https://togithub.com/int-y1) in
[https://github.com/codespell-project/codespell/pull/2563](https://togithub.com/codespell-project/codespell/pull/2563)
- Replace codecs.open with open by
[@&#8203;jdufresne](https://togithub.com/jdufresne) in
[https://github.com/codespell-project/codespell/pull/2378](https://togithub.com/codespell-project/codespell/pull/2378)
- Update subprocess usage to use modern subprocess.run() by
[@&#8203;jdufresne](https://togithub.com/jdufresne) in
[https://github.com/codespell-project/codespell/pull/2565](https://togithub.com/codespell-project/codespell/pull/2565)
- Fix produce typo by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2561](https://togithub.com/codespell-project/codespell/pull/2561)
- Add a few corrections by [@&#8203;int-y1](https://togithub.com/int-y1)
in
[https://github.com/codespell-project/codespell/pull/2566](https://togithub.com/codespell-project/codespell/pull/2566)
- Migrate pytest config into pyproject.toml by
[@&#8203;cclauss](https://togithub.com/cclauss) in
[https://github.com/codespell-project/codespell/pull/2554](https://togithub.com/codespell-project/codespell/pull/2554)
- Handle bad globs passed to if --skip/-S by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2159](https://togithub.com/codespell-project/codespell/pull/2159)
- Isn't the mailing list obsolete? by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2090](https://togithub.com/codespell-project/codespell/pull/2090)
- More CODEOWNERS by
[@&#8203;peternewman](https://togithub.com/peternewman) in
[https://github.com/codespell-project/codespell/pull/2569](https://togithub.com/codespell-project/codespell/pull/2569)
- Remove unused attribute Misspelling.fixword by
[@&#8203;jdufresne](https://togithub.com/jdufresne) in
[https://github.com/codespell-project/codespell/pull/2557](https://togithub.com/codespell-project/codespell/pull/2557)
- Read config file without interpolation by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2545](https://togithub.com/codespell-project/codespell/pull/2545)
- Add andriod->android and friends by
[@&#8203;peternewman](https://togithub.com/peternewman) in
[https://github.com/codespell-project/codespell/pull/2570](https://togithub.com/codespell-project/codespell/pull/2570)
- Add total type GB to US by
[@&#8203;peternewman](https://togithub.com/peternewman) in
[https://github.com/codespell-project/codespell/pull/2577](https://togithub.com/codespell-project/codespell/pull/2577)
- Catch all cases of missing pytest by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2568](https://togithub.com/codespell-project/codespell/pull/2568)
- Fix typo in README pin → pip by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2579](https://togithub.com/codespell-project/codespell/pull/2579)
- Keep GitHub Actions up to date with Dependabot by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2578](https://togithub.com/codespell-project/codespell/pull/2578)
- decelaration could be deceleration by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2576](https://togithub.com/codespell-project/codespell/pull/2576)
- Add isort to project by
[@&#8203;jdufresne](https://togithub.com/jdufresne) in
[https://github.com/codespell-project/codespell/pull/2564](https://togithub.com/codespell-project/codespell/pull/2564)
- Fix Deepsource issues by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2085](https://togithub.com/codespell-project/codespell/pull/2085)
- Replace list()/dict() with literals by
[@&#8203;jdufresne](https://togithub.com/jdufresne) in
[https://github.com/codespell-project/codespell/pull/2380](https://togithub.com/codespell-project/codespell/pull/2380)
- Use major version [@&#8203;v1](https://togithub.com/v1) of isort
GitHub Action by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2581](https://togithub.com/codespell-project/codespell/pull/2581)
- Add a spelling correction by [@&#8203;fxlb](https://togithub.com/fxlb)
in
[https://github.com/codespell-project/codespell/pull/2572](https://togithub.com/codespell-project/codespell/pull/2572)
- Remove obsolete Python 2 workaround by
[@&#8203;jdufresne](https://togithub.com/jdufresne) in
[https://github.com/codespell-project/codespell/pull/2586](https://togithub.com/codespell-project/codespell/pull/2586)
- Add misspelling of Kafka by
[@&#8203;vikivivi](https://togithub.com/vikivivi) in
[https://github.com/codespell-project/codespell/pull/2589](https://togithub.com/codespell-project/codespell/pull/2589)
- Add testing and document support for Python 3.11 by
[@&#8203;jdufresne](https://togithub.com/jdufresne) in
[https://github.com/codespell-project/codespell/pull/2585](https://togithub.com/codespell-project/codespell/pull/2585)
- Add type annotations to the project and use mypy by
[@&#8203;jdufresne](https://togithub.com/jdufresne) in
[https://github.com/codespell-project/codespell/pull/2588](https://togithub.com/codespell-project/codespell/pull/2588)
- Add a few spelling corrections by
[@&#8203;int-y1](https://togithub.com/int-y1) in
[https://github.com/codespell-project/codespell/pull/2550](https://togithub.com/codespell-project/codespell/pull/2550)
- Add several spelling corrections by
[@&#8203;luzpaz](https://togithub.com/luzpaz) in
[https://github.com/codespell-project/codespell/pull/2582](https://togithub.com/codespell-project/codespell/pull/2582)
- quation->equation by [@&#8203;janosh](https://togithub.com/janosh) in
[https://github.com/codespell-project/codespell/pull/2591](https://togithub.com/codespell-project/codespell/pull/2591)
- Document support for Python versions in pyproject.toml by
[@&#8203;jdufresne](https://togithub.com/jdufresne) in
[https://github.com/codespell-project/codespell/pull/2379](https://togithub.com/codespell-project/codespell/pull/2379)
- Use black to format Python files by
[@&#8203;jdufresne](https://togithub.com/jdufresne) in
[https://github.com/codespell-project/codespell/pull/2587](https://togithub.com/codespell-project/codespell/pull/2587)
- Move "upto" to code dictionary by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2603](https://togithub.com/codespell-project/codespell/pull/2603)
- Move sudo-like command name "doas" to code dictionary by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2600](https://togithub.com/codespell-project/codespell/pull/2600)
- enthapl(ies|y)->enthalp(ies|y) by
[@&#8203;janosh](https://togithub.com/janosh) in
[https://github.com/codespell-project/codespell/pull/2590](https://togithub.com/codespell-project/codespell/pull/2590)
- Add componoent(s)->component(s) by
[@&#8203;cfi-gb](https://togithub.com/cfi-gb) in
[https://github.com/codespell-project/codespell/pull/2594](https://togithub.com/codespell-project/codespell/pull/2594)
- Move "spawnve" to code dictionary by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2614](https://togithub.com/codespell-project/codespell/pull/2614)
- Move "MSDOS" to code dictionary by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2615](https://togithub.com/codespell-project/codespell/pull/2615)
- Added informal words by
[@&#8203;Paradact](https://togithub.com/Paradact) in
[https://github.com/codespell-project/codespell/pull/2575](https://togithub.com/codespell-project/codespell/pull/2575)
- Improve format of CC BY-SA 3.0 license link by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2619](https://togithub.com/codespell-project/codespell/pull/2619)
- {assymthotic, assymtotic}->asymptotic by
[@&#8203;janosh](https://togithub.com/janosh) in
[https://github.com/codespell-project/codespell/pull/2597](https://togithub.com/codespell-project/codespell/pull/2597)
- Simplify some file reading in tests by opening in text mode by
[@&#8203;jdufresne](https://togithub.com/jdufresne) in
[https://github.com/codespell-project/codespell/pull/2624](https://togithub.com/codespell-project/codespell/pull/2624)
- Remove setup.py by [@&#8203;jdufresne](https://togithub.com/jdufresne)
in
[https://github.com/codespell-project/codespell/pull/2626](https://togithub.com/codespell-project/codespell/pull/2626)
- Normalize code block indicators in README by
[@&#8203;waldyrious](https://togithub.com/waldyrious) in
[https://github.com/codespell-project/codespell/pull/2621](https://togithub.com/codespell-project/codespell/pull/2621)
- PEP 517 by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2595](https://togithub.com/codespell-project/codespell/pull/2595)
- Add spelling correction for 'alhpa' by
[@&#8203;adrien-berchet](https://togithub.com/adrien-berchet) in
[https://github.com/codespell-project/codespell/pull/2627](https://togithub.com/codespell-project/codespell/pull/2627)
- Move Windows CI from AppVeyor to GitHub Actions by
[@&#8203;jdufresne](https://togithub.com/jdufresne) in
[https://github.com/codespell-project/codespell/pull/2628](https://togithub.com/codespell-project/codespell/pull/2628)
- Add "token" as alternative for "toke" by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2630](https://togithub.com/codespell-project/codespell/pull/2630)
- Add spelling corrections for version. by
[@&#8203;cfi-gb](https://togithub.com/cfi-gb) in
[https://github.com/codespell-project/codespell/pull/2629](https://togithub.com/codespell-project/codespell/pull/2629)
- feat: Add cataalogue->catalogue to dictionary by
[@&#8203;matthewfeickert](https://togithub.com/matthewfeickert) in
[https://github.com/codespell-project/codespell/pull/2631](https://togithub.com/codespell-project/codespell/pull/2631)
- Add several spelling corrections found in personal projects by
[@&#8203;jdufresne](https://togithub.com/jdufresne) in
[https://github.com/codespell-project/codespell/pull/2623](https://togithub.com/codespell-project/codespell/pull/2623)
- Add several words for en-GB to en-US by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2598](https://togithub.com/codespell-project/codespell/pull/2598)
- Add fixes from misspell-fixer's safe.1.dict by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2611](https://togithub.com/codespell-project/codespell/pull/2611)
- Prefer "converter" to "convertor" by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2613](https://togithub.com/codespell-project/codespell/pull/2613)
- Add pre-commit configuration by
[@&#8203;mdeweerd](https://togithub.com/mdeweerd) in
[https://github.com/codespell-project/codespell/pull/2459](https://togithub.com/codespell-project/codespell/pull/2459)
- pre-commit: check toml, rst, yml and .in files by
[@&#8203;mdeweerd](https://togithub.com/mdeweerd) in
[https://github.com/codespell-project/codespell/pull/2636](https://togithub.com/codespell-project/codespell/pull/2636)
- centriod->centroid by [@&#8203;janosh](https://togithub.com/janosh) in
[https://github.com/codespell-project/codespell/pull/2637](https://togithub.com/codespell-project/codespell/pull/2637)
- Add operatin->operation, operating, correction. by
[@&#8203;cfi-gb](https://togithub.com/cfi-gb) in
[https://github.com/codespell-project/codespell/pull/2640](https://togithub.com/codespell-project/codespell/pull/2640)
- README: Document how to use pre-commit by
[@&#8203;WilliamJamieson](https://togithub.com/WilliamJamieson) in
[https://github.com/codespell-project/codespell/pull/2639](https://togithub.com/codespell-project/codespell/pull/2639)
- README: document simplest usage pattern by
[@&#8203;waldyrious](https://togithub.com/waldyrious) in
[https://github.com/codespell-project/codespell/pull/2638](https://togithub.com/codespell-project/codespell/pull/2638)
- Prefer HTTPS to HTTP in URLs by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2641](https://togithub.com/codespell-project/codespell/pull/2641)
- Flush stdout when asking word fix by
[@&#8203;adrien-berchet](https://togithub.com/adrien-berchet) in
[https://github.com/codespell-project/codespell/pull/2642](https://togithub.com/codespell-project/codespell/pull/2642)
- Correct "3rt" to "3rd" by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2634](https://togithub.com/codespell-project/codespell/pull/2634)
- Don't print config files by default by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2618](https://togithub.com/codespell-project/codespell/pull/2618)
- Add spelling fixes for derivative by
[@&#8203;cbrxyz](https://togithub.com/cbrxyz) in
[https://github.com/codespell-project/codespell/pull/2643](https://togithub.com/codespell-project/codespell/pull/2643)
- Typos from GEANT/CAT by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2635](https://togithub.com/codespell-project/codespell/pull/2635)
- Add new spellings for "exercise" by
[@&#8203;int-y1](https://togithub.com/int-y1) in
[https://github.com/codespell-project/codespell/pull/2538](https://togithub.com/codespell-project/codespell/pull/2538)
- Added month misspells by
[@&#8203;Paradact](https://togithub.com/Paradact) in
[https://github.com/codespell-project/codespell/pull/2573](https://togithub.com/codespell-project/codespell/pull/2573)
- Add typos from Linux kernel's spelling.txt file by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2647](https://togithub.com/codespell-project/codespell/pull/2647)
- Add corrections from Fossies extra dictionary by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2651](https://togithub.com/codespell-project/codespell/pull/2651)
- Add typos found in Emacs by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2652](https://togithub.com/codespell-project/codespell/pull/2652)
- Add some typos found in FreedroidRPG by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2654](https://togithub.com/codespell-project/codespell/pull/2654)
- Add common misspellings of RISC-V by
[@&#8203;felixonmars](https://togithub.com/felixonmars) in
[https://github.com/codespell-project/codespell/pull/2479](https://togithub.com/codespell-project/codespell/pull/2479)
- Revert "Add spelling correction for in-flight" by
[@&#8203;peternewman](https://togithub.com/peternewman) in
[https://github.com/codespell-project/codespell/pull/2406](https://togithub.com/codespell-project/codespell/pull/2406)
- Typos from marvin.cs.uidaho.edu: A by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2656](https://togithub.com/codespell-project/codespell/pull/2656)
- Added British words by
[@&#8203;Paradact](https://togithub.com/Paradact) in
[https://github.com/codespell-project/codespell/pull/2574](https://togithub.com/codespell-project/codespell/pull/2574)
- Add many corrections to dictionary.txt by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2608](https://togithub.com/codespell-project/codespell/pull/2608)
- Typos from marvin.cs.uidaho.edu: B by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2658](https://togithub.com/codespell-project/codespell/pull/2658)
- Add some more misspellings found in Emacs by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2660](https://togithub.com/codespell-project/codespell/pull/2660)
- Add typos found in GnuTLS by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2671](https://togithub.com/codespell-project/codespell/pull/2671)
- Typos from marvin.cs.uidaho.edu: C by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2661](https://togithub.com/codespell-project/codespell/pull/2661)
- Typos from marvin.cs.uidaho.edu: D by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2663](https://togithub.com/codespell-project/codespell/pull/2663)
- Typos from marvin.cs.uidaho.edu: E by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2664](https://togithub.com/codespell-project/codespell/pull/2664)
- Typos from marvin.cs.uidaho.edu: F by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2665](https://togithub.com/codespell-project/codespell/pull/2665)
- Add fixes from misspell-fixer's safe.2.dict by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2612](https://togithub.com/codespell-project/codespell/pull/2612)
- Typos from marvin.cs.uidaho.edu: H by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2667](https://togithub.com/codespell-project/codespell/pull/2667)
- Typos from marvin.cs.uidaho.edu: G by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2666](https://togithub.com/codespell-project/codespell/pull/2666)
- Typos from marvin.cs.uidaho.edu: I by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2668](https://togithub.com/codespell-project/codespell/pull/2668)
- Typos from marvin.cs.uidaho.edu: K by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2669](https://togithub.com/codespell-project/codespell/pull/2669)
- Move `ifset->if set` to code dictionary by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2681](https://togithub.com/codespell-project/codespell/pull/2681)
- Typos from marvin.cs.uidaho.edu: L by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2670](https://togithub.com/codespell-project/codespell/pull/2670)
- Move \`keyservers->key servers' to code dictionary by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2688](https://togithub.com/codespell-project/codespell/pull/2688)
- Add explixitely->explicitly by
[@&#8203;kianmeng](https://togithub.com/kianmeng) in
[https://github.com/codespell-project/codespell/pull/2691](https://togithub.com/codespell-project/codespell/pull/2691)
- Add fixes from travis (Closes
[#&#8203;1312](https://togithub.com/codespell-project/codespell/issues/1312))
by [@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2653](https://togithub.com/codespell-project/codespell/pull/2653)
- Most of `MANIFEST.in` is obsolete, get rid of it by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2646](https://togithub.com/codespell-project/codespell/pull/2646)
- Use f-strings wherever possible by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2676](https://togithub.com/codespell-project/codespell/pull/2676)
- Harden GitHub CI configuration by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2655](https://togithub.com/codespell-project/codespell/pull/2655)
- Typos from marvin.cs.uidaho.edu: O by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2677](https://togithub.com/codespell-project/codespell/pull/2677)
- Typos from marvin.cs.uidaho.edu: W by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2687](https://togithub.com/codespell-project/codespell/pull/2687)
- Typos from marvin.cs.uidaho.edu: J by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2695](https://togithub.com/codespell-project/codespell/pull/2695)
- Typos from marvin.cs.uidaho.edu: V by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2686](https://togithub.com/codespell-project/codespell/pull/2686)
- usable / useable: force recommended spelling by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2694](https://togithub.com/codespell-project/codespell/pull/2694)
- Typos from marvin.cs.uidaho.edu: N by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2675](https://togithub.com/codespell-project/codespell/pull/2675)
- Typos from marvin.cs.uidaho.edu: U by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2685](https://togithub.com/codespell-project/codespell/pull/2685)
- Typos from marvin.cs.uidaho.edu: Q by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2679](https://togithub.com/codespell-project/codespell/pull/2679)
- add spelling corrections from wikipedia corpus by
[@&#8203;cconverse711](https://togithub.com/cconverse711) in
[https://github.com/codespell-project/codespell/pull/2487](https://togithub.com/codespell-project/codespell/pull/2487)
- Move `ws->was` to code dictionary by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2699](https://togithub.com/codespell-project/codespell/pull/2699)
- Typos from marvin.cs.uidaho.edu: T by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2684](https://togithub.com/codespell-project/codespell/pull/2684)
- Add "inable" by [@&#8203;jdufresne](https://togithub.com/jdufresne) in
[https://github.com/codespell-project/codespell/pull/2697](https://togithub.com/codespell-project/codespell/pull/2697)
- Remove alias make targets to facilitate tab completion by
[@&#8203;jdufresne](https://togithub.com/jdufresne) in
[https://github.com/codespell-project/codespell/pull/2700](https://togithub.com/codespell-project/codespell/pull/2700)
- Add several spelling corrections by
[@&#8203;ydah](https://togithub.com/ydah) in
[https://github.com/codespell-project/codespell/pull/2701](https://togithub.com/codespell-project/codespell/pull/2701)
- Use type annotations directly from chardet package by
[@&#8203;jdufresne](https://togithub.com/jdufresne) in
[https://github.com/codespell-project/codespell/pull/2702](https://togithub.com/codespell-project/codespell/pull/2702)
- Add outoing->outgoing by
[@&#8203;iafisher](https://togithub.com/iafisher) in
[https://github.com/codespell-project/codespell/pull/2698](https://togithub.com/codespell-project/codespell/pull/2698)
- Typos from marvin.cs.uidaho.edu: R by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2680](https://togithub.com/codespell-project/codespell/pull/2680)
- Rehabilitate extraversion by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2198](https://togithub.com/codespell-project/codespell/pull/2198)
- Add contineous -> continuous by
[@&#8203;kianmeng](https://togithub.com/kianmeng) in
[https://github.com/codespell-project/codespell/pull/2703](https://togithub.com/codespell-project/codespell/pull/2703)
- Add neglibible -> negligible by
[@&#8203;kianmeng](https://togithub.com/kianmeng) in
[https://github.com/codespell-project/codespell/pull/2705](https://togithub.com/codespell-project/codespell/pull/2705)
- move `pullrequest` to code dictionary by
[@&#8203;robin-wayve](https://togithub.com/robin-wayve) in
[https://github.com/codespell-project/codespell/pull/2708](https://togithub.com/codespell-project/codespell/pull/2708)
- Add `propect->prospect, protect, project,` and variations by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2710](https://togithub.com/codespell-project/codespell/pull/2710)
- Add respwan -> respawn and related words by
[@&#8203;kianmeng](https://togithub.com/kianmeng) in
[https://github.com/codespell-project/codespell/pull/2711](https://togithub.com/codespell-project/codespell/pull/2711)
- Typos from marvin.cs.uidaho.edu: P by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2678](https://togithub.com/codespell-project/codespell/pull/2678)
- Typos from marvin.cs.uidaho.edu: S by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2683](https://togithub.com/codespell-project/codespell/pull/2683)
- Add various spelling corrections for words containing "meant" by
[@&#8203;cfi-gb](https://togithub.com/cfi-gb) in
[https://github.com/codespell-project/codespell/pull/2712](https://togithub.com/codespell-project/codespell/pull/2712)
- Improve support of TOML config files by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2715](https://togithub.com/codespell-project/codespell/pull/2715)
- Toml python3.11 by [@&#8203;SRv6d](https://togithub.com/SRv6d) in
[https://github.com/codespell-project/codespell/pull/2720](https://togithub.com/codespell-project/codespell/pull/2720)
- pre-commit: Upgrade psf/black for stable style 2023 by
[@&#8203;cclauss](https://togithub.com/cclauss) in
[https://github.com/codespell-project/codespell/pull/2724](https://togithub.com/codespell-project/codespell/pull/2724)
- Add recjected->rejected by
[@&#8203;arm-in](https://togithub.com/arm-in) in
[https://github.com/codespell-project/codespell/pull/2722](https://togithub.com/codespell-project/codespell/pull/2722)
- Add evaluatated->evaluated by
[@&#8203;arm-in](https://togithub.com/arm-in) in
[https://github.com/codespell-project/codespell/pull/2721](https://togithub.com/codespell-project/codespell/pull/2721)
- Add totatl(ly)->total(ly) by
[@&#8203;luzpaz](https://togithub.com/luzpaz) in
[https://github.com/codespell-project/codespell/pull/2725](https://togithub.com/codespell-project/codespell/pull/2725)
- Add visulization->visualization by
[@&#8203;tkoyama010](https://togithub.com/tkoyama010) in
[https://github.com/codespell-project/codespell/pull/2448](https://togithub.com/codespell-project/codespell/pull/2448)
- Add several spelling corrections by
[@&#8203;luzpaz](https://togithub.com/luzpaz) in
[https://github.com/codespell-project/codespell/pull/2410](https://togithub.com/codespell-project/codespell/pull/2410)
- Fix CI mypy job by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2733](https://togithub.com/codespell-project/codespell/pull/2733)
- Add various spelling corrections for (in|ex)clude\* and modify\* by
[@&#8203;cfi-gb](https://togithub.com/cfi-gb) in
[https://github.com/codespell-project/codespell/pull/2732](https://togithub.com/codespell-project/codespell/pull/2732)
- spwan → spawn by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2714](https://togithub.com/codespell-project/codespell/pull/2714)
- Focussed is correct in British English by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2709](https://togithub.com/codespell-project/codespell/pull/2709)
- dedent/outdent is used a lot in Python by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2696](https://togithub.com/codespell-project/codespell/pull/2696)
- maanger by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2650](https://togithub.com/codespell-project/codespell/pull/2650)
- sizeable is correct, resizeable should be correct too by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2693](https://togithub.com/codespell-project/codespell/pull/2693)
- Fix more words derived from paramterize/paramterise by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2648](https://togithub.com/codespell-project/codespell/pull/2648)
- Fix more words derived from renable by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2649](https://togithub.com/codespell-project/codespell/pull/2649)
- Add accordin->according by
[@&#8203;luzpaz](https://togithub.com/luzpaz) in
[https://github.com/codespell-project/codespell/pull/2739](https://togithub.com/codespell-project/codespell/pull/2739)
- Add variations of grow by
[@&#8203;luzpaz](https://togithub.com/luzpaz) in
[https://github.com/codespell-project/codespell/pull/2738](https://togithub.com/codespell-project/codespell/pull/2738)
- regargless->regardless by
[@&#8203;tkoyama010](https://togithub.com/tkoyama010) in
[https://github.com/codespell-project/codespell/pull/2737](https://togithub.com/codespell-project/codespell/pull/2737)
- convienant->convenient by
[@&#8203;tkoyama010](https://togithub.com/tkoyama010) in
[https://github.com/codespell-project/codespell/pull/2736](https://togithub.com/codespell-project/codespell/pull/2736)
- Add involtue(d|s)->involute(d|s) by
[@&#8203;luzpaz](https://togithub.com/luzpaz) in
[https://github.com/codespell-project/codespell/pull/2735](https://togithub.com/codespell-project/codespell/pull/2735)
- Typos from Emacs by [@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2740](https://togithub.com/codespell-project/codespell/pull/2740)
- dict: Add instersection(s)->intersection(s) by
[@&#8203;akien-mga](https://togithub.com/akien-mga) in
[https://github.com/codespell-project/codespell/pull/2741](https://togithub.com/codespell-project/codespell/pull/2741)
- Added more common typos by
[@&#8203;polluks](https://togithub.com/polluks) in
[https://github.com/codespell-project/codespell/pull/2277](https://togithub.com/codespell-project/codespell/pull/2277)
- Add several spelling corrections by
[@&#8203;luzpaz](https://togithub.com/luzpaz) in
[https://github.com/codespell-project/codespell/pull/2593](https://togithub.com/codespell-project/codespell/pull/2593)
- Add explicete\* by [@&#8203;sebweb3r](https://togithub.com/sebweb3r)
in
[https://github.com/codespell-project/codespell/pull/2175](https://togithub.com/codespell-project/codespell/pull/2175)
- Add misspellings of resolvable, resolver, unresolved by
[@&#8203;vikivivi](https://togithub.com/vikivivi) in
[https://github.com/codespell-project/codespell/pull/2584](https://togithub.com/codespell-project/codespell/pull/2584)
- Add misspellings of mobile, modules, models by
[@&#8203;vikivivi](https://togithub.com/vikivivi) in
[https://github.com/codespell-project/codespell/pull/2583](https://togithub.com/codespell-project/codespell/pull/2583)
- "keyserver" is correct, fixes
[#&#8203;2084](https://togithub.com/codespell-project/codespell/issues/2084)
by [@&#8203;matkoniecz](https://togithub.com/matkoniecz) in
[https://github.com/codespell-project/codespell/pull/2147](https://togithub.com/codespell-project/codespell/pull/2147)
- Add entries to the inclusive language dictionary by
[@&#8203;sed-i](https://togithub.com/sed-i) in
[https://github.com/codespell-project/codespell/pull/2469](https://togithub.com/codespell-project/codespell/pull/2469)
- Include chardet in dev dependencies by
[@&#8203;Jackenmen](https://togithub.com/Jackenmen) in
[https://github.com/codespell-project/codespell/pull/2497](https://togithub.com/codespell-project/codespell/pull/2497)
- Move `keypair(s)->key pair(s)` to code dictionary by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2743](https://togithub.com/codespell-project/codespell/pull/2743)
- Add `man-in-the-middle->adversary-in-the-middle` alternative by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2744](https://togithub.com/codespell-project/codespell/pull/2744)
- Add typos found in zlib by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2742](https://togithub.com/codespell-project/codespell/pull/2742)
- Add typos found in Emacs by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2745](https://togithub.com/codespell-project/codespell/pull/2745)
- Move `shouldnot` to code dictionary (Fixes
[#&#8203;2528](https://togithub.com/codespell-project/codespell/issues/2528))
by [@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2747](https://togithub.com/codespell-project/codespell/pull/2747)
- Add `convervation->conservation` et al (Fix
[#&#8203;2716](https://togithub.com/codespell-project/codespell/issues/2716))
by [@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2746](https://togithub.com/codespell-project/codespell/pull/2746)
- Add various political terms by
[@&#8203;skangas](https://togithub.com/skangas) in
[https://github.com/codespell-project/codespell/pull/2749](https://togithub.com/codespell-project/codespell/pull/2749)
- requenst: fix typo found in blogs by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2752](https://togithub.com/codespell-project/codespell/pull/2752)
- Add spelling corrections for Policy and variants. by
[@&#8203;cfi-gb](https://togithub.com/cfi-gb) in
[https://github.com/codespell-project/codespell/pull/2750](https://togithub.com/codespell-project/codespell/pull/2750)
- typos found in iperf by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2360](https://togithub.com/codespell-project/codespell/pull/2360)
- Add spelling corrections for duplicate and variants. by
[@&#8203;cfi-gb](https://togithub.com/cfi-gb) in
[https://github.com/codespell-project/codespell/pull/2753](https://togithub.com/codespell-project/codespell/pull/2753)
- Fixed
[#&#8203;2690](https://togithub.com/codespell-project/codespell/issues/2690)
by [@&#8203;polluks](https://togithub.com/polluks) in
[https://github.com/codespell-project/codespell/pull/2755](https://togithub.com/codespell-project/codespell/pull/2755)
- Add protlet(s)->portlet(s) correction by
[@&#8203;cfi-gb](https://togithub.com/cfi-gb) in
[https://github.com/codespell-project/codespell/pull/2756](https://togithub.com/codespell-project/codespell/pull/2756)
- Add deffault(s|ed)->default(s|ed) correction by
[@&#8203;cfi-gb](https://togithub.com/cfi-gb) in
[https://github.com/codespell-project/codespell/pull/2762](https://togithub.com/codespell-project/codespell/pull/2762)
- More precise ignore directive for mypy by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2760](https://togithub.com/codespell-project/codespell/pull/2760)
- Add a spelling correction by [@&#8203;fxlb](https://togithub.com/fxlb)
in
[https://github.com/codespell-project/codespell/pull/2763](https://togithub.com/codespell-project/codespell/pull/2763)
- doc: tomli is not needed for Python >= 3.11 by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2751](https://togithub.com/codespell-project/codespell/pull/2751)
- Add spelling correction for vulnderabilit(y|ies)->vulnerabilit(y|ies)
by [@&#8203;cfi-gb](https://togithub.com/cfi-gb) in
[https://github.com/codespell-project/codespell/pull/2770](https://togithub.com/codespell-project/codespell/pull/2770)
- tetrahedoren->tetrahedron by
[@&#8203;tkoyama010](https://togithub.com/tkoyama010) in
[https://github.com/codespell-project/codespell/pull/2769](https://togithub.com/codespell-project/codespell/pull/2769)
- ENH: Color matching wrong word in the interactive session by
[@&#8203;yarikoptic](https://togithub.com/yarikoptic) in
[https://github.com/codespell-project/codespell/pull/2771](https://togithub.com/codespell-project/codespell/pull/2771)
- Switch from pytest tmpdir to tmp_path in tests by
[@&#8203;jdufresne](https://togithub.com/jdufresne) in
[https://github.com/codespell-project/codespell/pull/2625](https://togithub.com/codespell-project/codespell/pull/2625)

#### New Contributors

- [@&#8203;int-y1](https://togithub.com/int-y1) made their first
contribution in
[https://github.com/codespell-project/codespell/pull/2537](https://togithub.com/codespell-project/codespell/pull/2537)
- [@&#8203;jonathanberthias](https://togithub.com/jonathanberthias) made
their first contribution in
[https://github.com/codespell-project/codespell/pull/2546](https://togithub.com/codespell-project/codespell/pull/2546)
- [@&#8203;sappelhoff](https://togithub.com/sappelhoff) made their first
contribution in
[https://github.com/codespell-project/codespell/pull/2552](https://togithub.com/codespell-project/codespell/pull/2552)
- [@&#8203;skangas](https://togithub.com/skangas) made their first
contribution in
[https://github.com/codespell-project/codespell/pull/2603](https://togithub.com/codespell-project/codespell/pull/2603)
- [@&#8203;Paradact](https://togithub.com/Paradact) made their first
contribution in
[https://github.com/codespell-project/codespell/pull/2575](https://togithub.com/codespell-project/codespell/pull/2575)
- [@&#8203;WilliamJamieson](https://togithub.com/WilliamJamieson) made
their first contribution in
[https://github.com/codespell-project/codespell/pull/2639](https://togithub.com/codespell-project/codespell/pull/2639)
- [@&#8203;cbrxyz](https://togithub.com/cbrxyz) made their first
contribution in
[https://github.com/codespell-project/codespell/pull/2643](https://togithub.com/codespell-project/codespell/pull/2643)
- [@&#8203;felixonmars](https://togithub.com/felixonmars) made their
first contribution in
[https://github.com/codespell-project/codespell/pull/2479](https://togithub.com/codespell-project/codespell/pull/2479)
- [@&#8203;cconverse711](https://togithub.com/cconverse711) made their
first contribution in
[https://github.com/codespell-project/codespell/pull/2487](https://togithub.com/codespell-project/codespell/pull/2487)
- [@&#8203;iafisher](https://togithub.com/iafisher) made their first
contribution in
[https://github.com/codespell-project/codespell/pull/2698](https://togithub.com/codespell-project/codespell/pull/2698)
- [@&#8203;SRv6d](https://togithub.com/SRv6d) made their first
contribution in
[https://github.com/codespell-project/codespell/pull/2720](https://togithub.com/codespell-project/codespell/pull/2720)
- [@&#8203;polluks](https://togithub.com/polluks) made their first
contribution in
[https://github.com/codespell-project/codespell/pull/2277](https://togithub.com/codespell-project/codespell/pull/2277)
- [@&#8203;Jackenmen](https://togithub.com/Jackenmen) made their first
contribution in
[https://github.com/codespell-project/codespell/pull/2497](https://togithub.com/codespell-project/codespell/pull/2497)
- [@&#8203;yarikoptic](https://togithub.com/yarikoptic) made their first
contribution in
[https://github.com/codespell-project/codespell/pull/2771](https://togithub.com/codespell-project/codespell/pull/2771)

**Full Changelog**:
https://github.com/codespell-project/codespell/compare/v2.2.2...v2.2.3

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

[Compare
Source](https://togithub.com/codespell-project/codespell/compare/v2.2.1...v2.2.2)

#### What's Changed

- MAINT: Bump to dev by
[@&#8203;larsoner](https://togithub.com/larsoner) in
[https://github.com/codespell-project/codespell/pull/2463](https://togithub.com/codespell-project/codespell/pull/2463)
- Capitalize LessTif by [@&#8203;dforsi](https://togithub.com/dforsi) in
[https://github.com/codespell-project/codespell/pull/2471](https://togithub.com/codespell-project/codespell/pull/2471)
- Add several spelling corrections by
[@&#8203;ydah](https://togithub.com/ydah) in
[https://github.com/codespell-project/codespell/pull/2467](https://togithub.com/codespell-project/codespell/pull/2467)
- aexs->axes by [@&#8203;tkoyama010](https://togithub.com/tkoyama010) in
[https://github.com/codespell-project/codespell/pull/2475](https://togithub.com/codespell-project/codespell/pull/2475)
- MAINT: Add tests as submodule by
[@&#8203;larsoner](https://togithub.com/larsoner) in
[https://github.com/codespell-project/codespell/pull/2477](https://togithub.com/codespell-project/codespell/pull/2477)
- diffues->diffuse, defuse, by
[@&#8203;tkoyama010](https://togithub.com/tkoyama010) in
[https://github.com/codespell-project/codespell/pull/2476](https://togithub.com/codespell-project/codespell/pull/2476)
- conviencece->convenience by
[@&#8203;tkoyama010](https://togithub.com/tkoyama010) in
[https://github.com/codespell-project/codespell/pull/2474](https://togithub.com/codespell-project/codespell/pull/2474)
- htose->those, these, by
[@&#8203;tkoyama010](https://togithub.com/tkoyama010) in
[https://github.com/codespell-project/codespell/pull/2480](https://togithub.com/codespell-project/codespell/pull/2480)
- Add several spelling corrections by
[@&#8203;adrien-berchet](https://togithub.com/adrien-berchet) in
[https://github.com/codespell-project/codespell/pull/2461](https://togithub.com/codespell-project/codespell/pull/2461)
- move `ro` to code dictionary by
[@&#8203;robin-wayve](https://togithub.com/robin-wayve) in
[https://github.com/codespell-project/codespell/pull/2468](https://togithub.com/codespell-project/codespell/pull/2468)
- Add ascconciated->associated by
[@&#8203;peternewman](https://togithub.com/peternewman) in
[https://github.com/codespell-project/codespell/pull/2482](https://togithub.com/codespell-project/codespell/pull/2482)
- Fix various spelling corrections by
[@&#8203;luzpaz](https://togithub.com/luzpaz) in
[https://github.com/codespell-project/codespell/pull/2456](https://togithub.com/codespell-project/codespell/pull/2456)
- Add several spelling corrections by
[@&#8203;luzpaz](https://togithub.com/luzpaz) in
[https://github.com/codespell-project/codespell/pull/2481](https://togithub.com/codespell-project/codespell/pull/2481)
- Add sorkflow->workflow by
[@&#8203;peternewman](https://togithub.com/peternewman) in
[https://github.com/codespell-project/codespell/pull/2485](https://togithub.com/codespell-project/codespell/pull/2485)
- Add spelling corrections for install and variants. by
[@&#8203;cfi-gb](https://togithub.com/cfi-gb) in
[https://github.com/codespell-project/codespell/pull/2486](https://togithub.com/codespell-project/codespell/pull/2486)
- Capitalize all suggested fixes by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2223](https://togithub.com/codespell-project/codespell/pull/2223)
- Add several spelling corrections and refinements by
[@&#8203;luzpaz](https://togithub.com/luzpaz) in
[https://github.com/codespell-project/codespell/pull/2484](https://togithub.com/codespell-project/codespell/pull/2484)
- Add `knowladge->knowledge` by
[@&#8203;danielhoherd](https://togithub.com/danielhoherd) in
[https://github.com/codespell-project/codespell/pull/2493](https://togithub.com/codespell-project/codespell/pull/2493)
- Add several spelling corrections by
[@&#8203;ydah](https://togithub.com/ydah) in
[https://github.com/codespell-project/codespell/pull/2492](https://togithub.com/codespell-project/codespell/pull/2492)
- Change "circularly" to "circulary". by
[@&#8203;vinc17fr](https://togithub.com/vinc17fr) in
[https://github.com/codespell-project/codespell/pull/2422](https://togithub.com/codespell-project/codespell/pull/2422)
- Use `grep -E` instead of `egrep` by
[@&#8203;a1346054](https://togithub.com/a1346054) in
[https://github.com/codespell-project/codespell/pull/2496](https://togithub.com/codespell-project/codespell/pull/2496)
- move `warmup` to code dictionary by
[@&#8203;robin-wayve](https://togithub.com/robin-wayve) in
[https://github.com/codespell-project/codespell/pull/2495](https://togithub.com/codespell-project/codespell/pull/2495)
- downoload->download and friends by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2494](https://togithub.com/codespell-project/codespell/pull/2494)
- Add some alternative line endings and whitespace checks by
[@&#8203;peternewman](https://togithub.com/peternewman) in
[https://github.com/codespell-project/codespell/pull/2490](https://togithub.com/codespell-project/codespell/pull/2490)
- occulusion->occlusion by
[@&#8203;tkoyama010](https://togithub.com/tkoyama010) in
[https://github.com/codespell-project/codespell/pull/2502](https://togithub.com/codespell-project/codespell/pull/2502)
- Add another suggestion for relected by
[@&#8203;vinc17fr](https://togithub.com/vinc17fr) in
[https://github.com/codespell-project/codespell/pull/2501](https://togithub.com/codespell-project/codespell/pull/2501)
- add dependendenc(y|ies)->dependenc(y|ies) by
[@&#8203;robin-wayve](https://togithub.com/robin-wayve) in
[https://github.com/codespell-project/codespell/pull/2499](https://togithub.com/codespell-project/codespell/pull/2499)
- Add application(s) spelling corrections. by
[@&#8203;cfi-gb](https://togithub.com/cfi-gb) in
[https://github.com/codespell-project/codespell/pull/2503](https://togithub.com/codespell-project/codespell/pull/2503)
- Add spelling correction for place by
[@&#8203;adrien-berchet](https://togithub.com/adrien-berchet) in
[https://github.com/codespell-project/codespell/pull/2500](https://togithub.com/codespell-project/codespell/pull/2500)
- Add spelling correction by
[@&#8203;adrien-berchet](https://togithub.com/adrien-berchet) in
[https://github.com/codespell-project/codespell/pull/2498](https://togithub.com/codespell-project/codespell/pull/2498)
- 'analyses' is the plural of 'analysis' by
[@&#8203;quyykk](https://togithub.com/quyykk) in
[https://github.com/codespell-project/codespell/pull/2401](https://togithub.com/codespell-project/codespell/pull/2401)
- Add spelling corrections for dictionar(y|ies) by
[@&#8203;cfi-gb](https://togithub.com/cfi-gb) in
[https://github.com/codespell-project/codespell/pull/2509](https://togithub.com/codespell-project/codespell/pull/2509)
- Add spelling correction for export by
[@&#8203;adrien-berchet](https://togithub.com/adrien-berchet) in
[https://github.com/codespell-project/codespell/pull/2506](https://togithub.com/codespell-project/codespell/pull/2506)
- Fix
[#&#8203;2055](https://togithub.com/codespell-project/codespell/issues/2055):
Add support for PEP 518 by
[@&#8203;Freed-Wu](https://togithub.com/Freed-Wu) in
[https://github.com/codespell-project/codespell/pull/2290](https://togithub.com/codespell-project/codespell/pull/2290)
- Add regresison->regression by
[@&#8203;janosh](https://togithub.com/janosh) in
[https://github.com/codespell-project/codespell/pull/2518](https://togithub.com/codespell-project/codespell/pull/2518)
- DOC: Better docs by [@&#8203;larsoner](https://togithub.com/larsoner)
in
[https://github.com/codespell-project/codespell/pull/2515](https://togithub.com/codespell-project/codespell/pull/2515)
- Fix build_exclude_hashes fails: UnicodeDecodeError: 'charmap' codec
can't decode byte 0x81 in position 2244: character maps to <undefined>
by [@&#8203;JoergAtGithub](https://togithub.com/JoergAtGithub) in
[https://github.com/codespell-project/codespell/pull/2520](https://togithub.com/codespell-project/codespell/pull/2520)
- Add alternative for 'bu' by
[@&#8203;flyingdutchman23](https://togithub.com/flyingdutchman23) in
[https://github.com/codespell-project/codespell/pull/2514](https://togithub.com/codespell-project/codespell/pull/2514)
- Add alternative for 'tooo' by
[@&#8203;flyingdutchman23](https://togithub.com/flyingdutchman23) in
[https://github.com/codespell-project/codespell/pull/2513](https://togithub.com/codespell-project/codespell/pull/2513)
- Fix uncaught exception on empty files by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[https://github.com/codespell-project/codespell/pull/2195](https://togithub.com/codespell-project/codespell/pull/2195)
- Add combintaion(s)->combination(s) by
[@&#8203;janosh](https://togithub.com/janosh) in
[https://github.com/codespell-project/codespell/pull/2524](https://togithub.com/codespell-project/codespell/pull/2524)
- MAINT: Use pyproject and setuptools_scm by
[@&#8203;larsoner](https://togithub.com/larsoner) in
[https://github.com/codespell-project/codespell/pull/2523](https://togithub.com/codespell-project/codespell/pull/2523)

#### New Contributors

- [@&#8203;ydah](https://togithub.com/ydah) made their first
contribution in
[https://github.com/codespell-project/codespell/pull/2467](https://togithub.com/codespell-project/codespell/pull/2467)
- [@&#8203;adrien-berchet](https://togithub.com/adrien-berchet) made
their first contribution in
[https://github.com/codespell-project/codespell/pull/2461](https://togithub.com/codespell-project/codespell/pull/2461)
- [@&#8203;danielhoherd](https://togithub.com/danielhoherd) made their
first contribution in
[https://github.com/codespell-project/codespell/pull/2493](https://togithub.com/codespell-project/codespell/pull/2493)
- [@&#8203;quyykk](https://togithub.com/quyykk) made their first
contribution in
[https://github.com/codespell-project/codespell/pull/2401](https://togithub.com/codespell-project/codespell/pull/2401)
- [@&#8203;Freed-Wu](https://togithub.com/Freed-Wu) made their first
contribution in
[https://github.com/codespell-project/codespell/pull/2290](https://togithub.com/codespell-project/codespell/pull/2290)
- [@&#8203;janosh](https://togithub.com/janosh) made their first
contribution in
[https://github.com/codespell-project/codespell/pull/2518](https://togithub.com/codespell-project/codespell/pull/2518)
- [@&#8203;JoergAtGithub](https://togithub.com/JoergAtGithub) made their
first contrib

</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:eyJjcmVhdGVkSW5WZXIiOiIzNS4yMi4xIiwidXBkYXRlZEluVmVyIjoiMzUuMjIuMSJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
github-actions bot pushed a commit to nix-community/nixpkgs.lib that referenced this pull request May 31, 2023
; Conflicts:
;	pkgs/development/tools/codespell/default.nix

codespell 2.2.2 switched to pyproject & setuptools_scm:
codespell-project/codespell#2523
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants