Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-deepmerge for
openSUSE:Factory checked in at 2023-12-19 23:16:31
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-deepmerge (Old)
and /work/SRC/openSUSE:Factory/.python-deepmerge.new.9037 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-deepmerge"
Tue Dec 19 23:16:31 2023 rev:3 rq:1133986 version:1.1.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-deepmerge/python-deepmerge.changes
2023-05-30 22:02:38.551081056 +0200
+++
/work/SRC/openSUSE:Factory/.python-deepmerge.new.9037/python-deepmerge.changes
2023-12-19 23:16:41.607414714 +0100
@@ -1,0 +2,9 @@
+Tue Dec 19 09:34:58 UTC 2023 - Dirk Müller <[email protected]>
+
+- update to 1.1.1:
+ * Fix documentation for custom strategies
+ * Update Python versions
+ * Make predefined merge strategies work with built-in
+ collections subtypes
+
+-------------------------------------------------------------------
Old:
----
deepmerge-1.1.0.tar.gz
New:
----
deepmerge-1.1.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-deepmerge.spec ++++++
--- /var/tmp/diff_new_pack.DFFlQB/_old 2023-12-19 23:16:42.207436564 +0100
+++ /var/tmp/diff_new_pack.DFFlQB/_new 2023-12-19 23:16:42.211436709 +0100
@@ -18,17 +18,17 @@
%{?sle15_python_module_pythons}
Name: python-deepmerge
-Version: 1.1.0
+Version: 1.1.1
Release: 0
License: MIT
Summary: A toolset to deeply merge python dictionaries
URL: https://github.com/toumorokoshi/deepmerge
Group: Development/Languages/Python
Source:
https://files.pythonhosted.org/packages/source/d/deepmerge/deepmerge-%{version}.tar.gz
+BuildRequires: %{python_module base >= 3.8}
BuildRequires: %{python_module pip}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module setuptools_scm > 5}
-BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module vcver}
BuildRequires: %{python_module wheel}
BuildRequires: fdupes
++++++ deepmerge-1.1.0.tar.gz -> deepmerge-1.1.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/deepmerge-1.1.0/.github/workflows/python-package.yaml
new/deepmerge-1.1.1/.github/workflows/python-package.yaml
--- old/deepmerge-1.1.0/.github/workflows/python-package.yaml 2022-10-25
07:23:59.000000000 +0200
+++ new/deepmerge-1.1.1/.github/workflows/python-package.yaml 2023-12-18
23:13:38.000000000 +0100
@@ -18,7 +18,7 @@
strategy:
fail-fast: false
matrix:
- python-version: ["2.7", "3.8", "3.9", "3.10"]
+ python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
steps:
- uses: actions/checkout@v2
@@ -34,14 +34,14 @@
run: |
make build
- name: lint
- if: ${{ matrix.python-version == '3.10' }}
+ if: ${{ matrix.python-version == '3.12' }}
run: |
make lint
- name: test
run: |
make test
- name: pypi-release
- if: ${{ startsWith(github.ref, 'refs/tags/') && matrix.python-version ==
'3.10' }}
+ if: ${{ startsWith(github.ref, 'refs/tags/') && matrix.python-version ==
'3.12' }}
uses: pypa/gh-action-pypi-publish@master
with:
password: ${{ secrets.PYPI_API_TOKEN }}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/deepmerge-1.1.0/PKG-INFO new/deepmerge-1.1.1/PKG-INFO
--- old/deepmerge-1.1.0/PKG-INFO 2022-10-25 07:24:22.488194500 +0200
+++ new/deepmerge-1.1.1/PKG-INFO 2023-12-18 23:14:00.097812200 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: deepmerge
-Version: 1.1.0
+Version: 1.1.1
Summary: a toolset to deeply merge python dictionaries.
Home-page: http://deepmerge.readthedocs.io/en/latest/
Classifier: Development Status :: 5 - Production/Stable
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/deepmerge-1.1.0/deepmerge/_version.py
new/deepmerge-1.1.1/deepmerge/_version.py
--- old/deepmerge-1.1.0/deepmerge/_version.py 2022-10-25 07:24:22.000000000
+0200
+++ new/deepmerge-1.1.1/deepmerge/_version.py 2023-12-18 23:14:00.000000000
+0100
@@ -1,5 +1,16 @@
-# coding: utf-8
# file generated by setuptools_scm
# don't change, don't track in version control
-__version__ = version = '1.1.0'
-__version_tuple__ = version_tuple = (1, 1, 0)
+TYPE_CHECKING = False
+if TYPE_CHECKING:
+ from typing import Tuple, Union
+ VERSION_TUPLE = Tuple[Union[int, str], ...]
+else:
+ VERSION_TUPLE = object
+
+version: str
+__version__: str
+__version_tuple__: VERSION_TUPLE
+version_tuple: VERSION_TUPLE
+
+__version__ = version = '1.1.1'
+__version_tuple__ = version_tuple = (1, 1, 1)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/deepmerge-1.1.0/deepmerge/merger.py
new/deepmerge-1.1.1/deepmerge/merger.py
--- old/deepmerge-1.1.0/deepmerge/merger.py 2022-10-25 07:23:59.000000000
+0200
+++ new/deepmerge-1.1.1/deepmerge/merger.py 2023-12-18 23:13:38.000000000
+0100
@@ -36,9 +36,9 @@
return self._type_conflict_strategy(self, *args)
def value_strategy(self, path, base, nxt):
- if not (isinstance(base, type(nxt)) or isinstance(nxt, type(base))):
- return self.type_conflict_strategy(path, base, nxt)
for typ, strategy in self._type_strategies:
- if isinstance(nxt, typ):
+ if isinstance(base, typ) and isinstance(nxt, typ):
return strategy(self, path, base, nxt)
+ if not (isinstance(base, type(nxt)) or isinstance(nxt, type(base))):
+ return self.type_conflict_strategy(path, base, nxt)
return self._fallback_strategy(self, path, base, nxt)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/deepmerge-1.1.0/deepmerge/tests/test_full.py
new/deepmerge-1.1.1/deepmerge/tests/test_full.py
--- old/deepmerge-1.1.0/deepmerge/tests/test_full.py 2022-10-25
07:23:59.000000000 +0200
+++ new/deepmerge-1.1.1/deepmerge/tests/test_full.py 2023-12-18
23:13:38.000000000 +0100
@@ -1,4 +1,5 @@
from deepmerge.exception import *
+from collections import OrderedDict, defaultdict
import pytest
@@ -48,3 +49,12 @@
always_merger.merge(base, next)
assert base == {"foo": "value", "bar": "value2", "baz": ["a", "b"]}
+
+
+def test_subtypes():
+ base = OrderedDict({"foo": "value", "baz": ["a"]})
+ next = defaultdict(str, {"bar": "value2", "baz": ["b"]})
+
+ result = always_merger.merge(base, next)
+
+ assert dict(result) == {"foo": "value", "bar": "value2", "baz": ["a", "b"]}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/deepmerge-1.1.0/deepmerge.egg-info/PKG-INFO
new/deepmerge-1.1.1/deepmerge.egg-info/PKG-INFO
--- old/deepmerge-1.1.0/deepmerge.egg-info/PKG-INFO 2022-10-25
07:24:22.000000000 +0200
+++ new/deepmerge-1.1.1/deepmerge.egg-info/PKG-INFO 2023-12-18
23:14:00.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: deepmerge
-Version: 1.1.0
+Version: 1.1.1
Summary: a toolset to deeply merge python dictionaries.
Home-page: http://deepmerge.readthedocs.io/en/latest/
Classifier: Development Status :: 5 - Production/Stable
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/deepmerge-1.1.0/docs/guide.rst
new/deepmerge-1.1.1/docs/guide.rst
--- old/deepmerge-1.1.0/docs/guide.rst 2022-10-25 07:23:59.000000000 +0200
+++ new/deepmerge-1.1.1/docs/guide.rst 2023-12-18 23:13:38.000000000 +0100
@@ -80,7 +80,7 @@
Strategies are functions that satisfy the following properties:
* have the function signature (config, path, base, nxt)
-* return the merged object, or None.
+* return the merged object, or `deepmerge.STRATEGY_END`.
Example:
@@ -92,7 +92,7 @@
base.append(nxt[-1])
return base
-If a strategy fails, an exception should not be raised. This is to
+If a strategy fails, an exception should not be raised, instead it should
return `deepmerge.STRATEGY_END`. This is to
ensure it can be chained with other strategies, or the fall-back.
Uniqueness of elements when merging
@@ -104,4 +104,4 @@
dictionaries.
In those cases, built-in deepmerge strategies will call repr()
-on the object and hash that value instead.
\ No newline at end of file
+on the object and hash that value instead.