typing-protocol-intersection 0.6.0__tar.gz → 0.6.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 (37) hide show
  1. {typing_protocol_intersection-0.6.0 → typing_protocol_intersection-0.6.2}/CHANGELOG.md +8 -0
  2. {typing_protocol_intersection-0.6.0 → typing_protocol_intersection-0.6.2}/Makefile +1 -1
  3. {typing_protocol_intersection-0.6.0 → typing_protocol_intersection-0.6.2}/PKG-INFO +2 -2
  4. {typing_protocol_intersection-0.6.0 → typing_protocol_intersection-0.6.2}/README.md +1 -1
  5. {typing_protocol_intersection-0.6.0 → typing_protocol_intersection-0.6.2}/pyproject.toml +1 -1
  6. {typing_protocol_intersection-0.6.0 → typing_protocol_intersection-0.6.2}/tests/test_mypy_plugin.py +3 -1
  7. {typing_protocol_intersection-0.6.0 → typing_protocol_intersection-0.6.2}/typing_protocol_intersection/mypy_plugin.py +1 -1
  8. typing_protocol_intersection-0.6.2/uv.lock +1075 -0
  9. typing_protocol_intersection-0.6.0/uv.lock +0 -960
  10. {typing_protocol_intersection-0.6.0 → typing_protocol_intersection-0.6.2}/.github/workflows/ci.yml +0 -0
  11. {typing_protocol_intersection-0.6.0 → typing_protocol_intersection-0.6.2}/.gitignore +0 -0
  12. {typing_protocol_intersection-0.6.0 → typing_protocol_intersection-0.6.2}/DEVELOPMENT.md +0 -0
  13. {typing_protocol_intersection-0.6.0 → typing_protocol_intersection-0.6.2}/LICENSE +0 -0
  14. {typing_protocol_intersection-0.6.0 → typing_protocol_intersection-0.6.2}/tests/conftest.py +0 -0
  15. {typing_protocol_intersection-0.6.0 → typing_protocol_intersection-0.6.2}/tests/test-mypy.ini +0 -0
  16. {typing_protocol_intersection-0.6.0 → typing_protocol_intersection-0.6.2}/tests/test_past_issues/test_4_mypy_cache/input.py +0 -0
  17. {typing_protocol_intersection-0.6.0 → typing_protocol_intersection-0.6.2}/tests/test_past_issues/test_4_mypy_cache/test_4_mypy_cache.py +0 -0
  18. {typing_protocol_intersection-0.6.0 → typing_protocol_intersection-0.6.2}/tests/test_past_issues/test_8_non_protocol_member/__init__.py +0 -0
  19. {typing_protocol_intersection-0.6.0 → typing_protocol_intersection-0.6.2}/tests/test_past_issues/test_8_non_protocol_member/input.py +0 -0
  20. {typing_protocol_intersection-0.6.0 → typing_protocol_intersection-0.6.2}/tests/test_past_issues/test_8_non_protocol_member/test_8_non_protocol_member.py +0 -0
  21. {typing_protocol_intersection-0.6.0 → typing_protocol_intersection-0.6.2}/tests/test_python_module.py +0 -0
  22. {typing_protocol_intersection-0.6.0 → typing_protocol_intersection-0.6.2}/tests/testcases/fails_for_non_protocols.py +0 -0
  23. {typing_protocol_intersection-0.6.0 → typing_protocol_intersection-0.6.2}/tests/testcases/function_return_type_happy_path.py +0 -0
  24. {typing_protocol_intersection-0.6.0 → typing_protocol_intersection-0.6.2}/tests/testcases/function_return_type_unhappy_path.py +0 -0
  25. {typing_protocol_intersection-0.6.0 → typing_protocol_intersection-0.6.2}/tests/testcases/in_generic_param_happy_path.py +0 -0
  26. {typing_protocol_intersection-0.6.0 → typing_protocol_intersection-0.6.2}/tests/testcases/in_generic_param_happy_path_covariant.py +0 -0
  27. {typing_protocol_intersection-0.6.0 → typing_protocol_intersection-0.6.2}/tests/testcases/in_generic_param_unhappy_path.py +0 -0
  28. {typing_protocol_intersection-0.6.0 → typing_protocol_intersection-0.6.2}/tests/testcases/multiple_params_happy_path.py +0 -0
  29. {typing_protocol_intersection-0.6.0 → typing_protocol_intersection-0.6.2}/tests/testcases/multiple_params_unhappy_path.py +0 -0
  30. {typing_protocol_intersection-0.6.0 → typing_protocol_intersection-0.6.2}/tests/testcases/protocol_extending_another_builder_happy_path.py +0 -0
  31. {typing_protocol_intersection-0.6.0 → typing_protocol_intersection-0.6.2}/tests/testcases/protocol_extending_another_builder_unhappy_path.py +0 -0
  32. {typing_protocol_intersection-0.6.0 → typing_protocol_intersection-0.6.2}/tests/testcases/protocol_extending_another_method_happy_path.py +0 -0
  33. {typing_protocol_intersection-0.6.0 → typing_protocol_intersection-0.6.2}/tests/testcases/protocol_extending_another_property_happy_path.py +0 -0
  34. {typing_protocol_intersection-0.6.0 → typing_protocol_intersection-0.6.2}/tools/prepare-pr-after-mypy-bump.sh +0 -0
  35. {typing_protocol_intersection-0.6.0 → typing_protocol_intersection-0.6.2}/typing_protocol_intersection/__init__.py +0 -0
  36. {typing_protocol_intersection-0.6.0 → typing_protocol_intersection-0.6.2}/typing_protocol_intersection/py.typed +0 -0
  37. {typing_protocol_intersection-0.6.0 → typing_protocol_intersection-0.6.2}/typing_protocol_intersection/types.py +0 -0
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.6.2
4
+
5
+ Add support for mypy==1.20.x.
6
+
7
+ ## 0.6.1
8
+
9
+ Add support for mypy==1.19.x.
10
+
3
11
  ## 0.6.0
