Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-pyflakes for openSUSE:Factory 
checked in at 2021-11-06 18:13:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pyflakes (Old)
 and      /work/SRC/openSUSE:Factory/.python-pyflakes.new.1890 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-pyflakes"

Sat Nov  6 18:13:21 2021 rev:28 rq:929017 version:2.4.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pyflakes/python-pyflakes.changes  
2021-05-12 19:31:26.259232597 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-pyflakes.new.1890/python-pyflakes.changes    
    2021-11-06 18:13:40.468748599 +0100
@@ -1,0 +2,9 @@
+Wed Nov  3 09:33:27 UTC 2021 - pgaj...@suse.com
+
+- version update to 2.4.0
+ - Remove unused tracing code (``traceTree``)
+ - Add support for ``match`` statement
+ - Detect ``typing`` module attributes when imported with ``import ... as ...``
+- %check: use %pyunittest rpm macro
+
+-------------------------------------------------------------------

Old:
----
  pyflakes-2.3.1.tar.gz

New:
----
  pyflakes-2.4.0.tar.gz

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

Other differences:
------------------
++++++ python-pyflakes.spec ++++++
--- /var/tmp/diff_new_pack.jUVrlC/_old  2021-11-06 18:13:41.116748939 +0100
+++ /var/tmp/diff_new_pack.jUVrlC/_new  2021-11-06 18:13:41.116748939 +0100
@@ -17,9 +17,8 @@
 
 
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
-%bcond_without  test
 Name:           python-pyflakes
-Version:        2.3.1
+Version:        2.4.0
 Release:        0
 Summary:        Passive checker of Python programs
 License:        MIT
@@ -52,10 +51,8 @@
 %python_expand %fdupes %{buildroot}%{$python_sitelib}/pyflakes/
 %python_clone -a %{buildroot}%{_bindir}/pyflakes
 
-%if %{with test}
 %check
-%python_exec setup.py test
-%endif
+%pyunittest discover -v
 
 %post
 %python_install_alternative pyflakes

++++++ pyflakes-2.3.1.tar.gz -> pyflakes-2.4.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyflakes-2.3.1/NEWS.rst new/pyflakes-2.4.0/NEWS.rst
--- old/pyflakes-2.3.1/NEWS.rst 2021-03-24 17:31:00.000000000 +0100
+++ new/pyflakes-2.4.0/NEWS.rst 2021-10-06 22:38:52.000000000 +0200
@@ -1,3 +1,9 @@
+2.4.0 (2021-10-06)
+
+- Remove unused tracing code (``traceTree``)
+- Add support for ``match`` statement
+- Detect ``typing`` module attributes when imported with ``import ... as ...``
+
 2.3.1 (2021-03-24)
 
 - Fix regression in 2.3.0: type annotations no longer redefine imports
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyflakes-2.3.1/PKG-INFO new/pyflakes-2.4.0/PKG-INFO
--- old/pyflakes-2.3.1/PKG-INFO 2021-03-24 17:32:11.632774800 +0100
+++ new/pyflakes-2.4.0/PKG-INFO 2021-10-06 22:39:36.321480800 +0200
@@ -1,101 +1,11 @@
-Metadata-Version: 1.2
+Metadata-Version: 2.1
 Name: pyflakes
-Version: 2.3.1
+Version: 2.4.0
 Summary: passive checker of Python programs
 Home-page: https://github.com/PyCQA/pyflakes
 Author: A lot of people
 Author-email: code-qual...@python.org
 License: MIT
