check-python-versions 0.24.0__tar.gz → 0.24.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. {check_python_versions-0.24.0 → check_python_versions-0.24.2}/CHANGES.rst +17 -0
  2. {check_python_versions-0.24.0 → check_python_versions-0.24.2}/PKG-INFO +2 -2
  3. {check_python_versions-0.24.0 → check_python_versions-0.24.2}/README.rst +1 -1
  4. {check_python_versions-0.24.0 → check_python_versions-0.24.2}/src/check_python_versions/__init__.py +1 -1
  5. {check_python_versions-0.24.0 → check_python_versions-0.24.2}/src/check_python_versions/sources/github.py +4 -1
  6. {check_python_versions-0.24.0 → check_python_versions-0.24.2}/src/check_python_versions/sources/tox.py +8 -4
  7. {check_python_versions-0.24.0 → check_python_versions-0.24.2}/src/check_python_versions.egg-info/PKG-INFO +2 -2
  8. {check_python_versions-0.24.0 → check_python_versions-0.24.2}/tests/sources/test_github.py +1 -0
  9. {check_python_versions-0.24.0 → check_python_versions-0.24.2}/tests/sources/test_tox.py +8 -1
  10. {check_python_versions-0.24.0 → check_python_versions-0.24.2}/tox.ini +36 -0
  11. {check_python_versions-0.24.0 → check_python_versions-0.24.2}/.coveragerc +0 -0
  12. {check_python_versions-0.24.0 → check_python_versions-0.24.2}/.gitignore +0 -0
  13. {check_python_versions-0.24.0 → check_python_versions-0.24.2}/.pre-commit-hooks.yaml +0 -0
  14. {check_python_versions-0.24.0 → check_python_versions-0.24.2}/CLASSIFIERS +0 -0
  15. {check_python_versions-0.24.0 → check_python_versions-0.24.2}/LICENSE +0 -0
  16. {check_python_versions-0.24.0 → check_python_versions-0.24.2}/MANIFEST.in +0 -0
  17. {check_python_versions-0.24.0 → check_python_versions-0.24.2}/Makefile +0 -0
  18. {check_python_versions-0.24.0 → check_python_versions-0.24.2}/check-python-versions +0 -0
  19. {check_python_versions-0.24.0 → check_python_versions-0.24.2}/pytest.ini +0 -0
  20. {check_python_versions-0.24.0 → check_python_versions-0.24.2}/release.mk +0 -0
  21. {check_python_versions-0.24.0 → check_python_versions-0.24.2}/setup.cfg +0 -0
  22. {check_python_versions-0.24.0 → check_python_versions-0.24.2}/setup.py +0 -0
  23. {check_python_versions-0.24.0 → check_python_versions-0.24.2}/src/check_python_versions/__main__.py +0 -0
  24. {check_python_versions-0.24.0 → check_python_versions-0.24.2}/src/check_python_versions/cli.py +0 -0
  25. {check_python_versions-0.24.0 → check_python_versions-0.24.2}/src/check_python_versions/parsers/__init__.py +0 -0
  26. {check_python_versions-0.24.0 → check_python_versions-0.24.2}/src/check_python_versions/parsers/classifiers.py +0 -0
  27. {check_python_versions-0.24.0 → check_python_versions-0.24.2}/src/check_python_versions/parsers/ini.py +0 -0
  28. {check_python_versions-0.24.0 → check_python_versions-0.24.2}/src/check_python_versions/parsers/poetry_version_spec.py +0 -0
  29. {check_python_versions-0.24.0 → check_python_versions-0.24.2}/src/check_python_versions/parsers/python.py +0 -0
  30. {check_python_versions-0.24.0 → check_python_versions-0.24.2}/src/check_python_versions/parsers/requires_python.py +0 -0
  31. {check_python_versions-0.24.0 → check_python_versions-0.24.2}/src/check_python_versions/parsers/yaml.py +0 -0
  32. {check_python_versions-0.24.0 → check_python_versions-0.24.2}/src/check_python_versions/sources/__init__.py +0 -0
  33. {check_python_versions-0.24.0 → check_python_versions-0.24.2}/src/check_python_versions/sources/all.py +0 -0
  34. {check_python_versions-0.24.0 → check_python_versions-0.24.2}/src/check_python_versions/sources/appveyor.py +0 -0
  35. {check_python_versions-0.24.0 → check_python_versions-0.24.2}/src/check_python_versions/sources/base.py +0 -0
  36. {check_python_versions-0.24.0 → check_python_versions-0.24.2}/src/check_python_versions/sources/manylinux.py +0 -0
  37. {check_python_versions-0.24.0 → check_python_versions-0.24.2}/src/check_python_versions/sources/pyproject.py +0 -0
  38. {check_python_versions-0.24.0 → check_python_versions-0.24.2}/src/check_python_versions/sources/setup_py.py +0 -0
  39. {check_python_versions-0.24.0 → check_python_versions-0.24.2}/src/check_python_versions/sources/travis.py +0 -0
  40. {check_python_versions-0.24.0 → check_python_versions-0.24.2}/src/check_python_versions/utils.py +0 -0
  41. {check_python_versions-0.24.0 → check_python_versions-0.24.2}/src/check_python_versions/versions.py +0 -0
  42. {check_python_versions-0.24.0 → check_python_versions-0.24.2}/src/check_python_versions.egg-info/SOURCES.txt +0 -0
  43. {check_python_versions-0.24.0 → check_python_versions-0.24.2}/src/check_python_versions.egg-info/dependency_links.txt +0 -0
  44. {check_python_versions-0.24.0 → check_python_versions-0.24.2}/src/check_python_versions.egg-info/entry_points.txt +0 -0
  45. {check_python_versions-0.24.0 → check_python_versions-0.24.2}/src/check_python_versions.egg-info/not-zip-safe +0 -0
  46. {check_python_versions-0.24.0 → check_python_versions-0.24.2}/src/check_python_versions.egg-info/requires.txt +0 -0
  47. {check_python_versions-0.24.0 → check_python_versions-0.24.2}/src/check_python_versions.egg-info/top_level.txt +0 -0
  48. {check_python_versions-0.24.0 → check_python_versions-0.24.2}/tests/__init__.py +0 -0
  49. {check_python_versions-0.24.0 → check_python_versions-0.24.2}/tests/conftest.py +0 -0
  50. {check_python_versions-0.24.0 → check_python_versions-0.24.2}/tests/parsers/test_classifiers.py +0 -0
  51. {check_python_versions-0.24.0 → check_python_versions-0.24.2}/tests/parsers/test_ini.py +0 -0
  52. {check_python_versions-0.24.0 → check_python_versions-0.24.2}/tests/parsers/test_poetry_version_spec.py +0 -0
  53. {check_python_versions-0.24.0 → check_python_versions-0.24.2}/tests/parsers/test_python.py +0 -0
  54. {check_python_versions-0.24.0 → check_python_versions-0.24.2}/tests/parsers/test_requires_python.py +0 -0
  55. {check_python_versions-0.24.0 → check_python_versions-0.24.2}/tests/parsers/test_yaml.py +0 -0
  56. {check_python_versions-0.24.0 → check_python_versions-0.24.2}/tests/sources/test_appveyor.py +0 -0
  57. {check_python_versions-0.24.0 → check_python_versions-0.24.2}/tests/sources/test_manylinux.py +0 -0
  58. {check_python_versions-0.24.0 → check_python_versions-0.24.2}/tests/sources/test_pyproject.py +0 -0
  59. {check_python_versions-0.24.0 → check_python_versions-0.24.2}/tests/sources/test_setup_py.py +0 -0
  60. {check_python_versions-0.24.0 → check_python_versions-0.24.2}/tests/sources/test_travis.py +0 -0
  61. {check_python_versions-0.24.0 → check_python_versions-0.24.2}/tests/test___main__.py +0 -0
  62. {check_python_versions-0.24.0 → check_python_versions-0.24.2}/tests/test_cli.py +0 -0
  63. {check_python_versions-0.24.0 → check_python_versions-0.24.2}/tests/test_utils.py +0 -0
  64. {check_python_versions-0.24.0 → check_python_versions-0.24.2}/tests/test_versions.py +0 -0
