Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-jaraco.functools for 
openSUSE:Factory checked in at 2026-05-20 16:47:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-jaraco.functools (Old)
 and      /work/SRC/openSUSE:Factory/.python-jaraco.functools.new.1966 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-jaraco.functools"

Wed May 20 16:47:48 2026 rev:22 rq:1353618 version:4.5.0

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/python-jaraco.functools/python-jaraco.functools.changes
  2025-12-29 15:16:26.394113168 +0100
+++ 
/work/SRC/openSUSE:Factory/.python-jaraco.functools.new.1966/python-jaraco.functools.changes
        2026-05-20 16:47:51.448527183 +0200
@@ -1,0 +2,8 @@
+Sun May 17 19:28:27 UTC 2026 - Dirk Müller <[email protected]>
+
+- update to 4.5.0:
+  * bypass_when and bypass_unless now accept callable checks and
+    evaluate them on each invocation instead of binding only at
+    decoration time.
+
+-------------------------------------------------------------------

Old:
----
  jaraco_functools-4.4.0.tar.gz

New:
----
  jaraco_functools-4.5.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-jaraco.functools.spec ++++++
--- /var/tmp/diff_new_pack.w07c4K/_old  2026-05-20 16:47:53.296603537 +0200
+++ /var/tmp/diff_new_pack.w07c4K/_new  2026-05-20 16:47:53.308604033 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package python-jaraco.functools
 #
-# Copyright (c) 2025 SUSE LLC and contributors
+# 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-jaraco.functools
-Version:        4.4.0
+Version:        4.5.0
 Release:        0
 Summary:        Tools to work with functools
 License:        MIT

++++++ jaraco_functools-4.4.0.tar.gz -> jaraco_functools-4.5.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jaraco_functools-4.4.0/.github/workflows/main.yml 
new/jaraco_functools-4.5.0/.github/workflows/main.yml
--- old/jaraco_functools-4.4.0/.github/workflows/main.yml       2025-12-21 
10:29:20.000000000 +0100
+++ new/jaraco_functools-4.5.0/.github/workflows/main.yml       2026-05-15 
23:33:48.000000000 +0200
@@ -34,31 +34,34 @@
       # https://blog.jaraco.com/efficient-use-of-ci-resources/
       matrix:
         python:
-        - "3.9"
-        - "3.13"
+        - "3.10"
+        - "3.14"
+        - "3.14t"
         platform:
         - ubuntu-latest
         - macos-latest
         - windows-latest
         include:
-        - python: "3.10"
-          platform: ubuntu-latest
         - python: "3.11"
           platform: ubuntu-latest
         - python: "3.12"
           platform: ubuntu-latest
-        - python: "3.14"
+        - python: "3.13"
+          platform: ubuntu-latest
+        - python: "3.13t"
+          platform: ubuntu-latest
+        - python: "3.15"
           platform: ubuntu-latest
         - python: pypy3.10
           platform: ubuntu-latest
     runs-on: ${{ matrix.platform }}
-    continue-on-error: ${{ matrix.python == '3.14' }}
+    continue-on-error: ${{ matrix.python == '3.15' }}
     steps:
       - uses: actions/checkout@v4
       - name: Install build dependencies
         # Install dependencies for building packages on pre-release Pythons
         # jaraco/skeleton#161
-        if: matrix.python == '3.14' && matrix.platform == 'ubuntu-latest'
+        if: matrix.python == '3.15' && matrix.platform == 'ubuntu-latest'
         run: |
           sudo apt update
           sudo apt install -y libxml2-dev libxslt-dev
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jaraco_functools-4.4.0/.pre-commit-config.yaml 
new/jaraco_functools-4.5.0/.pre-commit-config.yaml
--- old/jaraco_functools-4.4.0/.pre-commit-config.yaml  2025-12-21 
10:29:20.000000000 +0100
+++ new/jaraco_functools-4.5.0/.pre-commit-config.yaml  2026-05-15 
23:33:48.000000000 +0200
@@ -2,6 +2,6 @@
 - repo: https://github.com/astral-sh/ruff-pre-commit
   rev: v0.12.0
   hooks:
