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 2025-07-15 16:43:03
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-jaraco.functools (Old)
 and      /work/SRC/openSUSE:Factory/.python-jaraco.functools.new.7373 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-jaraco.functools"

Tue Jul 15 16:43:03 2025 rev:19 rq:1292508 version:4.2.1

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/python-jaraco.functools/python-jaraco.functools.changes
  2025-04-11 16:45:34.572189827 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-jaraco.functools.new.7373/python-jaraco.functools.changes
        2025-07-15 16:43:40.291459893 +0200
@@ -1,0 +2,7 @@
+Sun Jul 13 13:36:31 UTC 2025 - Dirk Müller <dmuel...@suse.com>
+
+- update to 4.2.1:
+  * Add 'passthrough' function.
+  * Added missing splat in stubs -- by :user:`Avasam`
+
+-------------------------------------------------------------------

Old:
----
  jaraco_functools-4.1.0.tar.gz

New:
----
  jaraco_functools-4.2.1.tar.gz

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

Other differences:
------------------
++++++ python-jaraco.functools.spec ++++++
--- /var/tmp/diff_new_pack.58eaBN/_old  2025-07-15 16:43:40.939483992 +0200
+++ /var/tmp/diff_new_pack.58eaBN/_new  2025-07-15 16:43:40.943484141 +0200
@@ -18,7 +18,7 @@
 
 %{?sle15_python_module_pythons}
 Name:           python-jaraco.functools
-Version:        4.1.0
+Version:        4.2.1
 Release:        0
 Summary:        Tools to work with functools
 License:        MIT

++++++ jaraco_functools-4.1.0.tar.gz -> jaraco_functools-4.2.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jaraco_functools-4.1.0/.github/dependabot.yml 
new/jaraco_functools-4.2.1/.github/dependabot.yml
--- old/jaraco_functools-4.1.0/.github/dependabot.yml   2024-09-27 
21:46:46.000000000 +0200
+++ new/jaraco_functools-4.2.1/.github/dependabot.yml   1970-01-01 
01:00:00.000000000 +0100
@@ -1,8 +0,0 @@
-version: 2
-updates:
-  - package-ecosystem: "pip"
-    directory: "/"
-    schedule:
-      interval: "daily"
-    allow:
-      - dependency-type: "all"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jaraco_functools-4.1.0/.github/workflows/main.yml 
new/jaraco_functools-4.2.1/.github/workflows/main.yml
--- old/jaraco_functools-4.1.0/.github/workflows/main.yml       2024-09-27 
21:46:46.000000000 +0200
+++ new/jaraco_functools-4.2.1/.github/workflows/main.yml       2025-06-21 
21:21:42.000000000 +0200
@@ -21,7 +21,6 @@
 
   # Suppress noisy pip warnings
   PIP_DISABLE_PIP_VERSION_CHECK: 'true'
-  PIP_NO_PYTHON_VERSION_WARNING: 'true'
   PIP_NO_WARN_SCRIPT_LOCATION: 'true'
 
   # Ensure tests can sense settings about the environment
@@ -35,15 +34,13 @@
       # https://blog.jaraco.com/efficient-use-of-ci-resources/
       matrix:
         python:
-        - "3.8"
+        - "3.9"
         - "3.13"
         platform:
         - ubuntu-latest
         - macos-latest
         - windows-latest
         include:
-        - python: "3.9"
-          platform: ubuntu-latest
         - python: "3.10"
           platform: ubuntu-latest
         - python: "3.11"
@@ -58,8 +55,15 @@
     continue-on-error: ${{ matrix.python == '3.14' }}
     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'
+        run: |
+          sudo apt update
+          sudo apt install -y libxml2-dev libxslt-dev
       - name: Setup Python
-        uses: actions/setup-python@v4
+        uses: actions/setup-python@v5
         with:
           python-version: ${{ matrix.python }}
           allow-prereleases: true
@@ -81,7 +85,7 @@
         with:
           fetch-depth: 0
       - name: Setup Python
-        uses: actions/setup-python@v4
+        uses: actions/setup-python@v5
         with:
           python-version: 3.x
       - name: Install tox
@@ -115,7 +119,7 @@
     steps:
       - uses: actions/checkout@v4
       - name: Setup Python