@@ -1,6 +1,23 @@
1
1
  Changelog
2
2
  =========
3
3
 
4
+ 0.24.2 (2026-04-14)
5
+ -------------------
6
+
7
+ - Consider free-threaded builds (e.g. 3.14t) to be equivalent to regular builds
8
+ in GitHub Actions. `#GH 51
9
+ <https://github.com/mgedmin/check-python-versions/issues/51>`_.
10
+
11
+
12
+ 0.24.1 (2026-04-14)
13
+ -------------------
14
+
15
+ - Improve tox environment name parsing: accept dotted names (e.g. py3.14),
16
+ more specific pypy versions (pypy311). `GH #38
17
+ <https://github.com/mgedmin/check-python-versions/issues/38>`_ and `GH #50
18
+ <https://github.com/mgedmin/check-python-versions/issues/50>`_.
19
+
20
+
4
21
  0.24.0 (2025-11-13)
5
22
  -------------------
6
23
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: check-python-versions
3
- Version: 0.24.0
3
+ Version: 0.24.2
4
4
  Summary: Compare supported Python versions in setup.py vs tox.ini et al.
5
5
  Home-page: https://github.com/mgedmin/check-python-versions
6
6
  Author: Marius Gedminas
@@ -426,6 +426,6 @@ Add the following snippet to your ``.pre-commit-config.yaml``.
426
426
 