-  - id: ruff
+  - id: ruff-check
     args: [--fix, --unsafe-fixes]
   - id: ruff-format
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jaraco_functools-4.4.0/AGENTS.md 
new/jaraco_functools-4.5.0/AGENTS.md
--- old/jaraco_functools-4.4.0/AGENTS.md        1970-01-01 01:00:00.000000000 
+0100
+++ new/jaraco_functools-4.5.0/AGENTS.md        2026-05-15 23:33:48.000000000 
+0200
@@ -0,0 +1,3 @@
+This project follows the [skeleton](https://blog.jaraco.com/skeleton); please 
read for context on development.
+
+Before committing, ensure .git/info/exclude is populated from jaraco/dotfiles 
.gitignore_global so that generated artifacts are never staged.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jaraco_functools-4.4.0/LICENSE 
new/jaraco_functools-4.5.0/LICENSE
--- old/jaraco_functools-4.4.0/LICENSE  2025-12-21 10:29:38.000000000 +0100
+++ new/jaraco_functools-4.5.0/LICENSE  2026-05-15 23:34:05.000000000 +0200
@@ -1,6 +1,6 @@
 MIT License
 
-Copyright (c) 2025 <copyright holders>
+Copyright (c) 2026 <copyright holders>
 
 Permission is hereby granted, free of charge, to any person obtaining a copy 
of this software and
 associated documentation files (the "Software"), to deal in the Software 
without restriction, including
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jaraco_functools-4.4.0/NEWS.rst 
new/jaraco_functools-4.5.0/NEWS.rst
--- old/jaraco_functools-4.4.0/NEWS.rst 2025-12-21 10:29:20.000000000 +0100
+++ new/jaraco_functools-4.5.0/NEWS.rst 2026-05-15 23:33:48.000000000 +0200
@@ -1,3 +1,13 @@
+v4.5.0
+======
+
+Features
+--------
+
+- ``bypass_when`` and ``bypass_unless`` now accept callable checks and evaluate
+  them on each invocation instead of binding only at decoration time. (#36)
+
+
 v4.4.0
 ======
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jaraco_functools-4.4.0/PKG-INFO 
new/jaraco_functools-4.5.0/PKG-INFO
--- old/jaraco_functools-4.4.0/PKG-INFO 2025-12-21 10:29:38.567340900 +0100
+++ new/jaraco_functools-4.5.0/PKG-INFO 2026-05-15 23:34:05.487042400 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 2.4
 Name: jaraco.functools
-Version: 4.4.0
+Version: 4.5.0
 Summary: Functools like those found in stdlib
 Author-email: "Jason R. Coombs" <[email protected]>
 License-Expression: MIT
@@ -9,7 +9,7 @@
 Classifier: Intended Audience :: Developers
 Classifier: Programming Language :: Python :: 3
 Classifier: Programming Language :: Python :: 3 :: Only
-Requires-Python: >=3.9
+Requires-Python: >=3.10
 Description-Content-Type: text/x-rst
 License-File: LICENSE
 Requires-Dist: more_itertools
@@ -24,15 +24,14 @@
 Requires-Dist: sphinx-lint; extra == "doc"
 Requires-Dist: jaraco.tidelift>=1.4; extra == "doc"
 Provides-Extra: check
-Requires-Dist: pytest-checkdocs>=2.4; extra == "check"
+Requires-Dist: pytest-checkdocs>=2.14; extra == "check"
 Requires-Dist: pytest-ruff>=0.2.1; sys_platform != "cygwin" and extra == 
"check"
 Provides-Extra: cover
 Requires-Dist: pytest-cov; extra == "cover"
 Provides-Extra: enabler
 Requires-Dist: pytest-enabler>=3.4; extra == "enabler"
 Provides-Extra: type
-Requires-Dist: pytest-mypy>=1.0.1; extra == "type"
-Requires-Dist: mypy<1.19; platform_python_implementation == "PyPy" and extra 
== "type"
+Requires-Dist: pytest-mypy>=1.0.1; platform_python_implementation != "PyPy" 
and extra == "type"
 Dynamic: license-file
 
 .. image:: https://img.shields.io/pypi/v/jaraco.functools.svg
@@ -51,7 +50,7 @@
 .. image:: 
https://readthedocs.org/projects/jaracofunctools/badge/?version=latest
    :target: https://jaracofunctools.readthedocs.io/en/latest/?badge=latest
 
-.. image:: https://img.shields.io/badge/skeleton-2025-informational
+.. image:: https://img.shields.io/badge/skeleton-2026-informational
    :target: https://blog.jaraco.com/skeleton
 
 .. image:: https://tidelift.com/badges/package/pypi/jaraco.functools
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jaraco_functools-4.4.0/README.rst 
new/jaraco_functools-4.5.0/README.rst
--- old/jaraco_functools-4.4.0/README.rst       2025-12-21 10:29:20.000000000 
+0100
+++ new/jaraco_functools-4.5.0/README.rst       2026-05-15 23:33:48.000000000 
+0200
@@ -14,7 +14,7 @@
 .. image:: 
https://readthedocs.org/projects/jaracofunctools/badge/?version=latest
    :target: https://jaracofunctools.readthedocs.io/en/latest/?badge=latest
 
-.. image:: https://img.shields.io/badge/skeleton-2025-informational
+.. image:: https://img.shields.io/badge/skeleton-2026-informational
    :target: https://blog.jaraco.com/skeleton
 
 .. image:: https://tidelift.com/badges/package/pypi/jaraco.functools
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jaraco_functools-4.4.0/jaraco/functools/__init__.py 
new/jaraco_functools-4.5.0/jaraco/functools/__init__.py
--- old/jaraco_functools-4.4.0/jaraco/functools/__init__.py     2025-12-21 
10:29:20.000000000 +0100
+++ new/jaraco_functools-4.5.0/jaraco/functools/__init__.py     2026-05-15 
23:33:48.000000000 +0200
@@ -8,7 +8,8 @@
 import time
 import types
 import warnings
-from typing import Callable, TypeVar
+from collections.abc import Callable
+from typing import TypeVar
 
 import more_itertools
 
@@ -297,6 +298,8 @@
     """
     Wrap the function to always return the first parameter.
 
+    Useful for wrapping functions called for their side effects.
+
     >>> passthrough(print)('3')
     3
     '3'
@@ -580,6 +583,16 @@
     return x
 
 
[email protected]
+def _as_invocable(check):
+    return lambda: check
+
+
+@_as_invocable.register(collections.abc.Callable)
+def _(check):
+    return check
+
+
 def bypass_when(check, *, _op=identity):
     """
     Decorate a function to return its parameter when ``check``.
@@ -594,12 +607,24 @@
     >>> bypassed[:] = [object()]  # True
     >>> double(2)
     2
+
+    ``check`` may also be a callable returning the condition.
+
+    >>> enabled = False
+    >>> @bypass_when(lambda: enabled)
+    ... def double(x):
+    ...     return x * 2
+    >>> double(2)
+    4
+    >>> enabled = True
+    >>> double(2)
+    2
     """
 
     def decorate(func):
         @functools.wraps(func)
         def wrapper(param, /):
-            return param if _op(check) else func(param)
+            return param if _op(_as_invocable(check)()) else func(param)
 
         return wrapper
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jaraco_functools-4.4.0/jaraco/functools/__init__.pyi 
new/jaraco_functools-4.5.0/jaraco/functools/__init__.pyi
--- old/jaraco_functools-4.4.0/jaraco/functools/__init__.pyi    2025-12-21 
10:29:20.000000000 +0100
+++ new/jaraco_functools-4.5.0/jaraco/functools/__init__.pyi    2026-05-15 
23:33:48.000000000 +0200
@@ -3,13 +3,14 @@
 from operator import methodcaller
 from typing import (
     Any,
+    Concatenate,
     Generic,
     Protocol,
     TypeVar,
     overload,
 )
 
-from typing_extensions import Concatenate, ParamSpec, TypeVarTuple, Unpack
+from typing_extensions import ParamSpec, TypeVarTuple, Unpack
 
 _P = ParamSpec('_P')
 _R = TypeVar('_R')
@@ -115,7 +116,7 @@
 ) -> Callable[[Callable[_P, Any]], Callable[_P, Any]]: ...
 def identity(x: _T) -> _T: ...
 def bypass_when(
-    check: _V, *, _op: Callable[[_V], Any] = ...
+    check: _V | Callable[[], _V], *, _op: Callable[[_V], Any] = ...
 ) -> Callable[[Callable[[_T], _R]], Callable[[_T], _T | _R]]: ...
 def bypass_unless(
     check: Any,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jaraco_functools-4.4.0/jaraco.functools.egg-info/PKG-INFO 
new/jaraco_functools-4.5.0/jaraco.functools.egg-info/PKG-INFO
--- old/jaraco_functools-4.4.0/jaraco.functools.egg-info/PKG-INFO       
2025-12-21 10:29:38.000000000 +0100
+++ new/jaraco_functools-4.5.0/jaraco.functools.egg-info/PKG-INFO       
2026-05-15 23:34:05.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 2.4
 Name: jaraco.functools
-Version: 4.4.0
+Version: 4.5.0
 Summary: Functools like those found in stdlib
 Author-email: "Jason R. Coombs" <[email protected]>
 License-Expression: MIT
@@ -9,7 +9,7 @@
 Classifier: Intended Audience :: Developers
 Classifier: Programming Language :: Python :: 3
 Classifier: Programming Language :: Python :: 3 :: Only
-Requires-Python: >=3.9
+Requires-Python: >=3.10
 Description-Content-Type: text/x-rst
 License-File: LICENSE
 Requires-Dist: more_itertools
@@ -24,15 +24,14 @@
 Requires-Dist: sphinx-lint; extra == "doc"
 Requires-Dist: jaraco.tidelift>=1.4; extra == "doc"
 Provides-Extra: check
-Requires-Dist: pytest-checkdocs>=2.4; extra == "check"
+Requires-Dist: pytest-checkdocs>=2.14; extra == "check"
 Requires-Dist: pytest-ruff>=0.2.1; sys_platform != "cygwin" and extra == 
"check"
 Provides-Extra: cover
 Requires-Dist: pytest-cov; extra == "cover"
 Provides-Extra: enabler
 Requires-Dist: pytest-enabler>=3.4; extra == "enabler"
 Provides-Extra: type
-Requires-Dist: pytest-mypy>=1.0.1; extra == "type"
-Requires-Dist: mypy<1.19; platform_python_implementation == "PyPy" and extra 
== "type"
+Requires-Dist: pytest-mypy>=1.0.1; platform_python_implementation != "PyPy" 
and extra == "type"
 Dynamic: license-file
 
 .. image:: https://img.shields.io/pypi/v/jaraco.functools.svg
@@ -51,7 +50,7 @@
 .. image:: 
https://readthedocs.org/projects/jaracofunctools/badge/?version=latest
    :target: https://jaracofunctools.readthedocs.io/en/latest/?badge=latest
 
-.. image:: https://img.shields.io/badge/skeleton-2025-informational
+.. image:: https://img.shields.io/badge/skeleton-2026-informational
    :target: https://blog.jaraco.com/skeleton
 
 .. image:: https://tidelift.com/badges/package/pypi/jaraco.functools
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jaraco_functools-4.4.0/jaraco.functools.egg-info/SOURCES.txt 
new/jaraco_functools-4.5.0/jaraco.functools.egg-info/SOURCES.txt
--- old/jaraco_functools-4.4.0/jaraco.functools.egg-info/SOURCES.txt    
2025-12-21 10:29:38.000000000 +0100
+++ new/jaraco_functools-4.5.0/jaraco.functools.egg-info/SOURCES.txt    
2026-05-15 23:34:05.000000000 +0200
@@ -2,6 +2,7 @@
 .editorconfig
 .pre-commit-config.yaml
 .readthedocs.yaml
+AGENTS.md
 LICENSE
 NEWS.rst
 README.rst
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jaraco_functools-4.4.0/jaraco.functools.egg-info/requires.txt 
new/jaraco_functools-4.5.0/jaraco.functools.egg-info/requires.txt
--- old/jaraco_functools-4.4.0/jaraco.functools.egg-info/requires.txt   
2025-12-21 10:29:38.000000000 +0100
+++ new/jaraco_functools-4.5.0/jaraco.functools.egg-info/requires.txt   
2026-05-15 23:34:05.000000000 +0200
@@ -1,7 +1,7 @@
 more_itertools
 
 [check]
-pytest-checkdocs>=2.4
+pytest-checkdocs>=2.14
 
 [check:sys_platform != "cygwin"]
 pytest-ruff>=0.2.1
@@ -25,7 +25,6 @@
 jaraco.classes
 
 [type]
-pytest-mypy>=1.0.1
 
-[type:platform_python_implementation == "PyPy"]
-mypy<1.19
+[type:platform_python_implementation != "PyPy"]
+pytest-mypy>=1.0.1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jaraco_functools-4.4.0/pyproject.toml 
new/jaraco_functools-4.5.0/pyproject.toml
--- old/jaraco_functools-4.4.0/pyproject.toml   2025-12-21 10:29:20.000000000 
+0100
+++ new/jaraco_functools-4.5.0/pyproject.toml   2026-05-15 23:33:48.000000000 
+0200
@@ -20,7 +20,7 @@
        "Programming Language :: Python :: 3",
        "Programming Language :: Python :: 3 :: Only",
 ]
-requires-python = ">=3.9"
+requires-python = ">=3.10"
 license = "MIT"
 dependencies = [
        "more_itertools",
@@ -54,7 +54,7 @@
 ]
 
 check = [
-       "pytest-checkdocs >= 2.4",
+       "pytest-checkdocs >= 2.14",
        "pytest-ruff >= 0.2.1; sys_platform != 'cygwin'",
 ]
 
@@ -68,10 +68,9 @@
 
 type = [
        # upstream
-       "pytest-mypy >= 1.0.1",
-
-       ## workaround for python/mypy#20454
-       "mypy < 1.19; python_implementation == 'PyPy'",
+       
+    # Exclude PyPy from type checks (python/mypy#20454 jaraco/skeleton#187)
+       "pytest-mypy >= 1.0.1; platform_python_implementation != 'PyPy'",
 
        # local
 ]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jaraco_functools-4.4.0/test_functools.py 
new/jaraco_functools-4.5.0/test_functools.py
--- old/jaraco_functools-4.4.0/test_functools.py        2025-12-21 
10:29:20.000000000 +0100
+++ new/jaraco_functools-4.5.0/test_functools.py        2026-05-15 
23:33:48.000000000 +0200
@@ -13,7 +13,12 @@
 import pytest
 from jaraco.classes import properties
 
-from jaraco.functools import Throttler, method_cache, retry, retry_call
+from jaraco.functools import (
+    Throttler,
+    method_cache,
+    retry,
+    retry_call,
+)
 
 _T = TypeVar("_T")
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jaraco_functools-4.4.0/tox.ini 
new/jaraco_functools-4.5.0/tox.ini
--- old/jaraco_functools-4.4.0/tox.ini  2025-12-21 10:29:20.000000000 +0100
+++ new/jaraco_functools-4.5.0/tox.ini  2026-05-15 23:33:48.000000000 +0200
@@ -22,7 +22,7 @@
        diff-cover
 commands =
        pytest {posargs} --cov-report xml
-       diff-cover coverage.xml --compare-branch=origin/main --html-report 
diffcov.html
+       diff-cover coverage.xml --compare-branch=origin/main --format 
html:diffcov.html
        diff-cover coverage.xml --compare-branch=origin/main --fail-under=100
 
 [testenv:docs]

Reply via email to