4
12
 
5
13
  - Drop support for Python 3.9.
@@ -45,7 +45,7 @@ test-version: ## Run tests with specific Python and mypy versions (PYTHON=3.10 [
45
45
  uv run --python $(PYTHON) --with mypy==$(MYPY) pytest -vv --cov=typing_protocol_intersection; \
46
46
  else \
47
47
  echo "Running tests on Python $(PYTHON) with latest mypy..."; \
48
- uv run --python $(PYTHON) pytest -vv --cov=typing_protocol_intersection; \
48
+ uv run --python $(PYTHON) --with mypy --upgrade pytest -vv --cov=typing_protocol_intersection; \
49
49
  fi
50
50
 
51
51
  .PHONY: test-all
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: typing-protocol-intersection
3
- Version: 0.6.0
3
+ Version: 0.6.2
4
4
  Summary: Protocol intersection for mypy
5
5
  Project-URL: Homepage, https://github.com/klausweiss/typing-protocol-intersection
6
6
  Project-URL: Bug Tracker, https://github.com/klausweiss/typing-protocol-intersection/issues
@@ -32,7 +32,7 @@ See the [examples](#examples) section below.
32
32
 
33
33
  ## Supported versions
34
34
 
35
- The plugin supports python 3.10 up to 3.14 and mypy >= 1.5.0 and <= 1.18.x.
35
+ The plugin supports python 3.10 up to 3.14 and mypy >= 1.5.0 and <= 1.20.x.
36
36
 
37
37
  ## Installation
38
38
 
@@ -12,7 +12,7 @@ See the [examples](#examples) section below.
12
12
 
13
13
  ## Supported versions
14
14
 
15
- The plugin supports python 3.10 up to 3.14 and mypy >= 1.5.0 and <= 1.18.x.
15
+ The plugin supports python 3.10 up to 3.14 and mypy >= 1.5.0 and <= 1.20.x.
16
16
 
17
17
  ## Installation
18
18
 
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "typing-protocol-intersection"
7
- version = "0.6.0"
7
+ version = "0.6.2"
8
8
  description = "Protocol intersection for mypy"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
@@ -104,7 +104,7 @@ def test_mypy_plugin(testcase_file: _TestCase, run_mypy):
104
104
  [
105
105
  pytest.param("0.920", id="0.920 - way before the first supported 1.5.0"),
106
106
  pytest.param("1.4.0", id="1.4.0 - before the first supported 1.5.0"),
107
- pytest.param("1.19.0", id="1.19.0 - first greater than 1.18.x with breaking changes"),
107
+ pytest.param("1.21.0", id="1.21.0 - first greater than 1.20.x with breaking changes"),
108
108
  ],
109
109
  )
110
110
  def test_raises_for_unsupported_mypy_versions(version: str) -> None:
@@ -128,6 +128,8 @@ def test_raises_for_unsupported_mypy_versions(version: str) -> None:
128
128
  pytest.param("1.14.0", id="1.14.0 - some 1.14.x version"),
129
129
  pytest.param("1.15.0", id="1.15.0 - some 1.15.x version"),
130
130
  pytest.param("1.18.2", id="1.18.2 - some 1.18.x version"),
131
+ pytest.param("1.19.0", id="1.19.0 - some 1.19.x version"),
132
+ pytest.param("1.20.0", id="1.20.0 - some 1.20.x version"),
131
133
  ],
132
134
  )
133
135
  def test_initializes_for_supported_mypy_versions(version: str) -> None:
@@ -203,7 +203,7 @@ def plugin(version: str) -> type[mypy.plugin.Plugin]:
203
203
  version_prefix, *_ = version.split("dev.", maxsplit=1) # stripping +dev.f6a8037cc... suffix if applicable
204
204
  numeric_prefixes = (_numeric_prefix(x) for x in version_prefix.split("."))
205
205
  parted_version = tuple(int(prefix) if prefix else None for prefix in numeric_prefixes)
206
- if len(parted_version) == 3 and (1, 5, 0) <= parted_version < (1, 19, 0):
206
+ if len(parted_version) == 3 and (1, 5, 0) <= parted_version < (1, 21, 0):
207
207
  return ProtocolIntersectionPlugin
208
208
 
209
209
  raise NotImplementedError(f"typing-protocol-intersection does not support mypy=={version}")