-        uses: actions/setup-python@v4
+        uses: actions/setup-python@v5
         with:
           python-version: 3.x
       - name: Install tox
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jaraco_functools-4.1.0/.pre-commit-config.yaml 
new/jaraco_functools-4.2.1/.pre-commit-config.yaml
--- old/jaraco_functools-4.1.0/.pre-commit-config.yaml  2024-09-27 
21:46:46.000000000 +0200
+++ new/jaraco_functools-4.2.1/.pre-commit-config.yaml  2025-06-21 
21:21:42.000000000 +0200
@@ -1,6 +1,6 @@
 repos:
 - repo: https://github.com/astral-sh/ruff-pre-commit
-  rev: v0.5.6
+  rev: v0.9.9
   hooks:
   - id: ruff
     args: [--fix, --unsafe-fixes]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jaraco_functools-4.1.0/.readthedocs.yaml 
new/jaraco_functools-4.2.1/.readthedocs.yaml
--- old/jaraco_functools-4.1.0/.readthedocs.yaml        2024-09-27 
21:46:46.000000000 +0200
+++ new/jaraco_functools-4.2.1/.readthedocs.yaml        2025-06-21 
21:21:42.000000000 +0200
@@ -5,6 +5,9 @@
     extra_requirements:
       - doc
 
