| Index | index by Group | index by Distribution | index by Vendor | index by creation date | index by Name | Mirrors | Help | Search |
| Name: python311-multidict | Distribution: openSUSE Tumbleweed |
| Version: 6.7.1 | Vendor: openSUSE |
| Release: 1.1 | Build date: Wed Apr 8 00:42:43 2026 |
| Group: Unspecified | Build host: reproducible |
| Size: 321479 | Source RPM: python-multidict-6.7.1-1.1.src.rpm |
| Packager: https://bugs.opensuse.org | |
| Url: https://github.com/aio-libs/multidict | |
| Summary: Multidict implementation | |
Multidicts are useful for working with HTTP headers, URL query arguments, etc. The code was extracted from the aiohttp library.
Apache-2.0
* Tue Apr 07 2026 Dirk Müller <dmueller@suse.com>
- update to 6.7.1:
* Fixed slow memory leak caused by identity by adding Py_DECREF
to identity value before leaving md_pop_one on success -- by
:user:`Vizonex`. Related issues and pull requests on GitHub:
:issue:`1284`.
* Updated tests and added CI for CPython 3.14 -- by
:user:`kumaraditya303`. Related issues and pull requests on
GitHub: :issue:`1235`.
* Fixed MutliDict & CIMultiDict memory leak when deleting
values or clearing them -- by :user:`Vizonex` Related issues
and pull requests on GitHub: :issue:`1233`.
* The type preciseness coverage report generated by MyPy is now
uploaded to Coveralls and will not be included in the Codecov
views going forward -- by :user:`webknjaz`. Related issues
and pull requests on GitHub: :issue:`1122`, :issue:`1231`.
* Added memory leak test for popping or deleting attributes
from a multidict to prevent future issues or bogus claims. --
by :user:`Vizonex` Related issues and pull requests on
GitHub: :issue:`1233`.
* Fixed inconsistencies generated by the C implementation of
_md_shrink() which might later lead to assertion failures and
crash -- by :user:`Romain-Geissler-1A`. Related issues and
pull requests on GitHub: :issue:`1229`.
* Fixed a memory corruption issue in the C implementation of
_md_shrink() that could lead to segmentation faults and data
loss when items were deleted from a
:class:`~multidict.MultiDict`. The issue was an edge case in
the pointer arithmetic during the compaction phase -- by
:user:`bdraco`. Related issues and pull requests on GitHub:
:issue:`1221`, :issue:`1222`.
* Fixed format string compilation errors in debug builds on
32-bit platforms by using portable %zd format specifiers for
Py_ssize_t values instead of %ld -- by :user:`bdraco`.
Related issues and pull requests on GitHub: :issue:`1225`,
:issue:`1226`.
* Re-enabled 32-bit Linux wheel builds that were disabled by
default in cibuildwheel 3.0.0 -- by :user:`bdraco`. Related
issues and pull requests on GitHub: :issue:`1225`,
:issue:`1227`.
* If :meth:`multidict.MultiDict.extend`,
:meth:`multidict.MultiDict.merge`, or
:meth:`multidict.MultiDict.update` raises an exception, now
the multidict internal state is correctly restored. Patch by
:user:`asvetlov`. Related issues and pull requests on GitHub:
:issue:`1215`.
* Fixed setuptools deprecation warning about the license
specification -- by :user:`asvetlov`. Related issues and pull
requests on GitHub: :issue:`1216`.
* Fix compiler warnings and convert them to errors -- by
:user:`asvetlov`. Related issues and pull requests on GitHub:
:issue:`1217`.
* Added :meth:`multidict.MultiDict.merge` which copies all
items from arguments if its key not exist in the dictionary
- - by :user:`asvetlov`. Related issues and pull requests on
GitHub: :issue:`292`.
* Stopped reallocating memory for the internal htkeys_t
structure when inserting new items if the multidict has
deleted items and it could be collapsed in-place. Removal of
malloc()/free() improves the performance slightly. The change
affects C implementation only, pure Python code is not
changed. Patch by :user:`asvetlov`. Related issues and pull
requests on GitHub: :issue:`1200`.
* C implementation of :class:`multidict.MultiDict.getall` now
is slightly faster if it returns nothing -- by
:user:`asvetlov`. Related issues and pull requests on GitHub:
:issue:`1212`.
* Replaced docstring for :meth:`multidict.MultiDict.update` to
don't use RST/markdown markup. Related issues and pull
requests on GitHub: :issue:`1203`.
* Improved documentation for :meth:`multidict.MultiDict.extend`
and :meth:`multidict.MultiDict.update` -- by
:user:`asvetlov`. Related issues and pull requests on GitHub:
:issue:`1205`.
* When building wheels, the source distribution is now passed
directly to the cibuildwheel invocation -- by
:user:`webknjaz`. Related issues and pull requests on GitHub:
:issue:`1199`.
* Set up PYTHONHASHSEED for benchmarks execution to make
measured times stable -- by :user:`asvetlov`. Related issues
and pull requests on GitHub: :issue:`1202`.
* Fixed a bug in C implementation when multidict is resized and
it has deleted slots. The bug was introduced by multidict
6.5.0 release. Patch by :user:`asvetlov`. Related issues and
pull requests on GitHub: :issue:`1195`.
* A pair of code formatters for Python and C have been
configured in the pre-commit tool. Related issues and pull
requests on GitHub: :issue:`1123`.
* Shorted fixture parametrization ids. For example,
test_keys_view_xor[case-insensitive-pure-python-module]
becomes test_keys_view_xor[ci-py] -- by :user:`asvetlov`.
Related issues and pull requests on GitHub: :issue:`1192`.
* The :file:`reusable-cibuildwheel.yml` workflow has been
refactored to be more generic and :file:`ci-cd.yml` now holds
all the configuration toggles -- by :user:`webknjaz`. Related
issues and pull requests on GitHub: :issue:`1193`.
* Replace internal implementation from an array of items to
hash table. algorithmic complexity for lookups is switched
from O(N) to O(1). The hash table is very similar to
:class:`dict` from CPython but it allows keys duplication.
The benchmark shows 25-50% boost for single lookups, x2-x3
for bulk updates, and x20 for some multidict view operations.
The gain is not for free: :class:`~multidict.MultiDict.add`
and :class:`~multidict.MultiDict.extend` are 25-50% slower
now. We consider it as acceptable because the lookup is much
more common operation that addition for the library domain.
Related issues and pull requests on GitHub: :issue:`1128`.
* Builds have been added for arm64 Windows wheels and the
reusable-build-wheel.yml template has been modified to allow
for an os value (windows-11-arm) which does not end with the
- latest postfix. Related issues and pull requests on GitHub:
:issue:`1167`.
* Fixed a segmentation fault when calling
:py:meth:`multidict.MultiDict.setdefault` with a single
argument -- by :user:`bdraco`. Related issues and pull
requests on GitHub: :issue:`1160`.
* Fixed a segmentation fault when attempting to directly
instantiate view objects (multidict._ItemsView,
multidict._KeysView, multidict._ValuesView) -- by
:user:`bdraco`. View objects now raise a proper
:exc:`TypeError` with the message "cannot create '...'
instances directly" when direct instantiation is attempted.
View objects should only be created through the proper
methods: :py:meth:`multidict.MultiDict.items`,
:py:meth:`multidict.MultiDict.keys`, and
:py:meth:`multidict.MultiDict.values`. Related issues and
pull requests on GitHub: :issue:`1164`.
* :class:`multidict.MultiDictProxy` was refactored to rely only
on :class:`multidict.MultiDict` public interface and don't
touch any implementation details. Related issues and pull
requests on GitHub: :issue:`1150`.
* Multidict views were refactored to rely only on
:class:`multidict.MultiDict` API and don't touch any
implementation details. Related issues and pull requests on
GitHub: :issue:`1152`.
* Dropped internal _Impl class from pure Python implementation,
both pure Python and C Extension follows the same design
internally now. Related issues and pull requests on GitHub:
:issue:`1153`.
* Fixed building the library in debug mode. Related issues and
pull requests on GitHub: :issue:`1144`.
* Fixed custom PyType_GetModuleByDef() when non-heap type
object was passed. Related issues and pull requests on
GitHub: :issue:`1147`.
* Added the ability to build in debug mode by setting
:envvar:`MULTIDICT_DEBUG_BUILD` in the environment -- by
:user:`bdraco`. Related issues and pull requests on GitHub:
:issue:`1145`.
* Fixed a segmentation fault when creating subclassed
:py:class:`~multidict.MultiDict` objects on Python < 3.11 --
by :user:`bdraco`. The problem first appeared in 6.4.0
Related issues and pull requests on GitHub: :issue:`1141`.
* Fixed a memory leak creating new :class:`~multidict.istr`
objects -- by :user:`bdraco`. The leak was introduced in
6.3.0 Related issues and pull requests on GitHub:
:issue:`1133`.
* Fixed reference counting when calling
:py:meth:`multidict.MultiDict.update` -- by :user:`bdraco`.
The leak was introduced in 4.4.0 Related issues and pull
requests on GitHub: :issue:`1135`.
* Switched C Extension to use heap types and the module state.
Related issues and pull requests on GitHub: :issue:`1125`.
* Started building armv7l wheels -- by :user:`bdraco`. Related
issues and pull requests on GitHub: :issue:`1127`.
* Resolved a memory leak by ensuring proper reference count
decrementation -- by :user:`asvetlov` and :user:`bdraco`.
Related issues and pull requests on GitHub: :issue:`1121`.
* Fixed keys not becoming case-insensitive when
:class:`multidict.CIMultiDict` is created by passing in a
:class:`multidict.MultiDict` -- by :user:`bdraco`. Related
issues and pull requests on GitHub: :issue:`1112`.
* Fixed the pure Python version mutating the original
:class:`multidict.MultiDict` when creating a new
:class:`multidict.CIMultiDict` from an existing one when
keyword arguments are also passed -- by :user:`bdraco`.
Related issues and pull requests on GitHub: :issue:`1113`.
* Prevented crashing with a segfault when :func:`repr` is
called for recursive multidicts and their proxies and views.
Related issues and pull requests on GitHub: :issue:`1115`.
* Set operations for KeysView and ItemsView of case-insensitive
multidicts and their proxies are processed in case-
insensitive manner. Related issues and pull requests on
GitHub: :issue:`965`.
* Rewrote :class:`multidict.CIMultiDict` and it proxy to always
return :class:`multidict.istr` keys. istr is derived from
:class:`str`, thus the change is backward compatible. The
performance boost is about 15% for some operations for C
Extension, pure Python implementation have got a visible (15%
- 230%) speedup as well. Related issues and pull requests on
GitHub: :issue:`1097`.
* Fixed a crash when extending a multidict from multidict proxy
if C Extensions were used. Related issues and pull requests
on GitHub: :issue:`1100`.
* Implemented a custom parser for METH_FASTCALL | METH_KEYWORDS
protocol -- by :user:`asvetlov`. The patch re-enables fast
call protocol in the :py:mod:`multidict` C Extension. Speedup
is about 25%-30% for the library benchmarks for Python 3.12+.
Related issues and pull requests on GitHub: :issue:`1070`.
* The C-extension no longer pre-allocates a Python exception
object in lookup-related methods of
:py:class:`~multidict.MultiDict` when the passed-in key is
not found but default value is provided. Namely, this affects
:py:meth:`MultiDict.getone() <multidict.MultiDict.getone>`,
:py:meth:`MultiDict.getall() <multidict.MultiDict.getall>`,
:py:meth:`MultiDict.get() <multidict.MultiDict.get>`,
:py:meth:`MultiDict.pop() <multidict.MultiDict.pop>`,
:py:meth:`MultiDict.popone() <multidict.MultiDict.popone>`,
and :py:meth:`MultiDict.popall()
<multidict.MultiDict.popall>`. Additionally, the
:py:class:`~multidict.MultiDict` comparison with regular
:py:class:`dict`ionaries is now about 60% faster on Python
3.13+ in the fallback-to-default case. Related issues and
pull requests on GitHub: :issue:`1078`.
* Implemented __repr__() for C Extension classes in C. The
speedup is about 2.5 times. Related issues and pull requests
on GitHub: :issue:`1081`.
* Made C version of :class:`multidict.istr` pickleable. Related
issues and pull requests on GitHub: :issue:`1098`.
* Optimized multidict creation and extending / updating if C
Extensions are used. The speedup is between 25% and 70%
depending on the usage scenario. Related issues and pull
requests on GitHub: :issue:`1101`.
* :meth:`multidict.MultiDict.popitem` is changed to remove the
latest entry instead of the first. It gives O(1) amortized
complexity. The standard :meth:`dict.popitem` removes the
last entry also. Related issues and pull requests on GitHub:
:issue:`1105`.
* Started running benchmarks for the pure Python implementation
in addition to the C implementation -- by :user:`bdraco`.
Related issues and pull requests on GitHub: :issue:`1092`.
* The the project-wide Codecov_ metric is no longer reported
via GitHub Checks API. The combined value is not very useful
because one of the sources (MyPy) cannot reach 100% with the
current state of the ecosystem. We may want to reconsider in
the future. Instead, we now have two separate “runtime
coverage” metrics for library code and tests. They are to be
kept at 100% at all times. And the “type coverage” metric
will remain advisory, at a lower threshold. The default patch
metric check is renamed to “runtime” to better reflect its
semantics. This one will also require 100% coverage. Another
“typing” patch coverage metric is now reported alongside it.
It's considered advisory, just like its project counterpart.
When looking at Codecov_, one will likely want to look at
MyPy and pytest flags separately. It is usually best to avoid
looking at the PR pages that sometimes display combined
coverage incorrectly. The change additionally disables the
deprecated GitHub Annotations integration in Codecov_.
Finally, the badge coloring range now starts at 100%. --
by :user:`webknjaz` Related issues and pull requests on
GitHub: :issue:`1093`.
* Synchronized :file:`pythoncapi_compat.h` with the latest
available version. Related issues and pull requests on
GitHub: :issue:`1063`.
* Moved registering ABCs for C Extension classes from C to
Python. Related issues and pull requests on GitHub:
:issue:`1083`.
* Refactored the internal pair_list implementation. Related
issues and pull requests on GitHub: :issue:`1084`.
* Implemented views comparison and disjoints in C instead of
Python helpers. The performance boost is about 40%. Related
issues and pull requests on GitHub: :issue:`1096`.
* Fixed in checks throwing an exception instead of returning
:data:`False` when testing non-strings. Related issues and
pull requests on GitHub: :issue:`1045`.
* Fixed a leak when the last accessed module in
PyInit__multidict() init is not released. Related issues and
pull requests on GitHub: :issue:`1061`.
* Implemented support for the free-threaded build of CPython
3.13 -- by :user:`lysnikolaou`. Related issues and pull
requests on GitHub: :issue:`1015`.
* Started publishing wheels made for the free-threaded build of
CPython 3.13 -- by :user:`lysnikolaou`. Related issues and
pull requests on GitHub: :issue:`1015`.
* Used stricter typing across the code base, resulting in
improved typing accuracy across multidict classes. Funded by
an NLnet grant. Related issues and pull requests on GitHub:
:issue:`1046`.
* Mon Oct 28 2024 Dirk Müller <dmueller@suse.com>
- update to 6.1.0:
* Covered the unreachable code path in
multidict._multidict_base._abc_itemsview_register() with
typing -- by :user:`skinnyBat`. Related issues and pull
requests on GitHub: :issue:`928`.
* Added support for Python 3.13 -- by :user:`bdraco`. Related
issues and pull requests on GitHub: :issue:`1002`.
* Removed Python 3.7 support -- by :user:`bdraco`. Related
issues and pull requests on GitHub: :issue:`997`.
* Added tests to have full code coverage of the
multidict._multidict_base._viewbaseset_richcmp() function --
by :user:`skinnyBat`. Related issues and pull requests on
GitHub: :issue:`928`.
* The deprecated ::set-output workflow command has been
replaced by the $GITHUB_OUTPUT environment variable in the
GitHub Actions CI/CD workflow definition. Related issues and
pull requests on GitHub: :issue:`940`.
* codecov-action has been temporarily downgraded to v3 in the
GitHub Actions CI/CD workflow definitions in order to fix
uploading coverage to Codecov. See this issue for more
details. Related issues and pull requests on GitHub:
:issue:`941`.
* In the GitHub Actions CI/CD workflow definition, the Get pip
cache dir step has been fixed for Windows runners by adding
shell: bash. See actions/runner#2224 for more details.
Related issues and pull requests on GitHub: :issue:`942`.
* Interpolation of the pip cache keys has been fixed by adding
missing $ syntax in the GitHub Actions CI/CD workflow
definition. Related issues and pull requests on GitHub:
:issue:`943`.
* Thu Mar 07 2024 Daniel Garcia <daniel.garcia@suse.com>
- Update to 6.0.5 (bsc#1221014):
* Upgraded the C-API macros that have been deprecated in Python 3.9
and later removed in 3.13 -- by :user:`iemelyanov`.
* Related issues and pull requests on GitHub: :issue:`862`,
:issue:`864`, :issue:`868`, :issue:`898`.
* Reverted to using the public argument parsing API
:c:func:`PyArg_ParseTupleAndKeywords` under Python 3.12 -- by
:user:`charles-dyfis-net` and :user:`webknjaz`.
* The effect is that this change prevents build failures with clang
16.9.6 and gcc-14 reported in :issue:`926`. It also fixes a
segmentation fault crash caused by passing keyword arguments to
:py:meth:`MultiDict.getall() <multidict.MultiDict.getall>`
discovered by :user:`jonaslb` and :user:`hroncok` while examining
the problem.
* Related issues and pull requests on GitHub: :issue:`862`,
:issue:`909`, :issue:`926`, :issue:`929`.
* Fixed a SystemError: null argument to internal routine error on a
MultiDict.items().isdisjoint() call when using C Extensions.
* Related issues and pull requests on GitHub: :issue:`927`.
* Fri Apr 21 2023 Dirk Müller <dmueller@suse.com>
- add sle15_python_module_pythons (jsc#PED-68)
* Thu Apr 13 2023 Matej Cepl <mcepl@suse.com>
- Make calling of %{sle15modernpython} optional.
* Mon Jan 02 2023 Dirk Müller <dmueller@suse.com>
- update to 6.0.4:
* Fixed a type annotations regression introduced in v6.0.2 under Python
versions <3.10. It was caused by importing certain types only available
in newer versions. (:issue:`798`)
* Wed Dec 07 2022 Yogalakshmi Arunachalam <yarunachalam@suse.com>
- Update to 6.0.3:
* Features
Declared the official support for Python 3.11 — by @mlegner. (#872)
* Thu Feb 24 2022 Adrian Schröter <adrian@suse.de>
- update to 6.0.2:
- Use ``METH_FASTCALL`` where it makes sense.
``MultiDict.add()`` is 2.2 times faster now, ``CIMultiDict.add()`` is 1.5 times faster.
The same boost is applied to ``get*()``, ``setdefault()``, and ``pop*()`` methods. (:issue:`681`)
- Fixed type annotations for keys of multidict mapping classes. (:issue:`644`)
- Support Multidict[int] for pure-python version.
``__class_getitem__`` is already provided by C Extension, making it work with the pure-extension too. (:issue:`678`)
- Dropped Python 3.6 support (:issue:`680`)
* Sun Dec 20 2020 Dirk Müller <dmueller@suse.com>
- update to 5.1.0:
- Support ``GenericAliases`` (``MultiDict[str]``) for Python 3.9+
`#553 <https://github.com/aio-libs/multidict/issues/553>`_
* Sat Nov 21 2020 John Vandenberg <jayvdb@gmail.com>
- Update to v5.0.2
* No runtime changes
/usr/lib64/python3.11/site-packages/multidict /usr/lib64/python3.11/site-packages/multidict-6.7.1.dist-info /usr/lib64/python3.11/site-packages/multidict-6.7.1.dist-info/INSTALLER /usr/lib64/python3.11/site-packages/multidict-6.7.1.dist-info/METADATA /usr/lib64/python3.11/site-packages/multidict-6.7.1.dist-info/RECORD /usr/lib64/python3.11/site-packages/multidict-6.7.1.dist-info/REQUESTED /usr/lib64/python3.11/site-packages/multidict-6.7.1.dist-info/WHEEL /usr/lib64/python3.11/site-packages/multidict-6.7.1.dist-info/licenses /usr/lib64/python3.11/site-packages/multidict-6.7.1.dist-info/licenses/LICENSE /usr/lib64/python3.11/site-packages/multidict-6.7.1.dist-info/top_level.txt /usr/lib64/python3.11/site-packages/multidict/__init__.py /usr/lib64/python3.11/site-packages/multidict/__pycache__ /usr/lib64/python3.11/site-packages/multidict/__pycache__/__init__.cpython-311.opt-1.pyc /usr/lib64/python3.11/site-packages/multidict/__pycache__/__init__.cpython-311.pyc /usr/lib64/python3.11/site-packages/multidict/__pycache__/_abc.cpython-311.opt-1.pyc /usr/lib64/python3.11/site-packages/multidict/__pycache__/_abc.cpython-311.pyc /usr/lib64/python3.11/site-packages/multidict/__pycache__/_compat.cpython-311.opt-1.pyc /usr/lib64/python3.11/site-packages/multidict/__pycache__/_compat.cpython-311.pyc /usr/lib64/python3.11/site-packages/multidict/__pycache__/_multidict_py.cpython-311.opt-1.pyc /usr/lib64/python3.11/site-packages/multidict/__pycache__/_multidict_py.cpython-311.pyc /usr/lib64/python3.11/site-packages/multidict/_abc.py /usr/lib64/python3.11/site-packages/multidict/_compat.py /usr/lib64/python3.11/site-packages/multidict/_multidict.cpython-311-x86_64-linux-gnu.so /usr/lib64/python3.11/site-packages/multidict/_multidict_py.py /usr/lib64/python3.11/site-packages/multidict/py.typed /usr/share/doc/packages/python311-multidict /usr/share/doc/packages/python311-multidict/README.rst /usr/share/doc/packages/python311-multidict/changes.rst /usr/share/licenses/python311-multidict /usr/share/licenses/python311-multidict/LICENSE
Generated by rpm2html 1.8.1
Fabrice Bellet, Fri Apr 17 22:31:14 2026