-Description: ========
-        Pyflakes
-        ========
-        
-        A simple program which checks Python source files for errors.
-        
-        Pyflakes analyzes programs and detects various errors.  It works by
-        parsing the source file, not importing it, so it is safe to use on
-        modules with side effects.  It's also much faster.
-        
-        It is `available on PyPI <https://pypi.org/project/pyflakes/>`_
-        and it supports all active versions of Python: 2.7 and 3.4 to 3.8.
-        
-        
-        
-        Installation
-        ------------
-        
-        It can be installed with::
-        
-          $ pip install --upgrade pyflakes
-        
-        
-        Useful tips:
-        
-        * Be sure to install it for a version of Python which is compatible
-          with your codebase: for Python 2, ``pip2 install pyflakes`` and for
-          Python3, ``pip3 install pyflakes``.
-        
-        * You can also invoke Pyflakes with ``python3 -m pyflakes .`` or
-          ``python2 -m pyflakes .`` if you have it installed for both versions.
-        
-        * If you require more options and more flexibility, you could give a
-          look to Flake8_ too.
-        
-        
-        Design Principles
-        -----------------
-        Pyflakes makes a simple promise: it will never complain about style,
-        and it will try very, very hard to never emit false positives.
-        
-        Pyflakes is also faster than Pylint_
-        or Pychecker_. This is
-        largely because Pyflakes only examines the syntax tree of each file
-        individually. As a consequence, Pyflakes is more limited in the
-        types of things it can check.
-        
-        If you like Pyflakes but also want stylistic checks, you want
-        flake8_, which combines
-        Pyflakes with style checks against
-        `PEP 8`_ and adds
-        per-project configuration ability.
-        
-        
-        Mailing-list
-        ------------
-        
-        Share your feedback and ideas: `subscribe to the mailing-list
-        <https://mail.python.org/mailman/listinfo/code-quality>`_
-        
-        Contributing
-        ------------
-        
-        Issues are tracked on `GitHub 
<https://github.com/PyCQA/pyflakes/issues>`_.
-        
-        Patches may be submitted via a `GitHub pull request`_ or via the 
mailing list
-        if you prefer. If you are comfortable doing so, please `rebase your 
changes`_
-        so they may be applied to master with a fast-forward merge, and each 
commit is
-        a coherent unit of work with a well-written log message.  If you are 
not
-        comfortable with this rebase workflow, the project maintainers will be 
happy to
-        rebase your commits for you.
-        
-        All changes should include tests and pass flake8_.
-        
-        .. image:: https://github.com/PyCQA/pyflakes/workflows/Test/badge.svg
-           :target: https://github.com/PyCQA/pyflakes/actions
-           :alt: GitHub Actions build status
-        
-        .. _Pylint: https://www.pylint.org/
-        .. _flake8: https://pypi.org/project/flake8/
-        .. _`PEP 8`: https://www.python.org/dev/peps/pep-0008/
-        .. _Pychecker: http://pychecker.sourceforge.net/
-        .. _`rebase your changes`: 
https://git-scm.com/book/en/v2/Git-Branching-Rebasing
-        .. _`GitHub pull request`: https://github.com/PyCQA/pyflakes/pulls
-        
-        Changelog
-        ---------
-        
-        Please see `NEWS.rst 
<https://github.com/PyCQA/pyflakes/blob/master/NEWS.rst>`_.
-        
 Platform: UNKNOWN
 Classifier: Development Status :: 6 - Mature
 Classifier: Environment :: Console
@@ -115,3 +25,94 @@
 Classifier: Topic :: Software Development
 Classifier: Topic :: Utilities
 Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*