427
427
  repos:
428
428
  - repo: https://github.com/mgedmin/check-python-versions
429
- rev: "0.24.0"
429
+ rev: "0.24.2"
430
430
  hooks:
431
431
  - id: check-python-versions
@@ -384,6 +384,6 @@ Add the following snippet to your ``.pre-commit-config.yaml``.
384
384
 
385
385
  repos:
386
386
  - repo: https://github.com/mgedmin/check-python-versions
387
- rev: "0.24.0"
387
+ rev: "0.24.2"
388
388
  hooks:
389
389
  - id: check-python-versions
@@ -13,4 +13,4 @@ Makes sure the set of supported Python versions is consistent between
13
13
  """
14
14
 
15
15
  __author__ = 'Marius Gedminas <marius@gedmin.as>'
16
- __version__ = '0.24.0'
16
+ __version__ = '0.24.2'
@@ -80,7 +80,10 @@ def parse_gh_ver(v: str | float) -> Version:
80
80
  elif v.startswith(('pypy2', 'pypy-2')):
81
81
  return Version.from_string('PyPy')
82
82
  else:
83
- return Version.from_string(v)
83
+ ver = Version.from_string(v)
84
+ if ver.suffix == 't':
85
+ return ver._replace(suffix='')
86
+ return ver
84
87
 
85
88
 
86
89
  def update_gha_python_versions(
@@ -101,14 +101,18 @@ def tox_env_to_py_version(env: str) -> Version | None:
101
101
 
102
102
  If the environment name has dashes, only the first part is considered,
103
103
  e.g. py34-django20 becomes '3.4', and jython-docs becomes 'jython'.
104
+ (This is probably incorrect, I think tox itself allows the Python
105
+ factor to be in any position, e.g. orange-py3.11.)
104
106
  """
105
107
  if '-' in env:
106
108
  # e.g. py34-coverage, pypy-subunit
107
109
  env = env.partition('-')[0]
