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.
- {typing_protocol_intersection-0.6.0 → typing_protocol_intersection-0.6.2}/CHANGELOG.md +8 -0
- {typing_protocol_intersection-0.6.0 → typing_protocol_intersection-0.6.2}/Makefile +1 -1
- {typing_protocol_intersection-0.6.0 → typing_protocol_intersection-0.6.2}/PKG-INFO +2 -2
- {typing_protocol_intersection-0.6.0 → typing_protocol_intersection-0.6.2}/README.md +1 -1
- {typing_protocol_intersection-0.6.0 → typing_protocol_intersection-0.6.2}/pyproject.toml +1 -1
- {typing_protocol_intersection-0.6.0 → typing_protocol_intersection-0.6.2}/tests/test_mypy_plugin.py +3 -1
- {typing_protocol_intersection-0.6.0 → typing_protocol_intersection-0.6.2}/typing_protocol_intersection/mypy_plugin.py +1 -1
- typing_protocol_intersection-0.6.2/uv.lock +1075 -0
- typing_protocol_intersection-0.6.0/uv.lock +0 -960
- {typing_protocol_intersection-0.6.0 → typing_protocol_intersection-0.6.2}/.github/workflows/ci.yml +0 -0
- {typing_protocol_intersection-0.6.0 → typing_protocol_intersection-0.6.2}/.gitignore +0 -0
- {typing_protocol_intersection-0.6.0 → typing_protocol_intersection-0.6.2}/DEVELOPMENT.md +0 -0
- {typing_protocol_intersection-0.6.0 → typing_protocol_intersection-0.6.2}/LICENSE +0 -0
- {typing_protocol_intersection-0.6.0 → typing_protocol_intersection-0.6.2}/tests/conftest.py +0 -0
- {typing_protocol_intersection-0.6.0 → typing_protocol_intersection-0.6.2}/tests/test-mypy.ini +0 -0
- {typing_protocol_intersection-0.6.0 → typing_protocol_intersection-0.6.2}/tests/test_past_issues/test_4_mypy_cache/input.py +0 -0
- {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
- {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
- {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
- {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
- {typing_protocol_intersection-0.6.0 → typing_protocol_intersection-0.6.2}/tests/test_python_module.py +0 -0
- {typing_protocol_intersection-0.6.0 → typing_protocol_intersection-0.6.2}/tests/testcases/fails_for_non_protocols.py +0 -0
- {typing_protocol_intersection-0.6.0 → typing_protocol_intersection-0.6.2}/tests/testcases/function_return_type_happy_path.py +0 -0
- {typing_protocol_intersection-0.6.0 → typing_protocol_intersection-0.6.2}/tests/testcases/function_return_type_unhappy_path.py +0 -0
- {typing_protocol_intersection-0.6.0 → typing_protocol_intersection-0.6.2}/tests/testcases/in_generic_param_happy_path.py +0 -0
- {typing_protocol_intersection-0.6.0 → typing_protocol_intersection-0.6.2}/tests/testcases/in_generic_param_happy_path_covariant.py +0 -0
- {typing_protocol_intersection-0.6.0 → typing_protocol_intersection-0.6.2}/tests/testcases/in_generic_param_unhappy_path.py +0 -0
- {typing_protocol_intersection-0.6.0 → typing_protocol_intersection-0.6.2}/tests/testcases/multiple_params_happy_path.py +0 -0
- {typing_protocol_intersection-0.6.0 → typing_protocol_intersection-0.6.2}/tests/testcases/multiple_params_unhappy_path.py +0 -0
- {typing_protocol_intersection-0.6.0 → typing_protocol_intersection-0.6.2}/tests/testcases/protocol_extending_another_builder_happy_path.py +0 -0
- {typing_protocol_intersection-0.6.0 → typing_protocol_intersection-0.6.2}/tests/testcases/protocol_extending_another_builder_unhappy_path.py +0 -0
- {typing_protocol_intersection-0.6.0 → typing_protocol_intersection-0.6.2}/tests/testcases/protocol_extending_another_method_happy_path.py +0 -0
- {typing_protocol_intersection-0.6.0 → typing_protocol_intersection-0.6.2}/tests/testcases/protocol_extending_another_property_happy_path.py +0 -0
- {typing_protocol_intersection-0.6.0 → typing_protocol_intersection-0.6.2}/tools/prepare-pr-after-mypy-bump.sh +0 -0
- {typing_protocol_intersection-0.6.0 → typing_protocol_intersection-0.6.2}/typing_protocol_intersection/__init__.py +0 -0
- {typing_protocol_intersection-0.6.0 → typing_protocol_intersection-0.6.2}/typing_protocol_intersection/py.typed +0 -0
- {typing_protocol_intersection-0.6.0 → typing_protocol_intersection-0.6.2}/typing_protocol_intersection/types.py +0 -0
|
@@ -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.
|
|
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.
|
|
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
|
|
{typing_protocol_intersection-0.6.0 → typing_protocol_intersection-0.6.2}/tests/test_mypy_plugin.py
RENAMED
|
@@ -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.
|
|
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,
|
|
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}")
|