Skip to content

Conversation

@kurtmckee
Copy link
Contributor

@kurtmckee kurtmckee commented Oct 14, 2025

This commit introduces the following major changes:

  • Use tox.
  • Test the project against both unidecode and text_unidecode.
    Previously, unidecode was untested.
  • Drop support for Python 3.7, 3.8, and 3.9.
    CI was unable to run because Python 3.7 is no longer available.
    In addition, Python 3.9 and lower are all end-of-life.
  • Test against PyPy 3.11 and Python 3.14.
  • Test type annotations using mypy.
    Previously, type annotations were untested.
  • Install and test all supported Python interpreters in CI at once.
  • Use tox, and the tox-uv plugin, exclusively in CI.
    This eliminates differences between local and CI testing.
  • Run CI against pull requests.
  • Collect, combine, and report coverage
    for all Python versions and dependencies, locally and in CI.

In addition, this commit introduces the following minor changes:

  • Fix typing issues identified by mypy.
    Note that text_unidecode is untyped and must be type-ignored.
  • Remove almost all coverage pragma: nocover lines.
  • Fix incorrect copy/pasted comments in ci.yml and main.yml.
  • Upgrade actions/checkout to v5 and actions/setup-python to v6.

Taken together, these changes improve the health of the project by ensuring that the test suite can be run locally, tests all dependencies, runs successfully in CI, and that there is no drift between CI and local testing.

Here is an example of a CI run using the code in this PR.

This commit introduces the following major changes:

* Use tox.
* Test the project against both `unidecode` and `text_unidecode`.
  Previously, `unidecode` was untested.
* Drop support for Python 3.7, 3.8, and 3.9.
  CI was unable to run because Python 3.7 is no longer available.
  In addition, Python 3.9 and lower are all end-of-life.
* Test against PyPy 3.11 and Python 3.14.
* Test type annotations using mypy.
  Previously, type annotations were untested.
* Install and test all supported Python interpreters in CI at once.
* Use tox, and the tox-uv plugin, exclusively in CI.
  This eliminates differences between local and CI testing.
* Run CI against pull requests.
* Collect, combine, and report coverage
  for all Python versions and dependencies, locally and in CI.

In addition, this commit introduces the following minor changes:

* Fix typing issues identified by mypy.
  Note that `text_unidecode` is untyped and must be type-ignored.
* Remove almost all coverage `pragma: nocover` lines.
* Fix incorrect copy/pasted comments in `ci.yml` and `main.yml`.
* Upgrade `actions/checkout` to v5 and `actions/setup-python` to v6.
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.

1 participant