diff options
| author | robot-piglet <[email protected]> | 2025-10-21 10:58:31 +0300 |
|---|---|---|
| committer | robot-piglet <[email protected]> | 2025-10-21 11:28:49 +0300 |
| commit | 89b6a9fcaf345dba54c9041fa0b404f1fb4eb64d (patch) | |
| tree | 4fd38da7d2f1352562290c4f136e2c5f06d6aea3 /contrib/python/multidict | |
| parent | f7a051493b9244fe7df62b1d0f9b559f1713df10 (diff) | |
Intermediate changes
commit_hash:7559344da5c2facb873c98b244b75db040397437
Diffstat (limited to 'contrib/python/multidict')
| -rw-r--r-- | contrib/python/multidict/.dist-info/METADATA | 3 | ||||
| -rw-r--r-- | contrib/python/multidict/multidict/__init__.py | 17 | ||||
| -rw-r--r-- | contrib/python/multidict/tests/isolated/multidict_pop.py | 4 | ||||
| -rw-r--r-- | contrib/python/multidict/tests/test_istr.py | 15 | ||||
| -rw-r--r-- | contrib/python/multidict/ya.make | 2 |
5 files changed, 21 insertions, 20 deletions
diff --git a/contrib/python/multidict/.dist-info/METADATA b/contrib/python/multidict/.dist-info/METADATA index b136b6cf70c..1ab8dd6468c 100644 --- a/contrib/python/multidict/.dist-info/METADATA +++ b/contrib/python/multidict/.dist-info/METADATA @@ -1,6 +1,6 @@ Metadata-Version: 2.4 Name: multidict -Version: 6.6.4 +Version: 6.7.0 Summary: multidict implementation Home-page: https://github.com/aio-libs/multidict Author: Andrew Svetlov @@ -24,6 +24,7 @@ Classifier: Programming Language :: Python :: 3.10 Classifier: Programming Language :: Python :: 3.11 Classifier: Programming Language :: Python :: 3.12 Classifier: Programming Language :: Python :: 3.13 +Classifier: Programming Language :: Python :: 3.14 Requires-Python: >=3.9 Description-Content-Type: text/x-rst License-File: LICENSE diff --git a/contrib/python/multidict/multidict/__init__.py b/contrib/python/multidict/multidict/__init__.py index bd03149defc..a688932e52f 100644 --- a/contrib/python/multidict/multidict/__init__.py +++ b/contrib/python/multidict/multidict/__init__.py @@ -1,4 +1,5 @@ -"""Multidict implementation. +""" +Multidict implementation. HTTP Headers and URL query string require specific data structure: multidict. It behaves mostly like a dict but it can have @@ -11,18 +12,18 @@ from ._abc import MultiMapping, MutableMultiMapping from ._compat import USE_EXTENSIONS __all__ = ( - "MultiMapping", - "MutableMultiMapping", - "MultiDictProxy", + "CIMultiDict", "CIMultiDictProxy", "MultiDict", - "CIMultiDict", - "upstr", - "istr", + "MultiDictProxy", + "MultiMapping", + "MutableMultiMapping", "getversion", + "istr", + "upstr", ) -__version__ = "6.6.4" +__version__ = "6.7.0" if TYPE_CHECKING or not USE_EXTENSIONS: diff --git a/contrib/python/multidict/tests/isolated/multidict_pop.py b/contrib/python/multidict/tests/isolated/multidict_pop.py index daced359e65..89fcce11c7b 100644 --- a/contrib/python/multidict/tests/isolated/multidict_pop.py +++ b/contrib/python/multidict/tests/isolated/multidict_pop.py @@ -23,13 +23,15 @@ def get_memory_usage() -> int: return memory_info.rss / (1024 * 1024) # type: ignore[no-any-return] +initial_memory_usage = get_memory_usage() + keys = [f"X-Any-{i}" for i in range(100)] headers = {key: key * 2 for key in keys} def check_for_leak() -> None: trim_ram() - usage = get_memory_usage() + usage = get_memory_usage() - initial_memory_usage assert usage < 50, f"Memory leaked at: {usage} MB" diff --git a/contrib/python/multidict/tests/test_istr.py b/contrib/python/multidict/tests/test_istr.py index f02a2359333..029f579b339 100644 --- a/contrib/python/multidict/tests/test_istr.py +++ b/contrib/python/multidict/tests/test_istr.py @@ -5,7 +5,6 @@ from typing import Callable, Type import pytest IMPLEMENTATION = getattr(sys, "implementation") # to suppress mypy error -GIL_ENABLED = getattr(sys, "_is_gil_enabled", lambda: True)() def test_ctor(case_insensitive_str_class: Type[str]) -> None: @@ -64,16 +63,14 @@ def create_istrs(case_insensitive_str_class: Type[str]) -> Callable[[], None]: IMPLEMENTATION.name != "cpython", reason="PyPy has different GC implementation", ) - not GIL_ENABLED, - reason="free threading has different GC implementation", -) -def test_leak(create_istrs: Callable[[], None]) -> None: +def test_leak( + create_istrs: Callable[[], None], case_insensitive_str_class: Type[str] +) -> None: gc.collect() - cnt = len(gc.get_objects()) for _ in range(10000): create_istrs() gc.collect() - cnt2 = len(gc.get_objects()) - assert abs(cnt - cnt2) < 10 # on other GC impls these numbers are not equal + assert not any( + isinstance(obj, case_insensitive_str_class) for obj in gc.get_objects() + ) diff --git a/contrib/python/multidict/ya.make b/contrib/python/multidict/ya.make index aad90e18cfb..4e447c884d0 100644 --- a/contrib/python/multidict/ya.make +++ b/contrib/python/multidict/ya.make @@ -2,7 +2,7 @@ PY3_LIBRARY() -VERSION(6.6.4) +VERSION(6.7.0) LICENSE(Apache-2.0) |