+License-File: LICENSE
+
+========
+Pyflakes
+========
+
+A simple program which checks Python source files for errors.
+
+Pyflakes analyzes programs and detects various errors.  It works by
+parsing the source file, not importing it, so it is safe to use on
+modules with side effects.  It's also much faster.
+
+It is `available on PyPI <https://pypi.org/project/pyflakes/>`_
+and it supports all active versions of Python: 2.7 and 3.4 to 3.8.
+
+
+
+Installation
+------------
+
+It can be installed with::
+
+  $ pip install --upgrade pyflakes
+
+
+Useful tips:
+
+* Be sure to install it for a version of Python which is compatible
+  with your codebase: for Python 2, ``pip2 install pyflakes`` and for
+  Python3, ``pip3 install pyflakes``.
+
+* You can also invoke Pyflakes with ``python3 -m pyflakes .`` or
+  ``python2 -m pyflakes .`` if you have it installed for both versions.
+
+* If you require more options and more flexibility, you could give a
+  look to Flake8_ too.
+
+
+Design Principles
+-----------------
+Pyflakes makes a simple promise: it will never complain about style,
+and it will try very, very hard to never emit false positives.
+
+Pyflakes is also faster than Pylint_. This is
+largely because Pyflakes only examines the syntax tree of each file
+individually. As a consequence, Pyflakes is more limited in the
+types of things it can check.
+
+If you like Pyflakes but also want stylistic checks, you want
+flake8_, which combines
+Pyflakes with style checks against
+`PEP 8`_ and adds
+per-project configuration ability.
+
+
+Mailing-list
+------------
+
+Share your feedback and ideas: `subscribe to the mailing-list
+<https://mail.python.org/mailman/listinfo/code-quality>`_
+
+Contributing
+------------
+
+Issues are tracked on `GitHub <https://github.com/PyCQA/pyflakes/issues>`_.
+
+Patches may be submitted via a `GitHub pull request`_ or via the mailing list
+if you prefer. If you are comfortable doing so, please `rebase your changes`_
+so they may be applied to master with a fast-forward merge, and each commit is
+a coherent unit of work with a well-written log message.  If you are not
+comfortable with this rebase workflow, the project maintainers will be happy to
+rebase your commits for you.
+
+All changes should include tests and pass flake8_.
+
+.. image:: https://github.com/PyCQA/pyflakes/workflows/Test/badge.svg
+   :target: https://github.com/PyCQA/pyflakes/actions
+   :alt: GitHub Actions build status
+
+.. _Pylint: https://www.pylint.org/
+.. _flake8: https://pypi.org/project/flake8/
+.. _`PEP 8`: https://www.python.org/dev/peps/pep-0008/
+.. _`rebase your changes`: 
https://git-scm.com/book/en/v2/Git-Branching-Rebasing
+.. _`GitHub pull request`: https://github.com/PyCQA/pyflakes/pulls
+
+Changelog
+---------
+
+Please see `NEWS.rst 
<https://github.com/PyCQA/pyflakes/blob/master/NEWS.rst>`_.
+
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyflakes-2.3.1/README.rst 
new/pyflakes-2.4.0/README.rst
--- old/pyflakes-2.3.1/README.rst       2021-03-24 17:30:16.000000000 +0100
+++ new/pyflakes-2.4.0/README.rst       2021-10-06 01:27:26.000000000 +0200
@@ -39,8 +39,7 @@
 Pyflakes makes a simple promise: it will never complain about style,
 and it will try very, very hard to never emit false positives.
 
-Pyflakes is also faster than Pylint_
-or Pychecker_. This is
+Pyflakes is also faster than Pylint_. This is
 largely because Pyflakes only examines the syntax tree of each file
 individually. As a consequence, Pyflakes is more limited in the
 types of things it can check.
@@ -79,7 +78,6 @@
 .. _Pylint: https://www.pylint.org/
 .. _flake8: https://pypi.org/project/flake8/
 .. _`PEP 8`: https://www.python.org/dev/peps/pep-0008/
-.. _Pychecker: http://pychecker.sourceforge.net/
 .. _`rebase your changes`: 
https://git-scm.com/book/en/v2/Git-Branching-Rebasing
 .. _`GitHub pull request`: https://github.com/PyCQA/pyflakes/pulls
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyflakes-2.3.1/pyflakes/__init__.py 
new/pyflakes-2.4.0/pyflakes/__init__.py
--- old/pyflakes-2.3.1/pyflakes/__init__.py     2021-03-24 17:31:12.000000000 
+0100
+++ new/pyflakes-2.4.0/pyflakes/__init__.py     2021-10-06 22:38:52.000000000 
+0200
@@ -1 +1 @@
-__version__ = '2.3.1'
+__version__ = '2.4.0'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyflakes-2.3.1/pyflakes/checker.py 
new/pyflakes-2.4.0/pyflakes/checker.py
--- old/pyflakes-2.3.1/pyflakes/checker.py      2021-03-24 17:30:16.000000000 
+0100
+++ new/pyflakes-2.4.0/pyflakes/checker.py      2021-10-06 01:27:26.000000000 
+0200
@@ -275,7 +275,8 @@
             yield field
         elif isinstance(field, list):
             for item in field:
-                yield item
+                if isinstance(item, ast.AST):
+                    yield item
 
 
 def convert_to_value(item):
@@ -691,6 +692,8 @@
         return node.id
     if hasattr(node, 'name'):   # an ExceptHandler node
         return node.name
+    if hasattr(node, 'rest'):   # a MatchMapping node
+        return node.rest
 
 
 TYPING_MODULES = frozenset(('typing', 'typing_extensions'))