108
- if env.startswith('pypy'):
109
- return Version.from_string('PyPy' + env[4:])
110
- elif env.startswith('py') and len(env) >= 4 and env[2:].isdigit():
111
- return Version.from_string(f'{env[2]}.{env[3:]}')
110
+ if env.startswith('pypy3'):
111
+ return Version.from_string('PyPy3')
112
+ if env == 'pypy' or env.startswith('pypy2'):
113
+ return Version.from_string('PyPy')
114
+ elif m := re.match(r'^py([2-3])[.]?([0-9]+)t?$', env):
115
+ return Version.from_string(f'{m[1]}.{m[2]}')
112
116
  else:
113
117
  return None
114
118
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: check-python-versions
3
- Version: 0.24.0
3
+ Version: 0.24.2
4
4
  Summary: Compare supported Python versions in setup.py vs tox.ini et al.
5
5
  Home-page: https://github.com/mgedmin/check-python-versions
6
6
  Author: Marius Gedminas
@@ -426,6 +426,6 @@ Add the following snippet to your ``.pre-commit-config.yaml``.
426
426
 
427
427
  repos:
428
428
  - repo: https://github.com/mgedmin/check-python-versions
429
- rev: "0.24.0"
429
+ rev: "0.24.2"
430
430
  hooks:
431
431
  - id: check-python-versions
@@ -130,6 +130,7 @@ def test_get_gha_python_versions_no_version_matrix():
130
130
  @pytest.mark.parametrize('s, expected', [
131
131
  (3.6, '3.6'),
132
132
  ('3.7', '3.7'),
133
+ ('3.14t', '3.14'),
133
134
  ('pypy2', 'PyPy'),
134
135
  ('pypy3', 'PyPy3'),
135
136
  ('pypy-2.7', 'PyPy'),
@@ -91,9 +91,16 @@ def test_brace_expand(s, expected):
91
91
  @pytest.mark.parametrize('s, expected', [
92
92
  ('py36', '3.6'),
93
93
  ('py37-lint', '3.7'),
94
- ('py310', '3.10'), # future-proofness!
94
+ ('py3.9', '3.9'),
95
+ ('py310', '3.10'),
96
+ ('py3.10', '3.10'),
97
+ ('py314t', '3.14'),
98
+ ('py3.14t', '3.14'),
95
99
  ('pypy', 'PyPy'),
100
+ ('pypy2', 'PyPy'),
96
101
  ('pypy3', 'PyPy3'),
102
+ ('pypy311', 'PyPy3'),
103
+ ('pypy3.11', 'PyPy3'),
97
104
  ('pylint', None),
98
105
  ('flake8', None),
99
106
  ])
@@ -40,6 +40,42 @@ commands =
40
40
  # not checking tests/ because I don't want strict mode there, and mypy
41
41
  # ignores my [mypy-tests] strict = false in setup.cfg
42
42
 
43
+ [testenv:ty]
44
+ skip_install = true
45
+ deps =
46
+ ty
47
+ tomlkit
48
+ types-pyyaml
49
+ commands =
50
+ ty check src {posargs}
51
+
52
+ [testenv:pyrefly]
53
+ skip_install = true
54
+ deps =
55
+ pyrefly
56
+ tomlkit
57
+ types-pyyaml
58
+ commands =
59
+ pyrefly check src {posargs}
60
+
61
+ [testenv:pyright]
62
+ skip_install = true
63
+ deps =
64
+ pyright
65
+ tomlkit
66
+ types-pyyaml
67
+ commands =
68
+ pyright src {posargs}
69
+
70
+ [testenv:basedpyright]
71
+ skip_install = true
72
+ deps =
73
+ basedpyright
74
+ tomlkit
75
+ types-pyyaml
76
+ commands =
77
+ basedpyright src {posargs}
78
+
43
79
  [testenv:isort]
44
80
  basepython = python3
45
81
  skip_install = true