Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-lazy for openSUSE:Factory checked in at 2026-07-06 12:31:47 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-lazy (Old) and /work/SRC/openSUSE:Factory/.python-lazy.new.1982 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-lazy" Mon Jul 6 12:31:47 2026 rev:9 rq:1363837 version:2.0 Changes: -------- --- /work/SRC/openSUSE:Factory/python-lazy/python-lazy.changes 2025-05-31 19:17:09.551483053 +0200 +++ /work/SRC/openSUSE:Factory/.python-lazy.new.1982/python-lazy.changes 2026-07-06 12:34:20.171569525 +0200 @@ -1,0 +2,10 @@ +Sun Jul 5 10:03:16 UTC 2026 - Dirk Müller <[email protected]> + +- update to 2.0: + * Remove deprecated license classifier. [stefan] + * Upgrade GitHub workflow. [stefan] + * Upgrade .readthedocs.yaml. [stefan] + * Upgrade sphinx and sphinx-rtd-theme in docs extra. [stefan] + * Require Python >= 3.5. [stefan] + +------------------------------------------------------------------- Old: ---- lazy-1.6.tar.gz New: ---- lazy-2.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-lazy.spec ++++++ --- /var/tmp/diff_new_pack.CDgosy/_old 2026-07-06 12:34:20.855593290 +0200 +++ /var/tmp/diff_new_pack.CDgosy/_new 2026-07-06 12:34:20.859593429 +0200 @@ -1,7 +1,7 @@ # # spec file for package python-lazy # -# Copyright (c) 2025 SUSE LLC +# Copyright (c) 2026 SUSE LLC and contributors # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,7 +18,7 @@ %{?sle15_python_module_pythons} Name: python-lazy -Version: 1.6 +Version: 2.0 Release: 0 Summary: Lazy attributes for Python objects License: BSD-2-Clause ++++++ lazy-1.6.tar.gz -> lazy-2.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lazy-1.6/CHANGES.rst new/lazy-2.0/CHANGES.rst --- old/lazy-1.6/CHANGES.rst 2023-09-14 15:23:31.000000000 +0200 +++ new/lazy-2.0/CHANGES.rst 2026-07-04 17:37:05.000000000 +0200 @@ -1,6 +1,24 @@ Changelog ========= +2.0 - 2026-07-04 +---------------- + +- Remove deprecated license classifier. + [stefan] + +- Upgrade GitHub workflow. + [stefan] + +- Upgrade .readthedocs.yaml. + [stefan] + +- Upgrade sphinx and sphinx-rtd-theme in docs extra. + [stefan] + +- Require Python >= 3.5. + [stefan] + 1.6 - 2023-09-14 ---------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lazy-1.6/LICENSE new/lazy-2.0/LICENSE --- old/lazy-1.6/LICENSE 2023-08-22 22:17:30.000000000 +0200 +++ new/lazy-2.0/LICENSE 2026-04-01 12:18:36.000000000 +0200 @@ -1,4 +1,4 @@ -Copyright (c) 2011-2023 Stefan H. Holek +Copyright (c) 2011-2026 Stefan H. Holek All rights reserved. Redistribution and use in source and binary forms, with or without diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lazy-1.6/PKG-INFO new/lazy-2.0/PKG-INFO --- old/lazy-1.6/PKG-INFO 2023-09-14 15:31:09.910073500 +0200 +++ new/lazy-2.0/PKG-INFO 2026-07-04 17:49:59.221936200 +0200 @@ -1,6 +1,6 @@ -Metadata-Version: 2.1 +Metadata-Version: 2.4 Name: lazy -Version: 1.6 +Version: 2.0 Summary: Lazy attributes for Python objects Home-page: https://github.com/stefanholek/lazy Author: Stefan H. Holek @@ -10,16 +10,19 @@ Keywords: decorator,lazy,lazy attribute,descriptor,property Classifier: Development Status :: 5 - Production/Stable Classifier: Intended Audience :: Developers -Classifier: License :: OSI Approved :: BSD License Classifier: Operating System :: OS Independent Classifier: Programming Language :: Python -Classifier: Programming Language :: Python :: 2 Classifier: Programming Language :: Python :: 3 -Requires-Python: !=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7 +Classifier: Typing :: Typed +Requires-Python: >=3.5 Description-Content-Type: text/x-rst +License-File: LICENSE Provides-Extra: mypy +Requires-Dist: mypy; extra == "mypy" Provides-Extra: docs -License-File: LICENSE +Requires-Dist: sphinx==9.1.0; extra == "docs" +Requires-Dist: sphinx-rtd-theme==3.1.0; extra == "docs" +Dynamic: license-file ==== lazy @@ -105,6 +108,24 @@ Changelog ========= +2.0 - 2026-07-04 +---------------- + +- Remove deprecated license classifier. + [stefan] + +- Upgrade GitHub workflow. + [stefan] + +- Upgrade .readthedocs.yaml. + [stefan] + +- Upgrade sphinx and sphinx-rtd-theme in docs extra. + [stefan] + +- Require Python >= 3.5. + [stefan] + 1.6 - 2023-09-14 ---------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lazy-1.6/lazy/__init__.py new/lazy-2.0/lazy/__init__.py --- old/lazy-1.6/lazy/__init__.py 2023-08-27 20:40:21.000000000 +0200 +++ new/lazy-2.0/lazy/__init__.py 2026-06-08 09:40:28.000000000 +0200 @@ -1,6 +1,5 @@ """The lazy module.""" -from __future__ import absolute_import from .lazy import lazy __all__ = ["lazy"] # Re-export attribute diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lazy-1.6/lazy/examples/example.py new/lazy-2.0/lazy/examples/example.py --- old/lazy-1.6/lazy/examples/example.py 2023-09-11 11:36:18.000000000 +0200 +++ new/lazy-2.0/lazy/examples/example.py 2026-06-12 08:19:50.000000000 +0200 @@ -4,7 +4,7 @@ from typing import TypeVar, Any -class C(object): +class C(): @lazy def foo(self) -> str: @@ -60,7 +60,7 @@ pass -class E(object): +class E(): @cached def foo(self) -> str: return 'foo' @@ -91,7 +91,7 @@ # Check Python >= 3.9 -class Y(object): +class Y(): @lazy[str] def foo(self) -> str: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lazy-1.6/lazy/lazy.py new/lazy-2.0/lazy/lazy.py --- old/lazy-1.6/lazy/lazy.py 2023-08-27 20:36:25.000000000 +0200 +++ new/lazy-2.0/lazy/lazy.py 2026-06-12 08:19:50.000000000 +0200 @@ -9,7 +9,7 @@ _marker = object() -class lazy(object): +class lazy(): """lazy descriptor Used as a decorator to create lazy attributes. Lazy attributes diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lazy-1.6/lazy/tests/test_lazy.py new/lazy-2.0/lazy/tests/test_lazy.py --- old/lazy-1.6/lazy/tests/test_lazy.py 2023-09-08 07:52:50.000000000 +0200 +++ new/lazy-2.0/lazy/tests/test_lazy.py 2026-06-12 08:19:50.000000000 +0200 @@ -29,7 +29,7 @@ # Lazy attributes should be evaluated when accessed. called = [] - class Foo(object): + class Foo(): @lazy def foo(self): called.append('foo') @@ -43,7 +43,7 @@ # Lazy attributes should be evaluated only once. called = [] - class Foo(object): + class Foo(): @lazy def foo(self): called.append('foo') @@ -60,7 +60,7 @@ # lazy attributes. called = [] - class Foo(object): + class Foo(): @lazy def __foo(self): called.append('foo') @@ -78,7 +78,7 @@ # It should be possible to create reserved lazy attributes. called = [] - class Foo(object): + class Foo(): @lazy def __foo__(self): called.append('foo') @@ -95,7 +95,7 @@ # the object __dict__, shadowing the descriptor. called = [] - class Foo(object): + class Foo(): @lazy def foo(self): called.append('foo') @@ -125,7 +125,7 @@ # used on a read-only object (an object with __slots__). called = [] - class Foo(object): + class Foo(): __slots__ = () @lazy def foo(self): @@ -145,7 +145,7 @@ def test_introspection(self): # The lazy decorator should support basic introspection. - class Foo(object): + class Foo(): def foo(self): """foo func doc""" @lazy @@ -163,7 +163,7 @@ def test_types(self): # A lazy attribute should be of type lazy. - class Foo(object): + class Foo(): @lazy def foo(self): return 1 @@ -181,7 +181,7 @@ def test_super(self): # A lazy attribute should work when invoked via super. - class Foo(object): + class Foo(): @lazy def foo(self): return 'foo' @@ -200,15 +200,14 @@ self.assertEqual(b.foo, 'foox') self.assertEqual(b.foo, 'foox') - if sys.version_info >= (3,): - b = Baz() - self.assertEqual(b.foo, 'fooxx') - self.assertEqual(b.foo, 'fooxx') + b = Baz() + self.assertEqual(b.foo, 'fooxx') + self.assertEqual(b.foo, 'fooxx') def test_super_binding(self): # It should be impossible to change the cache once set. - class Foo(object): + class Foo(): @lazy def foo(self): return 'foo' @@ -237,7 +236,7 @@ # called on. called = [] - class Foo(object): + class Foo(): @lazy def foo(self): called.append('foo') @@ -259,7 +258,7 @@ # they are called on. called = [] - class Foo(object): + class Foo(): @lazy def foo(self): called.append('foo') @@ -280,7 +279,7 @@ self.assertEqual(len(called), 2) self.assertTrue('foo' in b.__dict__) - if sys.version_info >= (3,): + if sys.version_info >= (3, 6): self.assertTrue('_Foo__bar' in b.__dict__) else: self.assertTrue('_Bar__bar' in b.__dict__) # ! @@ -294,7 +293,7 @@ return func(*args, **kwargs) return wrapper - class Foo(object): + class Foo(): @lazy def foo(self): return 'foo' @@ -330,7 +329,7 @@ return func(*args, **kwargs) return wrapper - class Foo(object): + class Foo(): @lazy def foo(self): return 'foo' @@ -373,7 +372,7 @@ return func(*args, **kwargs) return wrapper - class Foo(object): + class Foo(): @lazy @other def foo(self): @@ -396,7 +395,7 @@ return func(*args, **kwargs) return wrapper - class Foo(object): + class Foo(): @other @lazy def foo(self): @@ -414,7 +413,7 @@ # In Python >= 3.6 __set_name__ is called on lazy attributes. called = [] - class Foo(object): + class Foo(): def _foo(self): called.append('foo') return 1 @@ -440,7 +439,7 @@ # It should be possible to invalidate a lazy attribute. called = [] - class Foo(object): + class Foo(): @lazy def foo(self): called.append('foo') @@ -460,7 +459,7 @@ # twice without causing harm. called = [] - class Foo(object): + class Foo(): @lazy def foo(self): called.append('foo') @@ -481,7 +480,7 @@ # cache without causing harm. called = [] - class Foo(object): + class Foo(): @lazy def foo(self): called.append('foo') @@ -495,7 +494,7 @@ # It should be possible to invalidate a private lazy attribute. called = [] - class Foo(object): + class Foo(): @lazy def __foo(self): called.append('foo') @@ -517,7 +516,7 @@ # by its mangled name. called = [] - class Foo(object): + class Foo(): @lazy def __foo(self): called.append('foo') @@ -538,7 +537,7 @@ # It should be possible to invalidate a reserved lazy attribute. called = [] - class Foo(object): + class Foo(): @lazy def __foo__(self): called.append('foo') @@ -558,7 +557,7 @@ # raise an AttributeError. called = [] - class Foo(object): + class Foo(): def foo(self): called.append('foo') return 1 @@ -573,7 +572,7 @@ # raise an AttributeError. called = [] - class Foo(object): + class Foo(): def __foo(self): called.append('foo') return 1 @@ -588,7 +587,7 @@ # raise an AttributeError. called = [] - class Foo(object): + class Foo(): @lazy def foo(self): called.append('foo') @@ -604,7 +603,7 @@ # raise an AttributeError. called = [] - class Foo(object): + class Foo(): __slots__ = () @lazy def foo(self): @@ -621,7 +620,7 @@ # attribute. called = [] - class Foo(object): + class Foo(): @lazy def foo(self): called.append('foo') @@ -653,7 +652,7 @@ # It should be possible to invalidate a cached attribute. called = [] - class Bar(object): + class Bar(): @cached def bar(self): called.append('bar') @@ -673,7 +672,7 @@ # twice without causing harm. called = [] - class Bar(object): + class Bar(): @cached def bar(self): called.append('bar') @@ -694,7 +693,7 @@ # cache without causing harm. called = [] - class Bar(object): + class Bar(): @cached def bar(self): called.append('bar') @@ -708,7 +707,7 @@ # It should be possible to invalidate a private cached attribute. called = [] - class Bar(object): + class Bar(): @cached def __bar(self): called.append('bar') @@ -730,7 +729,7 @@ # by its mangled name. called = [] - class Bar(object): + class Bar(): @cached def __bar(self): called.append('bar') @@ -751,7 +750,7 @@ # It should be possible to invalidate a reserved cached attribute. called = [] - class Bar(object): + class Bar(): @cached def __bar__(self): called.append('bar') @@ -771,7 +770,7 @@ # raise an AttributeError. called = [] - class Bar(object): + class Bar(): def bar(self): called.append('bar') return 1 @@ -786,7 +785,7 @@ # raise an AttributeError. called = [] - class Bar(object): + class Bar(): def __bar(self): called.append('bar') return 1 @@ -801,7 +800,7 @@ # raise an AttributeError. called = [] - class Bar(object): + class Bar(): @cached def bar(self): called.append('bar') @@ -817,7 +816,7 @@ # raise an AttributeError. called = [] - class Bar(object): + class Bar(): __slots__ = () @cached def bar(self): @@ -833,7 +832,7 @@ # cached.invalidate CANNOT invalidate a superclass (lazy) attribute. called = [] - class Bar(object): + class Bar(): @lazy def bar(self): called.append('bar') @@ -848,7 +847,7 @@ # Whereas lazy.invalidate CAN invalidate a subclass (cached) attribute. called = [] - class Bar(object): + class Bar(): @cached def bar(self): called.append('bar') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lazy-1.6/lazy.egg-info/PKG-INFO new/lazy-2.0/lazy.egg-info/PKG-INFO --- old/lazy-1.6/lazy.egg-info/PKG-INFO 2023-09-14 15:31:09.000000000 +0200 +++ new/lazy-2.0/lazy.egg-info/PKG-INFO 2026-07-04 17:49:59.000000000 +0200 @@ -1,6 +1,6 @@ -Metadata-Version: 2.1 +Metadata-Version: 2.4 Name: lazy -Version: 1.6 +Version: 2.0 Summary: Lazy attributes for Python objects Home-page: https://github.com/stefanholek/lazy Author: Stefan H. Holek @@ -10,16 +10,19 @@ Keywords: decorator,lazy,lazy attribute,descriptor,property Classifier: Development Status :: 5 - Production/Stable Classifier: Intended Audience :: Developers -Classifier: License :: OSI Approved :: BSD License Classifier: Operating System :: OS Independent Classifier: Programming Language :: Python -Classifier: Programming Language :: Python :: 2 Classifier: Programming Language :: Python :: 3 -Requires-Python: !=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7 +Classifier: Typing :: Typed +Requires-Python: >=3.5 Description-Content-Type: text/x-rst +License-File: LICENSE Provides-Extra: mypy +Requires-Dist: mypy; extra == "mypy" Provides-Extra: docs -License-File: LICENSE +Requires-Dist: sphinx==9.1.0; extra == "docs" +Requires-Dist: sphinx-rtd-theme==3.1.0; extra == "docs" +Dynamic: license-file ==== lazy @@ -105,6 +108,24 @@ Changelog ========= +2.0 - 2026-07-04 +---------------- + +- Remove deprecated license classifier. + [stefan] + +- Upgrade GitHub workflow. + [stefan] + +- Upgrade .readthedocs.yaml. + [stefan] + +- Upgrade sphinx and sphinx-rtd-theme in docs extra. + [stefan] + +- Require Python >= 3.5. + [stefan] + 1.6 - 2023-09-14 ---------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lazy-1.6/lazy.egg-info/requires.txt new/lazy-2.0/lazy.egg-info/requires.txt --- old/lazy-1.6/lazy.egg-info/requires.txt 2023-09-14 15:31:09.000000000 +0200 +++ new/lazy-2.0/lazy.egg-info/requires.txt 2026-07-04 17:49:59.000000000 +0200 @@ -1,7 +1,7 @@ [docs] -sphinx==5.3.0 -sphinx-rtd-theme==1.0.0 +sphinx==9.1.0 +sphinx-rtd-theme==3.1.0 [mypy] mypy diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lazy-1.6/setup.cfg new/lazy-2.0/setup.cfg --- old/lazy-1.6/setup.cfg 2023-09-14 15:31:09.910926800 +0200 +++ new/lazy-2.0/setup.cfg 2026-07-04 17:49:59.223186300 +0200 @@ -1,17 +1,16 @@ [metadata] name = lazy -version = 1.6 +version = 2.0 description = Lazy attributes for Python objects long_description = file: README.rst, CHANGES.rst long_description_content_type = text/x-rst classifiers = Development Status :: 5 - Production/Stable Intended Audience :: Developers - License :: OSI Approved :: BSD License Operating System :: OS Independent Programming Language :: Python - Programming Language :: Python :: 2 Programming Language :: Python :: 3 + Typing :: Typed keywords = decorator, lazy, lazy attribute, descriptor, property author = Stefan H. Holek author_email = [email protected] @@ -24,7 +23,7 @@ packages = find: include_package_data = false zip_safe = false -python_requires = >=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.* +python_requires = >=3.5 [options.packages.find] exclude = @@ -40,18 +39,10 @@ mypy = mypy docs = - sphinx == 5.3.0 - sphinx-rtd-theme == 1.0.0 + sphinx == 9.1.0 + sphinx-rtd-theme == 3.1.0 [egg_info] tag_build = tag_date = 0 -[bdist_wheel] -universal = true - -[build_sphinx] -source_dir = docs -build_dir = docs/_build -all_files = true - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lazy-1.6/tox.ini new/lazy-2.0/tox.ini --- old/lazy-1.6/tox.ini 2023-09-11 11:36:21.000000000 +0200 +++ new/lazy-2.0/tox.ini 2026-06-09 13:04:16.000000000 +0200 @@ -4,13 +4,13 @@ # "pip install tox" and then run "tox" from this directory. [tox] -envlist = py27, py36, py37, py38, py39, py310, py311, py312, pypy27, pypy38, mypy -requires = virtualenv<20.22.0 +envlist = py310, py311, py312, py313, py314, py315, pypy311, mypy [testenv] package = wheel wheel_build_env = .pkg -commands = python -m unittest discover {posargs} +commands = + python -m unittest discover {posargs} [testenv:mypy] extras = mypy @@ -20,7 +20,8 @@ [testenv:docs] extras = docs -commands = python setup.py build_sphinx {posargs} +commands = + python -m sphinx -a -d docs/_build/doctrees {posargs} docs docs/_build/html [pytest] testpaths = lazy/tests