@@ -717,6 +720,16 @@
 
         return False
 
+    def _module_scope_is_typing(name):
+        for scope in reversed(scope_stack):
+            if name in scope:
+                return (
+                    isinstance(scope[name], Importation) and
+                    scope[name].fullName in TYPING_MODULES
+                )
+
+        return False
+
     return (
         (
             isinstance(node, ast.Name) and
@@ -724,7 +737,7 @@
         ) or (
             isinstance(node, ast.Attribute) and
             isinstance(node.value, ast.Name) and
-            node.value.id in TYPING_MODULES and
+            _module_scope_is_typing(node.value.id) and
             is_name_match_fn(node.attr)
         )
     )
@@ -868,7 +881,6 @@
 
     nodeDepth = 0
     offset = None
-    traceTree = False
     _in_annotation = AnnotationState.NONE
     _in_deferred = False
 
@@ -1393,8 +1405,6 @@
         if self.offset and getattr(node, 'lineno', None) is not None:
             node.lineno += self.offset[0]
             node.col_offset += self.offset[1]
-        if self.traceTree:
-            print('  ' * self.nodeDepth + node.__class__.__name__)
         if self.futuresAllowed and not (isinstance(node, ast.ImportFrom) or
                                         self.isDocstring(node)):
             self.futuresAllowed = False
@@ -1406,8 +1416,6 @@
             handler(node)
         finally:
             self.nodeDepth -= 1
-        if self.traceTree:
-            print('  ' * self.nodeDepth + 'end ' + node.__class__.__name__)
 
     _getDoctestExamples = doctest.DocTestParser().get_examples
 
@@ -2383,3 +2391,12 @@
             left = right
 
         self.handleChildren(node)
+
+    MATCH = MATCH_CASE = MATCHCLASS = MATCHOR = MATCHSEQUENCE = handleChildren
+    MATCHSINGLETON = MATCHVALUE = handleChildren
+
+    def _match_target(self, node):
+        self.handleNodeStore(node)
+        self.handleChildren(node)
+
+    MATCHAS = MATCHMAPPING = MATCHSTAR = _match_target
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyflakes-2.3.1/pyflakes/test/test_api.py 
new/pyflakes-2.4.0/pyflakes/test/test_api.py
--- old/pyflakes-2.3.1/pyflakes/test/test_api.py        2021-03-24 
17:30:16.000000000 +0100
+++ new/pyflakes-2.4.0/pyflakes/test/test_api.py        2021-10-06 
01:27:26.000000000 +0200
@@ -441,7 +441,7 @@
             evaluate(source)
         except SyntaxError:
             e = sys.exc_info()[1]
-            if not PYPY:
+            if not PYPY and sys.version_info < (3, 10):
                 self.assertTrue(e.text.count('\n') > 1)
         else:
             self.fail()
@@ -449,10 +449,17 @@
         with self.makeTempFile(source) as sourcePath:
             if PYPY:
                 message = 'end of file (EOF) while scanning triple-quoted 
string literal'
+            elif sys.version_info >= (3, 10):
+                message = 'unterminated triple-quoted string literal (detected 
at line 8)'  # noqa: E501
             else:
                 message = 'invalid syntax'
 
