# # spec file for package python-multidict # # Copyright (c) 2024 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # %{?sle15_python_module_pythons} Name: python-multidict Version: 6.1.0 Release: 1.5 Summary: Multidict implementation License: Apache-2.0 URL: https://github.com/aio-libs/multidict Source: https://files.pythonhosted.org/packages/source/m/multidict/multidict-%{version}.tar.gz BuildRequires: %{python_module devel} BuildRequires: %{python_module pip} BuildRequires: %{python_module pytest} BuildRequires: %{python_module typing-extensions} BuildRequires: %{python_module wheel} BuildRequires: fdupes BuildRequires: python-rpm-macros Requires: python-typing-extensions %python_subpackages %description Multidicts are useful for working with HTTP headers, URL query arguments, etc. The code was extracted from the aiohttp library. %prep %autosetup -p1 -n multidict-%{version} %build export CFLAGS="%{optflags}" %pyproject_wheel %install %pyproject_install %python_expand %fdupes %{buildroot}%{$python_sitearch} %check # remove the extra pytest opts rm pytest.ini # test_circular_imports try to import from the system and the module # is installed in the buildroot at this point. %pytest_arch --ignore tests/test_circular_imports.py %files %{python_files} %license LICENSE %doc docs/changes.rst README.rst %{python_sitearch}/multidict %{python_sitearch}/multidict-%{version}*-info %changelog * Mon Oct 28 2024 Dirk Müller - 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 7 2024 Daniel Garcia - 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() ` 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 - add sle15_python_module_pythons (jsc#PED-68) * Thu Apr 13 2023 Matej Cepl - Make calling of %%{sle15modernpython} optional. * Mon Jan 2 2023 Dirk Müller - 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 7 2022 Yogalakshmi Arunachalam - Update to 6.0.3: * Features Declared the official support for Python 3.11 — by @mlegner. (#872) * Thu Feb 24 2022 Adrian Schröter - 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 - update to 5.1.0: - Support ``GenericAliases`` (``MultiDict[str]``) for Python 3.9+ `#553 `_ * Sat Nov 21 2020 John Vandenberg - Update to v5.0.2 * No runtime changes * Thu Sep 17 2020 Dirk Mueller - update to 4.7.6: * Fixed an issue with some versions of the ``wheel`` dist failing because of being unable to detect the license file. * Fri Mar 13 2020 Tomáš Chvátal - Fix fdupes call * Mon Mar 9 2020 Tomáš Chvátal - Update to 4.7.5: * various fixes for python 3.8 support * Wed May 29 2019 Marketa Calabkova - update to 4.5.2 * Multidict views ported from Cython to C extension 4.4.* * Restore Python 3.4 support * Rewrite C implementation to use C pair list. * Fix update order when both arg and kwargs are used. * Thu Mar 7 2019 Tomáš Chvátal - Fix fdupes macro expansion * Mon Sep 3 2018 Hans-Peter Jansen - don't depend on a certain python devel package, avoids: nothing provides python2-devel >= 3.4.1 such a version will never exist! * Wed Aug 29 2018 tchvatal@suse.com - Update to 4.3.1: * No obvious changelog * Tue Apr 17 2018 tchvatal@suse.com - Enable testsuite * Tue Apr 17 2018 arun@gmx.de - update to version 4.2.0: * Publish py.typed flag for type hinting analyzers (mypy etc). * Sat Feb 10 2018 arun@gmx.de - update to version 4.1.0: * Fix key casing in Pure Python implementation of CIMultiDict (PR [#202]) * Wed Jan 17 2018 arun@gmx.de - specfile: * update copyright year * CHANGES.rst -> docs/changes.rst - update to version 4.0.0: * Accept multiple keys in MultiDict.update() and CIMultiDict.update() (PR #199) * Fri Nov 3 2017 arun@gmx.de - specfile: * don't package .c files - update to version 3.3.2: * Fix tarball (again) - changes from version 3.3.1: * Include .c files in tarball (#181) * Thu Nov 2 2017 arun@gmx.de - update to version 3.3.0: * Introduce abstract base classes (#102) * Publish OSX binary wheels (#153) * Tue Sep 19 2017 sean.marlow@suse.com - Update to version 3.2.0: + Fix pickling + Fix equality check when other contains more keys + Fix CIMultiDict copy - Pre-compiled shared libraries have been removed from sdist. * Wed Jul 19 2017 sean.marlow@suse.com - Use package from PyPi via py2pack instead of Github. The packages are not the same. - Remove compiled shared libraries from package prior to build. * Thu Jul 13 2017 sean.marlow@suse.com - Update to version 3.1.1: - Fix #105: Remove memory leak in istr implementation - Update to version 3.1.0: - Fix #99: raise RuntimeError on dict iterations if the dict was changed - Update __init__.pyi signatures - Update to version 3.0.0: - Refactor internal data structures: main dict operations are about 100%% faster now. - Preserve order on multidict updates #68 Updates are md[key] = val and md.update(…) calls. Now the last entry is replaced with new key/value pair, all previous occurrences are removed. If key is not present in dictionary the pair is added to the end - Force keys to str instances #88 - Implement .popall(key[, default]) #84 - .pop() removes only first occurence, .popone() added #92 - Implement dict’s version #86 - Proxies are not pickable anymore #77 - Update to version 2.1.7: - Fix import warning on Python 3.6 #79 - Update to version 2.1.6: - Rebuild the library for fixning missing __spec__ attribute #79 - Update to version 2.1.5: - Build Python 3.6 binary wheels * Thu Jul 13 2017 sean.marlow@suse.com - Move to single spec python3 only. * Sat Feb 18 2017 jengelh@inai.de - Description update * Mon Jan 9 2017 arun@gmx.de - specfile: * update copyright year - update to version 2.1.4: * Remove LICENSE filename extension @ MANIFEST.in file #31 - changes from version 2.1.3 : * Add a fastpath for multidict extending by multidict * Sun Sep 25 2016 arun@gmx.de - initial version