Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-pyupgrade for 
openSUSE:Factory checked in at 2022-11-17 17:24:40
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pyupgrade (Old)
 and      /work/SRC/openSUSE:Factory/.python-pyupgrade.new.1597 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-pyupgrade"

Thu Nov 17 17:24:40 2022 rev:28 rq:1036282 version:3.2.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pyupgrade/python-pyupgrade.changes        
2022-11-08 10:54:38.997726802 +0100
+++ 
/work/SRC/openSUSE:Factory/.python-pyupgrade.new.1597/python-pyupgrade.changes  
    2022-11-17 17:24:52.921185269 +0100
@@ -1,0 +2,12 @@
+Wed Nov  9 18:48:48 UTC 2022 - Yogalakshmi Arunachalam <yarunacha...@suse.com>
+
+- Update to version 3.2.0 
+  * Merge pull request #747 from asottile/pre-commit-ci-update-config
+  * Merge pull request #745 from tusharsadhwani/unpack
+  * Add PEP646 Unpack plugin
+  * Merge pull request #741 from asottile/py311-release
+  * regenerate import symbols
+  * Merge pull request #738 from asottile/pre-commit-ci-update-config
+  * Merge pull request #734 from asottile/pre-commit-ci-update-config
+
+-------------------------------------------------------------------

Old:
----
  python-pyupgrade-3.1.0.tar.gz

New:
----
  python-pyupgrade-3.2.0.tar.gz

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

Other differences:
------------------
++++++ python-pyupgrade.spec ++++++
--- /var/tmp/diff_new_pack.wwfxs3/_old  2022-11-17 17:24:55.089196738 +0100
+++ /var/tmp/diff_new_pack.wwfxs3/_new  2022-11-17 17:24:55.093196759 +0100
@@ -19,7 +19,7 @@
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
 %define skip_python2 1
 Name:           python-pyupgrade
-Version:        3.1.0
+Version:        3.2.0
 Release:        0
 Summary:        A tool to automatically upgrade syntax for newer versions
 License:        MIT

++++++ python-pyupgrade-3.1.0.tar.gz -> python-pyupgrade-3.2.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyupgrade-3.1.0/.pre-commit-config.yaml 
new/pyupgrade-3.2.0/.pre-commit-config.yaml
--- old/pyupgrade-3.1.0/.pre-commit-config.yaml 2022-10-11 00:03:27.000000000 
+0200
+++ new/pyupgrade-3.2.0/.pre-commit-config.yaml 2022-10-29 23:50:47.000000000 
+0200
@@ -10,11 +10,11 @@
     -   id: name-tests-test
     -   id: requirements-txt-fixer
 -   repo: https://github.com/asottile/setup-cfg-fmt
-    rev: v2.0.0
+    rev: v2.1.0
     hooks:
     -   id: setup-cfg-fmt
 -   repo: https://github.com/asottile/reorder_python_imports
-    rev: v3.8.3
+    rev: v3.8.5
     hooks:
     -   id: reorder-python-imports
         args: [--py37-plus, --add-import, 'from __future__ import annotations']
@@ -24,7 +24,7 @@
     -   id: add-trailing-comma
         args: [--py36-plus]
 -   repo: https://github.com/asottile/pyupgrade
-    rev: v3.1.0
+    rev: v3.2.0
     hooks:
     -   id: pyupgrade
         args: [--py37-plus]
@@ -37,6 +37,6 @@
     hooks:
     -   id: flake8
 -   repo: https://github.com/pre-commit/mirrors-mypy
-    rev: v0.971
+    rev: v0.982
     hooks:
     -   id: mypy
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyupgrade-3.1.0/README.md 
new/pyupgrade-3.2.0/README.md
--- old/pyupgrade-3.1.0/README.md       2022-10-11 00:03:27.000000000 +0200
+++ new/pyupgrade-3.2.0/README.md       2022-10-29 23:50:47.000000000 +0200
@@ -22,7 +22,7 @@
 
 ```yaml
 -   repo: https://github.com/asottile/pyupgrade
-    rev: v3.1.0
+    rev: v3.2.0
     hooks:
     -   id: pyupgrade
 ```
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyupgrade-3.1.0/pyupgrade/_plugins/imports.py 
new/pyupgrade-3.2.0/pyupgrade/_plugins/imports.py
--- old/pyupgrade-3.1.0/pyupgrade/_plugins/imports.py   2022-10-11 
00:03:27.000000000 +0200
+++ new/pyupgrade-3.2.0/pyupgrade/_plugins/imports.py   2022-10-29 
23:50:47.000000000 +0200
@@ -21,7 +21,7 @@
 from pyupgrade._token_helpers import indented_amount
 
 # GENERATED VIA generate-imports