+sphinx:
+  configuration: docs/conf.py
+
 # required boilerplate readthedocs/readthedocs.org#10401
 build:
   os: ubuntu-lts-latest
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jaraco_functools-4.1.0/LICENSE 
new/jaraco_functools-4.2.1/LICENSE
--- old/jaraco_functools-4.1.0/LICENSE  2024-09-27 21:46:46.000000000 +0200
+++ new/jaraco_functools-4.2.1/LICENSE  2025-06-21 21:21:58.000000000 +0200
@@ -1,17 +1,18 @@
-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 without limitation the
-rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
-sell copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+MIT License
 
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
+Copyright (c) 2025 <copyright holders>
 
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
-IN THE SOFTWARE.
+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
+without limitation the rights to use, copy, modify, merge, publish, 
distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is 
furnished to do so, subject to the
+following conditions:
+
+The above copyright notice and this permission notice shall be included in all 
copies or substantial
+portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 
IMPLIED, INCLUDING BUT NOT
+LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE 
AND NONINFRINGEMENT. IN NO
+EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES 
OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 
CONNECTION WITH THE SOFTWARE OR THE
+USE OR OTHER DEALINGS IN THE SOFTWARE.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jaraco_functools-4.1.0/NEWS.rst 
new/jaraco_functools-4.2.1/NEWS.rst
--- old/jaraco_functools-4.1.0/NEWS.rst 2024-09-27 21:46:46.000000000 +0200
+++ new/jaraco_functools-4.2.1/NEWS.rst 2025-06-21 21:21:42.000000000 +0200
@@ -1,3 +1,24 @@
+v4.2.1
+======
+
+No significant changes.
+
+
+v4.2.0
+======
+
+Features
+--------
+
+- Add 'passthrough' function.
+
+
+Bugfixes
+--------
+
+- Added missing `splat` in stubs -- by :user:`Avasam` (#29)
+
+
 v4.1.0
 ======
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jaraco_functools-4.1.0/PKG-INFO 
new/jaraco_functools-4.2.1/PKG-INFO
--- old/jaraco_functools-4.1.0/PKG-INFO 2024-09-27 21:47:04.518915200 +0200
+++ new/jaraco_functools-4.2.1/PKG-INFO 2025-06-21 21:21:59.165620000 +0200
@@ -1,15 +1,15 @@
-Metadata-Version: 2.1
+Metadata-Version: 2.4
 Name: jaraco.functools
-Version: 4.1.0
+Version: 4.2.1
 Summary: Functools like those found in stdlib
 Author-email: "Jason R. Coombs" <jar...@jaraco.com>
+License-Expression: MIT
 Project-URL: Source, https://github.com/jaraco/jaraco.functools
 Classifier: Development Status :: 5 - Production/Stable
 Classifier: Intended Audience :: Developers
-Classifier: License :: OSI Approved :: MIT License
 Classifier: Programming Language :: Python :: 3
 Classifier: Programming Language :: Python :: 3 :: Only
-Requires-Python: >=3.8
+Requires-Python: >=3.9
 Description-Content-Type: text/x-rst
 License-File: LICENSE
 Requires-Dist: more_itertools
@@ -32,6 +32,7 @@
 Requires-Dist: pytest-enabler>=2.2; extra == "enabler"
 Provides-Extra: type
 Requires-Dist: pytest-mypy; extra == "type"
+Dynamic: license-file
 
 .. image:: https://img.shields.io/pypi/v/jaraco.functools.svg
    :target: https://pypi.org/project/jaraco.functools
@@ -42,14 +43,14 @@
    :target: 
https://github.com/jaraco/jaraco.functools/actions?query=workflow%3A%22tests%22
    :alt: tests
 
-.. image:: 
https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v2.json
+.. image:: 
https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json
     :target: https://github.com/astral-sh/ruff
     :alt: Ruff
 
 .. 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-2024-informational
+.. image:: https://img.shields.io/badge/skeleton-2025-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.1.0/README.rst 
new/jaraco_functools-4.2.1/README.rst
--- old/jaraco_functools-4.1.0/README.rst       2024-09-27 21:46:46.000000000 
+0200
+++ new/jaraco_functools-4.2.1/README.rst       2025-06-21 21:21:42.000000000 
+0200
@@ -7,14 +7,14 @@
    :target: 
https://github.com/jaraco/jaraco.functools/actions?query=workflow%3A%22tests%22
    :alt: tests
 
-.. image:: 
https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v2.json
+.. image:: 
https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json
     :target: https://github.com/astral-sh/ruff
     :alt: Ruff
 
 .. 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-2024-informational
+.. image:: https://img.shields.io/badge/skeleton-2025-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.1.0/jaraco/functools/__init__.py 
new/jaraco_functools-4.2.1/jaraco/functools/__init__.py
--- old/jaraco_functools-4.1.0/jaraco/functools/__init__.py     2024-09-27 
21:46:46.000000000 +0200
+++ new/jaraco_functools-4.2.1/jaraco/functools/__init__.py     2025-06-21 
21:21:42.000000000 +0200
@@ -8,7 +8,6 @@
 import time
 import types
 import warnings
-
 from typing import Callable, TypeVar
 
 import more_itertools
@@ -291,6 +290,26 @@
     return f
 
 
+_T = TypeVar('_T')
+
+
+def passthrough(func: Callable[..., object]) -> Callable[[_T], _T]:
+    """
+    Wrap the function to always return the first parameter.
+
+    >>> passthrough(print)('3')
+    3
+    '3'
+    """
+
+    @functools.wraps(func)
+    def wrapper(first: _T, *args, **kwargs) -> _T:
+        func(first, *args, **kwargs)
+        return first
+
+    return wrapper
+
+
 class Throttler:
     """Rate-limit a function (or other callable)."""
 
@@ -488,7 +507,7 @@
     >>> my_ob._saved_method.args
     ()
     """
-    args_and_kwargs = collections.namedtuple('args_and_kwargs', 'args kwargs')
+    args_and_kwargs = collections.namedtuple('args_and_kwargs', 'args kwargs') 
 # noqa: PYI024 # Internal; stubs used for typing
 
     @functools.wraps(method)
     def wrapper(self, /, *args, **kwargs):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jaraco_functools-4.1.0/jaraco/functools/__init__.pyi 
new/jaraco_functools-4.2.1/jaraco/functools/__init__.pyi
--- old/jaraco_functools-4.1.0/jaraco/functools/__init__.pyi    2024-09-27 
21:46:46.000000000 +0200
+++ new/jaraco_functools-4.2.1/jaraco/functools/__init__.pyi    2025-06-21 
21:21:42.000000000 +0200
@@ -1,7 +1,6 @@
 from collections.abc import Callable, Hashable, Iterator
 from functools import partial
 from operator import methodcaller
-import sys
 from typing import (
     Any,
     Generic,
@@ -10,14 +9,12 @@
     overload,
 )
 
-if sys.version_info >= (3, 10):
-    from typing import Concatenate, ParamSpec
-else:
-    from typing_extensions import Concatenate, ParamSpec
+from typing_extensions import Concatenate, ParamSpec, TypeVarTuple, Unpack
 
 _P = ParamSpec('_P')
 _R = TypeVar('_R')
 _T = TypeVar('_T')
+_Ts = TypeVarTuple('_Ts')
 _R1 = TypeVar('_R1')
 _R2 = TypeVar('_R2')
 _V = TypeVar('_V')
@@ -66,10 +63,10 @@
     cache_wrapper: Callable[[Callable[..., _R]], _MethodCacheWrapper[_R]] = 
...,
 ) -> _MethodCacheWrapper[_R] | _ProxyMethodCacheWrapper[_R]: ...
 def apply(
-    transform: Callable[[_R], _T]
+    transform: Callable[[_R], _T],
 ) -> Callable[[Callable[_P, _R]], Callable[_P, _T]]: ...
 def result_invoke(
-    action: Callable[[_R], Any]
+    action: Callable[[_R], Any],
 ) -> Callable[[Callable[_P, _R]], Callable[_P, _R]]: ...
 def invoke(
     f: Callable[_P, _R], /, *args: _P.args, **kwargs: _P.kwargs
@@ -95,23 +92,23 @@
 def retry_call(
     func: Callable[..., _R],
     cleanup: Callable[..., None] = ...,
-    retries: int | float = ...,
+    retries: float = ...,
     trap: type[BaseException] | tuple[type[BaseException], ...] = ...,
 ) -> _R: ...
 def retry(
     cleanup: Callable[..., None] = ...,
-    retries: int | float = ...,
+    retries: float = ...,
     trap: type[BaseException] | tuple[type[BaseException], ...] = ...,
 ) -> Callable[[Callable[..., _R]], Callable[..., _R]]: ...
 def print_yielded(func: Callable[_P, Iterator[Any]]) -> Callable[_P, None]: ...
 def pass_none(
-    func: Callable[Concatenate[_T, _P], _R]
+    func: Callable[Concatenate[_T, _P], _R],
 ) -> Callable[Concatenate[_T, _P], _R]: ...
 def assign_params(
     func: Callable[..., _R], namespace: dict[str, Any]
 ) -> partial[_R]: ...
 def save_method_args(
-    method: Callable[Concatenate[_S, _P], _R]
+    method: Callable[Concatenate[_S, _P], _R],
 ) -> Callable[Concatenate[_S, _P], _R]: ...
 def except_(
     *exceptions: type[BaseException], replace: Any = ..., use: Any = ...
@@ -123,3 +120,4 @@
 def bypass_unless(
     check: Any,
 ) -> Callable[[Callable[[_T], _R]], Callable[[_T], _T | _R]]: ...
+def splat(func: Callable[[Unpack[_Ts]], _R]) -> Callable[[tuple[Unpack[_Ts]]], 
_R]: ...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jaraco_functools-4.1.0/jaraco.functools.egg-info/PKG-INFO 
new/jaraco_functools-4.2.1/jaraco.functools.egg-info/PKG-INFO
--- old/jaraco_functools-4.1.0/jaraco.functools.egg-info/PKG-INFO       
2024-09-27 21:47:04.000000000 +0200
+++ new/jaraco_functools-4.2.1/jaraco.functools.egg-info/PKG-INFO       
2025-06-21 21:21:59.000000000 +0200
@@ -1,15 +1,15 @@
-Metadata-Version: 2.1
+Metadata-Version: 2.4
 Name: jaraco.functools
-Version: 4.1.0
+Version: 4.2.1
 Summary: Functools like those found in stdlib
 Author-email: "Jason R. Coombs" <jar...@jaraco.com>
+License-Expression: MIT
 Project-URL: Source, https://github.com/jaraco/jaraco.functools
 Classifier: Development Status :: 5 - Production/Stable
 Classifier: Intended Audience :: Developers
-Classifier: License :: OSI Approved :: MIT License
 Classifier: Programming Language :: Python :: 3
 Classifier: Programming Language :: Python :: 3 :: Only
-Requires-Python: >=3.8
+Requires-Python: >=3.9
 Description-Content-Type: text/x-rst
 License-File: LICENSE
 Requires-Dist: more_itertools
@@ -32,6 +32,7 @@
 Requires-Dist: pytest-enabler>=2.2; extra == "enabler"
 Provides-Extra: type
 Requires-Dist: pytest-mypy; extra == "type"
+Dynamic: license-file
 
 .. image:: https://img.shields.io/pypi/v/jaraco.functools.svg
    :target: https://pypi.org/project/jaraco.functools
@@ -42,14 +43,14 @@
    :target: 
https://github.com/jaraco/jaraco.functools/actions?query=workflow%3A%22tests%22
    :alt: tests
 
-.. image:: 
https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v2.json
+.. image:: 
https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json
     :target: https://github.com/astral-sh/ruff
     :alt: Ruff
 
 .. 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-2024-informational
+.. image:: https://img.shields.io/badge/skeleton-2025-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.1.0/jaraco.functools.egg-info/SOURCES.txt 
new/jaraco_functools-4.2.1/jaraco.functools.egg-info/SOURCES.txt
--- old/jaraco_functools-4.1.0/jaraco.functools.egg-info/SOURCES.txt    
2024-09-27 21:47:04.000000000 +0200
+++ new/jaraco_functools-4.2.1/jaraco.functools.egg-info/SOURCES.txt    
2025-06-21 21:21:59.000000000 +0200
@@ -15,7 +15,6 @@
 towncrier.toml
 tox.ini
 .github/FUNDING.yml
-.github/dependabot.yml
 .github/workflows/main.yml
 docs/conf.py
 docs/history.rst
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jaraco_functools-4.1.0/pyproject.toml 
new/jaraco_functools-4.2.1/pyproject.toml
--- old/jaraco_functools-4.1.0/pyproject.toml   2024-09-27 21:46:46.000000000 
+0200
+++ new/jaraco_functools-4.2.1/pyproject.toml   2025-06-21 21:21:42.000000000 
+0200
@@ -1,5 +1,10 @@
 [build-system]
-requires = ["setuptools>=61.2", "setuptools_scm[toml]>=3.4.1"]
+requires = [
+       "setuptools>=77",
+       "setuptools_scm[toml]>=3.4.1",
+       # jaraco/skeleton#174
+       "coherent.licensed",
+]
 build-backend = "setuptools.build_meta"
 
 [project]
@@ -12,11 +17,11 @@
 classifiers = [
        "Development Status :: 5 - Production/Stable",
        "Intended Audience :: Developers",
-       "License :: OSI Approved :: MIT License",
        "Programming Language :: Python :: 3",
        "Programming Language :: Python :: 3 :: Only",
 ]
-requires-python = ">=3.8"
+requires-python = ">=3.9"
+license = "MIT"
 dependencies = [
        "more_itertools",
 ]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jaraco_functools-4.1.0/ruff.toml 
new/jaraco_functools-4.2.1/ruff.toml
--- old/jaraco_functools-4.1.0/ruff.toml        2024-09-27 21:46:46.000000000 
+0200
+++ new/jaraco_functools-4.2.1/ruff.toml        2025-06-21 21:21:42.000000000 
+0200
@@ -1,10 +1,31 @@
 [lint]
 extend-select = [
-       "C901",
-       "PERF401",
-       "W",
+       # upstream
+
+       "C901", # complex-structure
+       "I", # isort
+       "PERF401", # manual-list-comprehension
+
+       # Ensure modern type annotation syntax and best practices
+       # Not including those covered by type-checkers or exclusive to Python 
3.11+
+       "FA", # flake8-future-annotations
+       "F404", # late-future-import
+       "PYI", # flake8-pyi
+       "UP006", # non-pep585-annotation
+       "UP007", # non-pep604-annotation
+       "UP010", # unnecessary-future-import
+       "UP035", # deprecated-import
+       "UP037", # quoted-annotation
+       "UP043", # unnecessary-default-type-args
+
+       # local
 ]
 ignore = [
+       # upstream
+
+       # Typeshed rejects complex or non-literal defaults for maintenance and 
testing reasons,
+       # irrelevant to this project.
+       "PYI011", # typed-argument-default-in-stub
        # https://docs.astral.sh/ruff/formatter/#conflicting-lint-rules
        "W191",
        "E111",
@@ -18,8 +39,8 @@
        "Q003",
        "COM812",
        "COM819",
-       "ISC001",
-       "ISC002",
+
+       # local
 ]
 
 [format]

Reply via email to