Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-cachetools for
openSUSE:Factory checked in at 2026-01-09 17:02:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-cachetools (Old)
and /work/SRC/openSUSE:Factory/.python-cachetools.new.1928 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-cachetools"
Fri Jan 9 17:02:54 2026 rev:29 rq:1325975 version:6.2.4
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-cachetools/python-cachetools.changes
2025-11-21 16:53:51.839244571 +0100
+++
/work/SRC/openSUSE:Factory/.python-cachetools.new.1928/python-cachetools.changes
2026-01-09 17:03:10.135141665 +0100
@@ -1,0 +2,14 @@
+Thu Jan 8 13:09:06 UTC 2026 - John Paul Adrian Glaubitz
<[email protected]>
+
+- Update to 6.2.4
+ * Fix license information displayed on PyPI be using an updated
+ version of ``twine`` for uploading.
+- from version 6.2.3
+ * Improve documentation regarding ``@cachedmethod`` with ``condition``
+ parameter.
+ * Minor style and readability improvements.
+ * Modernize build environment.
+ * Update CI environment.
+- Update BuildRequires from pyproject.toml
+
+-------------------------------------------------------------------
Old:
----
cachetools-6.2.2.tar.gz
New:
----
cachetools-6.2.4.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-cachetools.spec ++++++
--- /var/tmp/diff_new_pack.EUvCmk/_old 2026-01-09 17:03:12.255231415 +0100
+++ /var/tmp/diff_new_pack.EUvCmk/_new 2026-01-09 17:03:12.275232261 +0100
@@ -18,7 +18,7 @@
%{?sle15_python_module_pythons}
Name: python-cachetools
-Version: 6.2.2
+Version: 6.2.4
Release: 0
Summary: Extensible memoizing collections and decorators
License: MIT
@@ -26,7 +26,7 @@
URL: https://github.com/tkem/cachetools
Source:
https://files.pythonhosted.org/packages/source/c/cachetools/cachetools-%{version}.tar.gz
BuildRequires: %{python_module pip}
-BuildRequires: %{python_module setuptools}
+BuildRequires: %{python_module setuptools >= 61.0.0}
BuildRequires: %{python_module wheel}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
++++++ cachetools-6.2.2.tar.gz -> cachetools-6.2.4.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/cachetools-6.2.2/CHANGELOG.rst
new/cachetools-6.2.4/CHANGELOG.rst
--- old/cachetools-6.2.2/CHANGELOG.rst 2025-11-13 18:42:08.000000000 +0100
+++ new/cachetools-6.2.4/CHANGELOG.rst 2025-12-15 19:23:14.000000000 +0100
@@ -1,3 +1,23 @@
+v6.2.4 (2025-12-15)
+===================
+
+- Fix license information displayed on PyPI be using an updated
+ version of ``twine`` for uploading.
+
+
+v6.2.3 (2025-12-12)
+===================
+
+- Improve documentation regarding ``@cachedmethod`` with ``condition``
+ parameter.
+
+- Minor style and readability improvements.
+
+- Modernize build environment.
+
+- Update CI environment.
+
+
v6.2.2 (2025-11-13)
===================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/cachetools-6.2.2/PKG-INFO
new/cachetools-6.2.4/PKG-INFO
--- old/cachetools-6.2.2/PKG-INFO 2025-11-13 18:42:20.301010400 +0100
+++ new/cachetools-6.2.4/PKG-INFO 2025-12-15 19:24:44.549203900 +0100
@@ -1,15 +1,13 @@
Metadata-Version: 2.4
Name: cachetools
-Version: 6.2.2
+Version: 6.2.4
Summary: Extensible memoizing collections and decorators
-Home-page: https://github.com/tkem/cachetools/
-Author: Thomas Kemmer
-Author-email: [email protected]
-License: MIT
+Author-email: Thomas Kemmer <[email protected]>
+Maintainer-email: Thomas Kemmer <[email protected]>
+License-Expression: MIT
+Project-URL: Homepage, https://github.com/tkem/cachetools/
Classifier: Development Status :: 5 - Production/Stable
-Classifier: Environment :: Other Environment
Classifier: Intended Audience :: Developers
-Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
@@ -21,6 +19,7 @@
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.9
+Description-Content-Type: text/x-rst
License-File: LICENSE
Dynamic: license-file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/cachetools-6.2.2/docs/index.rst
new/cachetools-6.2.4/docs/index.rst
--- old/cachetools-6.2.2/docs/index.rst 2025-11-13 17:44:17.000000000 +0100
+++ new/cachetools-6.2.4/docs/index.rst 2025-12-15 19:04:14.000000000 +0100
@@ -555,6 +555,12 @@
function, :func:`cachetools.keys.methodkey`, ignores its first
argument, i.e. :const:`self`. This has mostly historical reasons,
but also ensures that :const:`self` does not have to be hashable.
+
+ .. note::
+
+ Using :func:`cachedmethod` with a `condition` currently *does*
+ require :const:`self` be hashable, though.
+
You may provide a different `key` function,
e.g. :func:`cachetools.keys.hashkey`, if you need :const:`self` to
be part of the cache key.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/cachetools-6.2.2/pyproject.toml
new/cachetools-6.2.4/pyproject.toml
--- old/cachetools-6.2.2/pyproject.toml 2025-06-16 20:53:02.000000000 +0200
+++ new/cachetools-6.2.4/pyproject.toml 2025-12-15 19:09:20.000000000 +0100
@@ -1,3 +1,52 @@
[build-system]
-requires = ["setuptools >= 46.4.0", "wheel"]
+requires = ["setuptools >= 61.0.0", "wheel"]
build-backend = "setuptools.build_meta"
+
+[project]
+name = "cachetools"
+dynamic = ["version"]
+description = "Extensible memoizing collections and decorators"
+authors = [
+ {name = "Thomas Kemmer", email = "[email protected]"}
+]
+maintainers = [
+ {name = "Thomas Kemmer", email = "[email protected]"}
+]
+readme = "README.rst"
+license = "MIT"
+license-files = ["LICENSE"]
+requires-python = ">= 3.9"
+classifiers = [
+ "Development Status :: 5 - Production/Stable",
+ "Intended Audience :: Developers",
+ "Operating System :: OS Independent",
+ "Programming Language :: Python",
+ "Programming Language :: Python :: 3",
+ "Programming Language :: Python :: 3.9",
+ "Programming Language :: Python :: 3.10",
+ "Programming Language :: Python :: 3.11",
+ "Programming Language :: Python :: 3.12",
+ "Programming Language :: Python :: 3.13",
+ "Programming Language :: Python :: 3.14",
+ "Topic :: Software Development :: Libraries :: Python Modules",
+]
+
+[project.urls]
+Homepage = "https://github.com/tkem/cachetools/"
+
+[tool.setuptools]
+package-dir = {"" = "src"}
+
+[tool.setuptools.packages.find]
+where = ["src"]
+
+[tool.setuptools.dynamic]
+version = {attr = "cachetools.__version__"}
+
+[tool.flake8]
+max-line-length = 80
+exclude = [".git", ".tox", "build"]
+select = ["C", "E", "F", "W", "B", "B950", "I", "N"]
+# F401: imported but unused (submodule shims)
+# E501: line too long (black)
+ignore = ["F401", "E501"]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/cachetools-6.2.2/setup.cfg
new/cachetools-6.2.4/setup.cfg
--- old/cachetools-6.2.2/setup.cfg 2025-11-13 18:42:20.302010300 +0100
+++ new/cachetools-6.2.4/setup.cfg 2025-12-15 19:24:44.549203900 +0100
@@ -1,49 +1,3 @@
-[metadata]
-name = cachetools
-version = attr: cachetools.__version__
-url = https://github.com/tkem/cachetools/
-author = Thomas Kemmer
-author_email = [email protected]
-license = MIT
-license_files = LICENSE
-description = Extensible memoizing collections and decorators
-long_description = file: README.rst
-classifiers =
- Development Status :: 5 - Production/Stable
- Environment :: Other Environment
- Intended Audience :: Developers
- License :: OSI Approved :: MIT License
- Operating System :: OS Independent
- Programming Language :: Python
- Programming Language :: Python :: 3
- Programming Language :: Python :: 3.9
- Programming Language :: Python :: 3.10
- Programming Language :: Python :: 3.11
- Programming Language :: Python :: 3.12
- Programming Language :: Python :: 3.13
- Programming Language :: Python :: 3.14
- Topic :: Software Development :: Libraries :: Python Modules
-
-[options]
-package_dir =
- = src
-packages = find:
-python_requires = >= 3.9
-
-[options.packages.find]
-where = src
-
-[flake8]
-max-line-length = 80
-exclude = .git, .tox, build
-select = C, E, F, W, B, B950, I, N
-ignore = F401, E501
-
-[build_sphinx]
-source-dir = docs/
-build-dir = docs/_build
-all_files = 1
-
[egg_info]
tag_build =
tag_date = 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/cachetools-6.2.2/setup.py
new/cachetools-6.2.4/setup.py
--- old/cachetools-6.2.2/setup.py 2025-06-16 20:53:02.000000000 +0200
+++ new/cachetools-6.2.4/setup.py 1970-01-01 01:00:00.000000000 +0100
@@ -1,3 +0,0 @@
-from setuptools import setup
-
-setup()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/cachetools-6.2.2/src/cachetools/__init__.py
new/cachetools-6.2.4/src/cachetools/__init__.py
--- old/cachetools-6.2.2/src/cachetools/__init__.py 2025-11-13
18:42:08.000000000 +0100
+++ new/cachetools-6.2.4/src/cachetools/__init__.py 2025-12-15
19:21:45.000000000 +0100
@@ -12,7 +12,7 @@
"cachedmethod",
)
-__version__ = "6.2.2"
+__version__ = "6.2.4"
import collections
import collections.abc
@@ -154,9 +154,9 @@
def __setitem__(self, key, value, cache_setitem=Cache.__setitem__):
cache_setitem(self, key, value)
- try:
+ if key in self.__order:
self.__order.move_to_end(key)
- except KeyError:
+ else:
self.__order[key] = None
def __delitem__(self, key, cache_delitem=Cache.__delitem__):
@@ -204,7 +204,8 @@
def __setitem__(self, key, value, cache_setitem=Cache.__setitem__):
cache_setitem(self, key, value)
if key in self.__links:
- return self.__touch(key)
+ self.__touch(key)
+ return
root = self.__root
link = root.next
if link.count != 1:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/cachetools-6.2.2/src/cachetools/_cached.py
new/cachetools-6.2.4/src/cachetools/_cached.py
--- old/cachetools-6.2.2/src/cachetools/_cached.py 2025-11-13
18:42:08.000000000 +0100
+++ new/cachetools-6.2.4/src/cachetools/_cached.py 2025-12-15
19:04:14.000000000 +0100
@@ -109,8 +109,11 @@
cache.clear()
hits = misses = 0
+ def cache_info():
+ return info(hits, misses)
+
wrapper.cache_clear = cache_clear
- wrapper.cache_info = lambda: info(hits, misses)
+ wrapper.cache_info = cache_info
return wrapper
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/cachetools-6.2.2/src/cachetools/keys.py
new/cachetools-6.2.4/src/cachetools/keys.py
--- old/cachetools-6.2.2/src/cachetools/keys.py 2025-11-13 18:42:08.000000000
+0100
+++ new/cachetools-6.2.4/src/cachetools/keys.py 2025-12-15 19:04:14.000000000
+0100
@@ -38,7 +38,7 @@
"""Return a cache key for the specified hashable arguments."""
if kwargs:
- return _HashedTuple(args + sum(sorted(kwargs.items()), _kwmark))
+ return _HashedTuple(args + _kwmark + tuple(sorted(kwargs.items())))
else:
return _HashedTuple(args)
@@ -53,6 +53,7 @@
key = hashkey(*args, **kwargs)
key += tuple(type(v) for v in args)
+ # TODO: avoid iterating twice over kwargs
key += tuple(type(v) for _, v in sorted(kwargs.items()))
return key
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/cachetools-6.2.2/src/cachetools.egg-info/PKG-INFO
new/cachetools-6.2.4/src/cachetools.egg-info/PKG-INFO
--- old/cachetools-6.2.2/src/cachetools.egg-info/PKG-INFO 2025-11-13
18:42:20.000000000 +0100
+++ new/cachetools-6.2.4/src/cachetools.egg-info/PKG-INFO 2025-12-15
19:24:44.000000000 +0100
@@ -1,15 +1,13 @@
Metadata-Version: 2.4
Name: cachetools
-Version: 6.2.2
+Version: 6.2.4
Summary: Extensible memoizing collections and decorators
-Home-page: https://github.com/tkem/cachetools/
-Author: Thomas Kemmer
-Author-email: [email protected]
-License: MIT
+Author-email: Thomas Kemmer <[email protected]>
+Maintainer-email: Thomas Kemmer <[email protected]>
+License-Expression: MIT
+Project-URL: Homepage, https://github.com/tkem/cachetools/
Classifier: Development Status :: 5 - Production/Stable
-Classifier: Environment :: Other Environment
Classifier: Intended Audience :: Developers
-Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
@@ -21,6 +19,7 @@
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.9
+Description-Content-Type: text/x-rst
License-File: LICENSE
Dynamic: license-file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/cachetools-6.2.2/src/cachetools.egg-info/SOURCES.txt
new/cachetools-6.2.4/src/cachetools.egg-info/SOURCES.txt
--- old/cachetools-6.2.2/src/cachetools.egg-info/SOURCES.txt 2025-11-13
18:42:20.000000000 +0100
+++ new/cachetools-6.2.4/src/cachetools.egg-info/SOURCES.txt 2025-12-15
19:24:44.000000000 +0100
@@ -3,8 +3,6 @@
MANIFEST.in
README.rst
pyproject.toml
-setup.cfg
-setup.py
tox.ini
docs/conf.py
docs/index.rst
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/cachetools-6.2.2/tox.ini new/cachetools-6.2.4/tox.ini
--- old/cachetools-6.2.2/tox.ini 2025-06-16 20:53:02.000000000 +0200
+++ new/cachetools-6.2.4/tox.ini 2025-12-15 19:04:14.000000000 +0100
@@ -33,6 +33,7 @@
flake8-black
flake8-bugbear
flake8-import-order
+ flake8-pyproject
commands =
flake8
skip_install = true