-# Using reorder-python-imports==3.8.4
+# Using reorder-python-imports==3.9.0
 REMOVALS = {
     (3,): {
         '__future__': {
@@ -164,6 +164,25 @@
         ('typing_extensions', 'get_origin'): 'typing',
         ('typing_extensions', 'is_typeddict'): 'typing',
     },
+    (3, 11): {
+        ('typing_extensions', 'Any'): 'typing',
+        ('typing_extensions', 'LiteralString'): 'typing',
+        ('typing_extensions', 'NamedTuple'): 'typing',
+        ('typing_extensions', 'Never'): 'typing',
+        ('typing_extensions', 'NotRequired'): 'typing',
+        ('typing_extensions', 'Required'): 'typing',
+        ('typing_extensions', 'Self'): 'typing',
+        ('typing_extensions', 'TypedDict'): 'typing',
+        ('typing_extensions', 'Unpack'): 'typing',
+        ('typing_extensions', 'assert_never'): 'typing',
+        ('typing_extensions', 'assert_type'): 'typing',
+        ('typing_extensions', 'clear_overloads'): 'typing',
+        ('typing_extensions', 'dataclass_transform'): 'typing',
+        ('typing_extensions', 'final'): 'typing',
+        ('typing_extensions', 'get_overloads'): 'typing',
+        ('typing_extensions', 'overload'): 'typing',
+        ('typing_extensions', 'reveal_type'): 'typing',
+    },
 }
 REPLACE_MODS = {
     'six.moves.BaseHTTPServer': 'http.server',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pyupgrade-3.1.0/pyupgrade/_plugins/typing_pep646_unpack.py 
new/pyupgrade-3.2.0/pyupgrade/_plugins/typing_pep646_unpack.py
--- old/pyupgrade-3.1.0/pyupgrade/_plugins/typing_pep646_unpack.py      
1970-01-01 01:00:00.000000000 +0100
+++ new/pyupgrade-3.2.0/pyupgrade/_plugins/typing_pep646_unpack.py      
2022-10-29 23:50:47.000000000 +0200
@@ -0,0 +1,39 @@
+from __future__ import annotations
+
+import ast
+from typing import Iterable
+
+from tokenize_rt import Offset
+from tokenize_rt import Token
+
+from pyupgrade._ast_helpers import ast_to_offset
+from pyupgrade._ast_helpers import is_name_attr
+from pyupgrade._data import register
+from pyupgrade._data import State
+from pyupgrade._data import TokenFunc
+from pyupgrade._token_helpers import find_closing_bracket
+from pyupgrade._token_helpers import find_token
+from pyupgrade._token_helpers import remove_brace
+
+
+def _replace_unpack_with_star(i: int, tokens: list[Token]) -> None:
+    start = find_token(tokens, i, '[')
+    end = find_closing_bracket(tokens, start)
+
+    remove_brace(tokens, end)
+    # replace `Unpack` with `*`
+    tokens[i:start + 1] = [tokens[i]._replace(name='OP', src='*')]
+
+
+@register(ast.Subscript)
+def visit_Subscript(
+    state: State,
+    node: ast.Subscript,
+    parent: ast.AST,
+) -> Iterable[tuple[Offset, TokenFunc]]:
+    if state.settings.min_version < (3, 11):
+        return
+
+    if is_name_attr(node.value, state.from_imports, ('typing',), ('Unpack',)):
+        if isinstance(parent, (ast.Subscript, ast.Index)):
+            yield ast_to_offset(node.value), _replace_unpack_with_star
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyupgrade-3.1.0/setup.cfg 
new/pyupgrade-3.2.0/setup.cfg
--- old/pyupgrade-3.1.0/setup.cfg       2022-10-11 00:03:27.000000000 +0200
+++ new/pyupgrade-3.2.0/setup.cfg       2022-10-29 23:50:47.000000000 +0200
@@ -1,6 +1,6 @@
 [metadata]
 name = pyupgrade
-version = 3.1.0
+version = 3.2.0
 description = A tool to automatically upgrade syntax for newer versions.
 long_description = file: README.md
 long_description_content_type = text/markdown
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pyupgrade-3.1.0/tests/features/typing_pep646_unpack_test.py 
new/pyupgrade-3.2.0/tests/features/typing_pep646_unpack_test.py
--- old/pyupgrade-3.1.0/tests/features/typing_pep646_unpack_test.py     
1970-01-01 01:00:00.000000000 +0100
+++ new/pyupgrade-3.2.0/tests/features/typing_pep646_unpack_test.py     
2022-10-29 23:50:47.000000000 +0200
@@ -0,0 +1,60 @@
+from __future__ import annotations
+
+import pytest
+
+from pyupgrade._data import Settings
+from pyupgrade._main import _fix_plugins
+
+
+@pytest.mark.parametrize(
+    ('s',),
+    (
+        pytest.param(
+            'from typing import Unpack\n'
+            'foo(Unpack())',
+            id='Not a subscript',
+        ),
+        pytest.param(
+            'from typing import TypeVarTuple, Unpack\n'
+            'Shape = TypeVarTuple("Shape")\n'
+            'class Foo(Unpack[Shape]):\n'
+            '    pass',
+            id='Not inside a subscript',
+        ),
+    ),
+)
+def test_fix_pep646_noop(s):
+    assert _fix_plugins(s, settings=Settings(min_version=(3, 11))) == s
+    assert _fix_plugins(s, settings=Settings(min_version=(3, 10))) == s
+
+
+@pytest.mark.parametrize(
+    ('s', 'expected'),
+    (
+        (
+            'from typing import Generic, TypeVarTuple, Unpack\n'
+            "Shape = TypeVarTuple('Shape')\n"
+            'class C(Generic[Unpack[Shape]]):\n'
+            '    pass',
+
+            'from typing import Generic, TypeVarTuple, Unpack\n'
+            "Shape = TypeVarTuple('Shape')\n"
+            'class C(Generic[*Shape]):\n'
+            '    pass',
+        ),
+        (
+            'from typing import Generic, TypeVarTuple, Unpack\n'
+            "Shape = TypeVarTuple('Shape')\n"
+            'class C(Generic[Unpack  [Shape]]):\n'
+            '    pass',
+
+            'from typing import Generic, TypeVarTuple, Unpack\n'
+            "Shape = TypeVarTuple('Shape')\n"
+            'class C(Generic[*Shape]):\n'
+            '    pass',
+        ),
+    ),
+)
+def test_typing_unpack(s, expected):
+    assert _fix_plugins(s, settings=Settings(min_version=(3, 11))) == expected
+    assert _fix_plugins(s, settings=Settings(min_version=(3, 10))) == s

Reply via email to