-            column = 8 if sys.version_info >= (3, 8) else 11
+            if sys.version_info >= (3, 10):
+                column = 12
+            elif sys.version_info >= (3, 8):
+                column = 8
+            else:
+                column = 11
             self.assertHasErrors(
                 sourcePath,
                 ["""\
@@ -468,21 +475,25 @@
         """
         with self.makeTempFile("def foo(") as sourcePath:
             if PYPY:
-                result = """\
-%s:1:7: parenthesis is never closed
-def foo(
-      ^
-""" % (sourcePath,)
+                msg = 'parenthesis is never closed'
+            elif sys.version_info >= (3, 10):
+                msg = "'(' was never closed"
             else:
-                result = """\
-%s:1:9: unexpected EOF while parsing
-def foo(
-        ^
-""" % (sourcePath,)
+                msg = 'unexpected EOF while parsing'
 
-            self.assertHasErrors(
-                sourcePath,
-                [result])
+            if PYPY:
+                column = 7
+            elif sys.version_info >= (3, 10):
+                column = 8
+            else:
+                column = 9
+
+            spaces = ' ' * (column - 1)
+            expected = '{}:1:{}: {}\ndef foo(\n{}^\n'.format(
+                sourcePath, column, msg, spaces
+            )
+
+            self.assertHasErrors(sourcePath, [expected])
 
     def test_eofSyntaxErrorWithTab(self):
         """
@@ -515,6 +526,8 @@
             if ERROR_HAS_LAST_LINE:
                 if PYPY:
                     column = 7
+                elif sys.version_info >= (3, 10):
+                    column = 18
                 elif sys.version_info >= (3, 9):
                     column = 21
                 elif sys.version_info >= (3, 8):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyflakes-2.3.1/pyflakes/test/test_match.py 
new/pyflakes-2.4.0/pyflakes/test/test_match.py
--- old/pyflakes-2.3.1/pyflakes/test/test_match.py      1970-01-01 
01:00:00.000000000 +0100
+++ new/pyflakes-2.4.0/pyflakes/test/test_match.py      2021-10-06 
01:27:26.000000000 +0200
@@ -0,0 +1,83 @@
+from sys import version_info
+
+from pyflakes.test.harness import TestCase, skipIf
+
+
+@skipIf(version_info < (3, 10), "Python >= 3.10 only")
+class TestMatch(TestCase):
+    def test_match_bindings(self):
+        self.flakes('''
+            def f():
+                x = 1
+                match x:
+                    case 1 as y:
+                        print(f'matched as {y}')
+        ''')
+        self.flakes('''
+            def f():
+                x = [1, 2, 3]
+                match x:
+                    case [1, y, 3]:
+                        print(f'matched {y}')
+        ''')
+        self.flakes('''
+            def f():
+                x = {'foo': 1}
+                match x:
+                    case {'foo': y}:
+                        print(f'matched {y}')
+        ''')
+
+    def test_match_pattern_matched_class(self):
+        self.flakes('''
+            from a import B
+
+            match 1:
+                case B(x=1) as y:
+                    print(f'matched {y}')
+        ''')
+        self.flakes('''
+            from a import B
+
+            match 1:
+                case B(a, x=z) as y:
+                    print(f'matched {y} {a} {z}')
+        ''')
+
+    def test_match_placeholder(self):
+        self.flakes('''
+            def f():
+                match 1:
+                    case _:
+                        print('catchall!')
+        ''')
+
+    def test_match_singleton(self):
+        self.flakes('''
+            match 1:
+                case True:
+                    print('true')
+        ''')
+
+    def test_match_or_pattern(self):
+        self.flakes('''
+            match 1:
+                case 1 | 2:
+                    print('one or two')
+        ''')
+
+    def test_match_star(self):
+        self.flakes('''
+            x = [1, 2, 3]
+            match x:
+                case [1, *y]:
+                    print(f'captured: {y}')
+        ''')
+
+    def test_match_double_star(self):
+        self.flakes('''
+            x = {'foo': 'bar', 'baz': 'womp'}
+            match x:
+                case {'foo': k1, **rest}:
+                    print(f'{k1=} {rest=}')
+        ''')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pyflakes-2.3.1/pyflakes/test/test_type_annotations.py 
new/pyflakes-2.4.0/pyflakes/test/test_type_annotations.py
--- old/pyflakes-2.3.1/pyflakes/test/test_type_annotations.py   2021-03-24 
17:30:16.000000000 +0100
+++ new/pyflakes-2.4.0/pyflakes/test/test_type_annotations.py   2021-10-06 
01:27:26.000000000 +0200
@@ -121,6 +121,23 @@
             def f(self, x): return x
         """)
 
+    def test_aliased_import(self):
+        """Detect when typing is imported as another name"""
+        self.flakes("""
+        import typing as t
+
+        @t.overload
+        def f(s):  # type: (None) -> None
+            pass
+
+        @t.overload
+        def f(s):  # type: (int) -> int
+            pass
+
+        def f(s):
+            return s
+        """)
+
     def test_not_a_typing_overload(self):
         """regression test for @typing.overload detection bug in 2.1.0"""
         self.flakes("""
@@ -531,7 +548,7 @@
     def test_type_cast_literal_str_to_str(self):
         # Checks that our handling of quoted type annotations in the first
         # argument to `cast` doesn't cause issues when (only) the _second_
-        # argument is a literal str which looks a bit like a type annoation.
+        # argument is a literal str which looks a bit like a type annotation.
         self.flakes("""
         from typing import cast
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyflakes-2.3.1/pyflakes.egg-info/PKG-INFO 
new/pyflakes-2.4.0/pyflakes.egg-info/PKG-INFO
--- old/pyflakes-2.3.1/pyflakes.egg-info/PKG-INFO       2021-03-24 
17:32:11.000000000 +0100
+++ new/pyflakes-2.4.0/pyflakes.egg-info/PKG-INFO       2021-10-06 
22:39:36.000000000 +0200
@@ -1,101 +1,11 @@
-Metadata-Version: 1.2
+Metadata-Version: 2.1
 Name: pyflakes
-Version: 2.3.1
+Version: 2.4.0
 Summary: passive checker of Python programs
 Home-page: https://github.com/PyCQA/pyflakes
 Author: A lot of people
 Author-email: code-qual...@python.org
 License: MIT
-Description: ========
-        Pyflakes
-        ========
-        
-        A simple program which checks Python source files for errors.
-        
-        Pyflakes analyzes programs and detects various errors.  It works by
-        parsing the source file, not importing it, so it is safe to use on
-        modules with side effects.  It's also much faster.
-        
-        It is `available on PyPI <https://pypi.org/project/pyflakes/>`_
-        and it supports all active versions of Python: 2.7 and 3.4 to 3.8.
-        
-        
-        
-        Installation
-        ------------
-        
-        It can be installed with::
-        
-          $ pip install --upgrade pyflakes
-        
-        
-        Useful tips:
-        
-        * Be sure to install it for a version of Python which is compatible
-          with your codebase: for Python 2, ``pip2 install pyflakes`` and for
-          Python3, ``pip3 install pyflakes``.
-        
-        * You can also invoke Pyflakes with ``python3 -m pyflakes .`` or
-          ``python2 -m pyflakes .`` if you have it installed for both versions.
-        
-        * If you require more options and more flexibility, you could give a
-          look to Flake8_ too.
-        
-        
-        Design Principles
-        -----------------
-        Pyflakes makes a simple promise: it will never complain about style,
-        and it will try very, very hard to never emit false positives.
-        
-        Pyflakes is also faster than Pylint_
-        or Pychecker_. This is
-        largely because Pyflakes only examines the syntax tree of each file
-        individually. As a consequence, Pyflakes is more limited in the
-        types of things it can check.
-        
-        If you like Pyflakes but also want stylistic checks, you want
-        flake8_, which combines
-        Pyflakes with style checks against
-        `PEP 8`_ and adds
-        per-project configuration ability.
-        
-        
-        Mailing-list
-        ------------
-        
-        Share your feedback and ideas: `subscribe to the mailing-list
-        <https://mail.python.org/mailman/listinfo/code-quality>`_
-        
-        Contributing
-        ------------
-        
-        Issues are tracked on `GitHub 
<https://github.com/PyCQA/pyflakes/issues>`_.
-        
-        Patches may be submitted via a `GitHub pull request`_ or via the 
mailing list
-        if you prefer. If you are comfortable doing so, please `rebase your 
changes`_
-        so they may be applied to master with a fast-forward merge, and each 
commit is
-        a coherent unit of work with a well-written log message.  If you are 
not
-        comfortable with this rebase workflow, the project maintainers will be 
happy to
-        rebase your commits for you.
-        
-        All changes should include tests and pass flake8_.
-        
-        .. image:: https://github.com/PyCQA/pyflakes/workflows/Test/badge.svg
-           :target: https://github.com/PyCQA/pyflakes/actions
-           :alt: GitHub Actions build status
-        
-        .. _Pylint: https://www.pylint.org/
-        .. _flake8: https://pypi.org/project/flake8/
-        .. _`PEP 8`: https://www.python.org/dev/peps/pep-0008/
-        .. _Pychecker: http://pychecker.sourceforge.net/
-        .. _`rebase your changes`: 
https://git-scm.com/book/en/v2/Git-Branching-Rebasing
-        .. _`GitHub pull request`: https://github.com/PyCQA/pyflakes/pulls
-        
-        Changelog
-        ---------
-        
-        Please see `NEWS.rst 
<https://github.com/PyCQA/pyflakes/blob/master/NEWS.rst>`_.
-        
 Platform: UNKNOWN
 Classifier: Development Status :: 6 - Mature
 Classifier: Environment :: Console
@@ -115,3 +25,94 @@
 Classifier: Topic :: Software Development
 Classifier: Topic :: Utilities
 Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*
+License-File: LICENSE
+
+========
+Pyflakes
+========
+
+A simple program which checks Python source files for errors.
+
+Pyflakes analyzes programs and detects various errors.  It works by
+parsing the source file, not importing it, so it is safe to use on
+modules with side effects.  It's also much faster.
+
+It is `available on PyPI <https://pypi.org/project/pyflakes/>`_
+and it supports all active versions of Python: 2.7 and 3.4 to 3.8.
+
+
+
+Installation
+------------
+
+It can be installed with::
+
+  $ pip install --upgrade pyflakes
+
+
+Useful tips:
+
+* Be sure to install it for a version of Python which is compatible
+  with your codebase: for Python 2, ``pip2 install pyflakes`` and for
+  Python3, ``pip3 install pyflakes``.
+
+* You can also invoke Pyflakes with ``python3 -m pyflakes .`` or
+  ``python2 -m pyflakes .`` if you have it installed for both versions.
+
+* If you require more options and more flexibility, you could give a
+  look to Flake8_ too.
+
+
+Design Principles
+-----------------
+Pyflakes makes a simple promise: it will never complain about style,
+and it will try very, very hard to never emit false positives.
+
+Pyflakes is also faster than Pylint_. This is
+largely because Pyflakes only examines the syntax tree of each file
+individually. As a consequence, Pyflakes is more limited in the
+types of things it can check.
+
+If you like Pyflakes but also want stylistic checks, you want
+flake8_, which combines
+Pyflakes with style checks against
+`PEP 8`_ and adds
+per-project configuration ability.
+
+
+Mailing-list
+------------
+
+Share your feedback and ideas: `subscribe to the mailing-list
+<https://mail.python.org/mailman/listinfo/code-quality>`_
+
+Contributing
+------------
+
+Issues are tracked on `GitHub <https://github.com/PyCQA/pyflakes/issues>`_.
+
+Patches may be submitted via a `GitHub pull request`_ or via the mailing list
+if you prefer. If you are comfortable doing so, please `rebase your changes`_
+so they may be applied to master with a fast-forward merge, and each commit is
+a coherent unit of work with a well-written log message.  If you are not
+comfortable with this rebase workflow, the project maintainers will be happy to
+rebase your commits for you.
+
+All changes should include tests and pass flake8_.
+
+.. image:: https://github.com/PyCQA/pyflakes/workflows/Test/badge.svg
+   :target: https://github.com/PyCQA/pyflakes/actions
+   :alt: GitHub Actions build status
+
+.. _Pylint: https://www.pylint.org/
+.. _flake8: https://pypi.org/project/flake8/
+.. _`PEP 8`: https://www.python.org/dev/peps/pep-0008/
+.. _`rebase your changes`: 
https://git-scm.com/book/en/v2/Git-Branching-Rebasing
+.. _`GitHub pull request`: https://github.com/PyCQA/pyflakes/pulls
+
+Changelog
+---------
+
+Please see `NEWS.rst 
<https://github.com/PyCQA/pyflakes/blob/master/NEWS.rst>`_.
+
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyflakes-2.3.1/pyflakes.egg-info/SOURCES.txt 
new/pyflakes-2.4.0/pyflakes.egg-info/SOURCES.txt
--- old/pyflakes-2.3.1/pyflakes.egg-info/SOURCES.txt    2021-03-24 
17:32:11.000000000 +0100
+++ new/pyflakes-2.4.0/pyflakes.egg-info/SOURCES.txt    2021-10-06 
22:39:36.000000000 +0200
@@ -29,6 +29,7 @@
 pyflakes/test/test_doctests.py
 pyflakes/test/test_imports.py
 pyflakes/test/test_is_literal.py
+pyflakes/test/test_match.py
 pyflakes/test/test_other.py
 pyflakes/test/test_return_with_arguments_inside_generator.py
 pyflakes/test/test_type_annotations.py

Reply via email to