Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-flake8-deprecated for 
openSUSE:Factory checked in at 2022-12-16 17:51:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-flake8-deprecated (Old)
 and      /work/SRC/openSUSE:Factory/.python-flake8-deprecated.new.1835 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-flake8-deprecated"

Fri Dec 16 17:51:44 2022 rev:3 rq:1043222 version:2.0.1

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/python-flake8-deprecated/python-flake8-deprecated.changes
        2021-05-19 17:49:54.745400707 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-flake8-deprecated.new.1835/python-flake8-deprecated.changes
      2022-12-16 17:51:52.060088980 +0100
@@ -1,0 +2,13 @@
+Thu Dec 15 21:07:44 UTC 2022 - Dirk Müller <[email protected]>
+
+- update to 2.0.1:
+  * Handle subscripts in method calls, thanks to @The-Compiler for the
+    report. [gforcada]
+  * Test the code in all python versions supported on GitHub actions.
+    [gforcada]
+  * Pin dependencies, to ensure reproducible builds. [gforcada]
+  * Drop python 2.7 and only support 3.7+. [gforcada]
+  * Ensure all deprecation aliases work. [gforcada]
+  * Check decorators as well. [gforcada]
+
+-------------------------------------------------------------------

Old:
----
  flake8-deprecated-1.3.tar.gz

New:
----
  flake8-deprecated-2.0.1.tar.gz

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

Other differences:
------------------
++++++ python-flake8-deprecated.spec ++++++
--- /var/tmp/diff_new_pack.USboug/_old  2022-12-16 17:51:52.864093405 +0100
+++ /var/tmp/diff_new_pack.USboug/_new  2022-12-16 17:51:52.920093714 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package python-flake8-deprecated
 #
-# Copyright (c) 2021 SUSE LLC
+# Copyright (c) 2022 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -18,20 +18,21 @@
 
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
 Name:           python-flake8-deprecated
-Version:        1.3
+Version:        2.0.1
 Release:        0
 Summary:        Flake8 deprecations plugin
 License:        GPL-2.0-only
 Group:          Development/Languages/Python
 URL:            https://github.com/gforcada/flake8-deprecated
 Source:         
https://files.pythonhosted.org/packages/source/f/flake8-deprecated/flake8-deprecated-%{version}.tar.gz
+BuildRequires:  %{python_module base >= 3.7}
 BuildRequires:  %{python_module setuptools}
 BuildRequires:  fdupes
 BuildRequires:  python-rpm-macros
-Requires:       python-flake8 >= 3.0.0
+Requires:       python-flake8 >= 5.0.4
 BuildArch:      noarch
 # SECTION test requirements
-BuildRequires:  %{python_module flake8 >= 3.0.0}
+BuildRequires:  %{python_module flake8 >= 5.0.4}
 BuildRequires:  %{python_module pytest}
 # /SECTION
 %python_subpackages
@@ -54,7 +55,7 @@
 %pytest run_tests.py
 
 %files %{python_files}
-%license LICENSE LICENSE.rst
+%license LICENSE
 %doc CHANGES.rst README.rst
 %{python_sitelib}/*
 

++++++ flake8-deprecated-1.3.tar.gz -> flake8-deprecated-2.0.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/flake8-deprecated-1.3/CHANGES.rst 
new/flake8-deprecated-2.0.1/CHANGES.rst
--- old/flake8-deprecated-1.3/CHANGES.rst       2017-10-31 17:36:38.000000000 
+0100
+++ new/flake8-deprecated-2.0.1/CHANGES.rst     2022-10-11 09:06:44.000000000 
+0200
@@ -3,6 +3,24 @@
 Changelog
 =========
 
+2.0.1 (2022-10-11)
+------------------
+
+- Handle subscripts in method calls, thanks to @The-Compiler for the report. 
[gforcada]
+
+2.0.0 (2022-10-09)
+------------------
+
+- Test the code in all python versions supported on GitHub actions. [gforcada]
+
+- Pin dependencies, to ensure reproducible builds. [gforcada]
+
+- Drop python 2.7 and only support 3.7+. [gforcada]
+
+- Ensure all deprecation aliases work. [gforcada]
+
+- Check decorators as well. [gforcada]
+
 1.3 (2017-10-31)
 ----------------
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/flake8-deprecated-1.3/LICENSE.rst 
new/flake8-deprecated-2.0.1/LICENSE.rst
--- old/flake8-deprecated-1.3/LICENSE.rst       2017-10-31 17:36:38.000000000 
+0100
+++ new/flake8-deprecated-2.0.1/LICENSE.rst     1970-01-01 01:00:00.000000000 
+0100
@@ -1,17 +0,0 @@
-.. -*- coding: utf-8 -*-
-
-flake8-deprecated Copyright 2015, Gil Forcada
-
-This program is free software; you can redistribute it and/or
-modify it under the terms of the GNU General Public License version 2
-as published by the Free Software Foundation.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place, Suite 330, Boston,
-MA 02111-1307 USA.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/flake8-deprecated-1.3/MANIFEST.in 
new/flake8-deprecated-2.0.1/MANIFEST.in
--- old/flake8-deprecated-1.3/MANIFEST.in       2017-10-31 17:36:38.000000000 
+0100
+++ new/flake8-deprecated-2.0.1/MANIFEST.in     1970-01-01 01:00:00.000000000 
+0100
@@ -1,3 +0,0 @@
-include MANIFEST.in LICENSE *.rst *.py *.ini
-exclude .installed.cfg .coveragerc *.pyc
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/flake8-deprecated-1.3/PKG-INFO 
new/flake8-deprecated-2.0.1/PKG-INFO
--- old/flake8-deprecated-1.3/PKG-INFO  2017-10-31 17:36:38.000000000 +0100
+++ new/flake8-deprecated-2.0.1/PKG-INFO        2022-10-11 09:06:45.195644000 
+0200
@@ -1,133 +1,162 @@
-Metadata-Version: 1.1
+Metadata-Version: 2.1
 Name: flake8-deprecated
-Version: 1.3
+Version: 2.0.1
 Summary: Warns about deprecated method calls.
 Home-page: https://github.com/gforcada/flake8-deprecated
 Author: Gil Forcada
 Author-email: [email protected]
 License: GPL version 2
-Description-Content-Type: UNKNOWN
-Description: .. -*- coding: utf-8 -*-
-        
-        .. image:: 
https://travis-ci.org/gforcada/flake8-deprecated.svg?branch=master
-           :target: https://travis-ci.org/gforcada/flake8-deprecated
-        
-        .. image:: 
https://coveralls.io/repos/gforcada/flake8-deprecated/badge.svg?branch=master&service=github
-           :target: 
https://coveralls.io/github/gforcada/flake8-deprecated?branch=master
-        
-        Flake8 deprecations plugin
-        ==========================
-        No language, library or framework ever get everything right from the 
very beginning.
-        The project evolves, new features are added/changed/removed.
-        
-        This means that projects relying on them must keep an eye on what's 
currently best practices.
-        
-        This flake8 plugin helps you keeping up with method deprecations ans 
giving hints about what
-        they should be replaced with.
-        
-        This plugin is based on a python checker that was in 
`plone.recipe.codeanalysis`_.
-        
-        Install
-        -------
-        Install with pip::
-        
-            $ pip install flake8-deprecated
-        
-        Requirements
-        ------------
-        - Python 2.7, 3.5, 3.6
-        - flake8
-        
-        TODO
-        ----
-        - add a way to provide more deprecations on a per user basis(?), other 
plugins(?)
-        - add a way to ignore specific deprecations
-        
-        License
-        -------
-        GPL 2.0
-        
-        .. _`plone.recipe.codeanalysis`: 
https://pypi.python.org/pypi/plone.recipe.codeanalysis
-        
-        .. -*- coding: utf-8 -*-
-        
-        Changelog
-        =========
-        
-        1.3 (2017-10-31)
-        ----------------
-        
-        - Fix flake8 errors on this package and enforce them on CI.
-          [alexmuller]
-        
-        1.2.2.dev0 (2017-10-22)
-        -----------------------
-        
-        - Use the ast module to parse the code and ensure no false positives 
are found.
-          [alexmuller]
-        
-        1.2.1 (2017-07-24)
-        ------------------
-        - Fix UnicodeDecodeError if system locale is not UTF-8.
-          [sshishov]
-        
-        1.2 (2017-05-12)
-        ----------------
-        - added support for sublimetext (stdin/filename handling).
-          [iham]
-        
-        - Release as universal wheels.
-          [gforcada]
-        
-        - Only test against Python 2.7, 3.5 and 3.6.
-          It most probably works on earlier versions of 2.x and 3.x but it's 
pointless to test on them as well.
-          [gforcada]
-        
-        1.1 (2016-10-26)
-        ----------------
-        - Fix compatibility with flake8 3.
-          [gforcada]
-        
-        - Require flake8 > 3.0.
-          [gforcada]
-        
-        1.0 (2016-02-27)
-        ----------------
-        - Warn if using xmlconfig.file, self.loadZCML is the preferred option.
-          [gforcada]
-        
-        - Avoid false reports by suffixing an opening parenthesis on all 
methods.
-          [gforcada]
-        
-        - Add decorators from zope.interface and zope.component.
-          [gforcada]
-        
-        0.2 (2016-01-20)
-        ----------------
-        - Suggest to use AccessControl and zope.interface decorators.
-          [gforcada]
-        
-        0.1 (2015-09-17)
-        ----------------
-        - Initial release.
-          [gforcada]
-        
-        - Create the flake8 plugin per se.
-          [gforcada]
-        
-        
 Keywords: pep8 flake8 deprecations
 Platform: UNKNOWN
 Classifier: Development Status :: 5 - Production/Stable
 Classifier: Environment :: Console
+Classifier: Framework :: Flake8
 Classifier: Framework :: Plone
 Classifier: Intended Audience :: Developers
 Classifier: License :: OSI Approved :: GNU General Public License v2 (GPLv2)
 Classifier: Operating System :: OS Independent
 Classifier: Programming Language :: Python
-Classifier: Programming Language :: Python :: 2
-Classifier: Programming Language :: Python :: 2.7
 Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.5
-Classifier: Programming Language :: Python :: 3.6
+Classifier: Programming Language :: Python :: 3 :: Only
+Classifier: Programming Language :: Python :: 3.7
+Classifier: Programming Language :: Python :: 3.8
+Classifier: Programming Language :: Python :: 3.9
+Classifier: Programming Language :: Python :: 3.10
+Classifier: Programming Language :: Python :: Implementation :: CPython
+Classifier: Programming Language :: Python :: Implementation :: PyPy
+Classifier: Topic :: Software Development
 Classifier: Topic :: Software Development :: Quality Assurance
+Requires-Python: >=3.7
+Provides-Extra: test
+License-File: LICENSE
+
+
+.. -*- coding: utf-8 -*-
+
+.. image:: 
https://github.com/gforcada/flake8-deprecated/actions/workflows/testing.yml/badge.svg?branch=master
+   :target: 
https://github.com/gforcada/flake8-deprecated/actions/workflows/testing.yml
+
+.. image:: 
https://coveralls.io/repos/gforcada/flake8-deprecated/badge.svg?branch=master
+   :target: 
https://coveralls.io/github/gforcada/flake8-deprecated?branch=master
+
+Flake8 deprecations plugin
+==========================
+No language, library or framework ever get everything right from the very 
beginning.
+The project evolves, new features are added/changed/removed.
+
+This means that projects relying on them must keep an eye on what's currently 
best practices.
+
+This flake8 plugin helps you keeping up with method deprecations and giving 
hints about what
+they should be replaced with.
+
+This plugin is based on a python checker that was in 
`plone.recipe.codeanalysis`_.
+
+Install
+-------
+Install with pip::
+
+    $ pip install flake8-deprecated
+
+Requirements
+------------
+- Python 3.7, 3.8, 3.9, 3.10 and pypy3
+- flake8
+
+TODO
+----
+- add a way to provide more deprecations on a per user basis(?), other 
plugins(?)
+- add a way to ignore specific deprecations
+
+License
+-------
+GPL 2.0
+
+.. _`plone.recipe.codeanalysis`: 
https://pypi.python.org/pypi/plone.recipe.codeanalysis
+
+.. -*- coding: utf-8 -*-
+
+Changelog
+=========
+
+2.0.1 (2022-10-11)
+------------------
+
+- Handle subscripts in method calls, thanks to @The-Compiler for the report. 
[gforcada]
+
+2.0.0 (2022-10-09)
+------------------
+
+- Test the code in all python versions supported on GitHub actions. [gforcada]
+
+- Pin dependencies, to ensure reproducible builds. [gforcada]
+
+- Drop python 2.7 and only support 3.7+. [gforcada]
+
+- Ensure all deprecation aliases work. [gforcada]
+
+- Check decorators as well. [gforcada]
+
+1.3 (2017-10-31)
+----------------
+
+- Fix flake8 errors on this package and enforce them on CI.
+  [alexmuller]
+
+1.2.2.dev0 (2017-10-22)
+-----------------------
+
+- Use the ast module to parse the code and ensure no false positives are found.
+  [alexmuller]
+
+1.2.1 (2017-07-24)
+------------------
+- Fix UnicodeDecodeError if system locale is not UTF-8.
+  [sshishov]
+
+1.2 (2017-05-12)
+----------------
+- added support for sublimetext (stdin/filename handling).
+  [iham]
+
+- Release as universal wheels.
+  [gforcada]
+
+- Only test against Python 2.7, 3.5 and 3.6.
+  It most probably works on earlier versions of 2.x and 3.x but it's pointless 
to test on them as well.
+  [gforcada]
+
+1.1 (2016-10-26)
+----------------
+- Fix compatibility with flake8 3.
+  [gforcada]
+
+- Require flake8 > 3.0.
+  [gforcada]
+
+1.0 (2016-02-27)
+----------------
+- Warn if using xmlconfig.file, self.loadZCML is the preferred option.
+  [gforcada]
+
+- Avoid false reports by suffixing an opening parenthesis on all methods.
+  [gforcada]
+
+- Add decorators from zope.interface and zope.component.
+  [gforcada]
+
+0.2 (2016-01-20)
+----------------
+- Suggest to use AccessControl and zope.interface decorators.
+  [gforcada]
+
+0.1 (2015-09-17)
+----------------
+- Initial release.
+  [gforcada]
+
+- Create the flake8 plugin per se.
+  [gforcada]
+
+
+
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/flake8-deprecated-1.3/README.rst 
new/flake8-deprecated-2.0.1/README.rst
--- old/flake8-deprecated-1.3/README.rst        2017-10-31 17:36:38.000000000 
+0100
+++ new/flake8-deprecated-2.0.1/README.rst      2022-10-11 09:06:44.000000000 
+0200
@@ -1,9 +1,9 @@
 .. -*- coding: utf-8 -*-
 
-.. image:: https://travis-ci.org/gforcada/flake8-deprecated.svg?branch=master
-   :target: https://travis-ci.org/gforcada/flake8-deprecated
+.. image:: 
https://github.com/gforcada/flake8-deprecated/actions/workflows/testing.yml/badge.svg?branch=master
+   :target: 
https://github.com/gforcada/flake8-deprecated/actions/workflows/testing.yml
 
-.. image:: 
https://coveralls.io/repos/gforcada/flake8-deprecated/badge.svg?branch=master&service=github
+.. image:: 
https://coveralls.io/repos/gforcada/flake8-deprecated/badge.svg?branch=master
    :target: 
https://coveralls.io/github/gforcada/flake8-deprecated?branch=master
 
 Flake8 deprecations plugin
@@ -13,7 +13,7 @@
 
 This means that projects relying on them must keep an eye on what's currently 
best practices.
 
-This flake8 plugin helps you keeping up with method deprecations ans giving 
hints about what
+This flake8 plugin helps you keeping up with method deprecations and giving 
hints about what
 they should be replaced with.
 
 This plugin is based on a python checker that was in 
`plone.recipe.codeanalysis`_.
@@ -26,7 +26,7 @@
 
 Requirements
 ------------
-- Python 2.7, 3.5, 3.6
+- Python 3.7, 3.8, 3.9, 3.10 and pypy3
 - flake8
 
 TODO
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/flake8-deprecated-1.3/flake8_deprecated.egg-info/PKG-INFO 
new/flake8-deprecated-2.0.1/flake8_deprecated.egg-info/PKG-INFO
--- old/flake8-deprecated-1.3/flake8_deprecated.egg-info/PKG-INFO       
2017-10-31 17:36:38.000000000 +0100
+++ new/flake8-deprecated-2.0.1/flake8_deprecated.egg-info/PKG-INFO     
2022-10-11 09:06:45.000000000 +0200
@@ -1,133 +1,162 @@
-Metadata-Version: 1.1
+Metadata-Version: 2.1
 Name: flake8-deprecated
-Version: 1.3
+Version: 2.0.1
 Summary: Warns about deprecated method calls.
 Home-page: https://github.com/gforcada/flake8-deprecated
 Author: Gil Forcada
 Author-email: [email protected]
 License: GPL version 2
-Description-Content-Type: UNKNOWN
-Description: .. -*- coding: utf-8 -*-
-        
-        .. image:: 
https://travis-ci.org/gforcada/flake8-deprecated.svg?branch=master
-           :target: https://travis-ci.org/gforcada/flake8-deprecated
-        
-        .. image:: 
https://coveralls.io/repos/gforcada/flake8-deprecated/badge.svg?branch=master&service=github
-           :target: 
https://coveralls.io/github/gforcada/flake8-deprecated?branch=master
-        
-        Flake8 deprecations plugin
-        ==========================
-        No language, library or framework ever get everything right from the 
very beginning.
-        The project evolves, new features are added/changed/removed.
-        
-        This means that projects relying on them must keep an eye on what's 
currently best practices.
-        
-        This flake8 plugin helps you keeping up with method deprecations ans 
giving hints about what
-        they should be replaced with.
-        
-        This plugin is based on a python checker that was in 
`plone.recipe.codeanalysis`_.
-        
-        Install
-        -------
-        Install with pip::
-        
-            $ pip install flake8-deprecated
-        
-        Requirements
-        ------------
-        - Python 2.7, 3.5, 3.6
-        - flake8
-        
-        TODO
-        ----
-        - add a way to provide more deprecations on a per user basis(?), other 
plugins(?)
-        - add a way to ignore specific deprecations
-        
-        License
-        -------
-        GPL 2.0
-        
-        .. _`plone.recipe.codeanalysis`: 
https://pypi.python.org/pypi/plone.recipe.codeanalysis
-        
-        .. -*- coding: utf-8 -*-
-        
-        Changelog
-        =========
-        
-        1.3 (2017-10-31)
-        ----------------
-        
-        - Fix flake8 errors on this package and enforce them on CI.
-          [alexmuller]
-        
-        1.2.2.dev0 (2017-10-22)
-        -----------------------
-        
-        - Use the ast module to parse the code and ensure no false positives 
are found.
-          [alexmuller]
-        
-        1.2.1 (2017-07-24)
-        ------------------
-        - Fix UnicodeDecodeError if system locale is not UTF-8.
-          [sshishov]
-        
-        1.2 (2017-05-12)
-        ----------------
-        - added support for sublimetext (stdin/filename handling).
-          [iham]
-        
-        - Release as universal wheels.
-          [gforcada]
-        
-        - Only test against Python 2.7, 3.5 and 3.6.
-          It most probably works on earlier versions of 2.x and 3.x but it's 
pointless to test on them as well.
-          [gforcada]
-        
-        1.1 (2016-10-26)
-        ----------------
-        - Fix compatibility with flake8 3.
-          [gforcada]
-        
-        - Require flake8 > 3.0.
-          [gforcada]
-        
-        1.0 (2016-02-27)
-        ----------------
-        - Warn if using xmlconfig.file, self.loadZCML is the preferred option.
-          [gforcada]
-        
-        - Avoid false reports by suffixing an opening parenthesis on all 
methods.
-          [gforcada]
-        
-        - Add decorators from zope.interface and zope.component.
-          [gforcada]
-        
-        0.2 (2016-01-20)
-        ----------------
-        - Suggest to use AccessControl and zope.interface decorators.
-          [gforcada]
-        
-        0.1 (2015-09-17)
-        ----------------
-        - Initial release.
-          [gforcada]
-        
-        - Create the flake8 plugin per se.
-          [gforcada]
-        
-        
 Keywords: pep8 flake8 deprecations
 Platform: UNKNOWN
 Classifier: Development Status :: 5 - Production/Stable
 Classifier: Environment :: Console
+Classifier: Framework :: Flake8
 Classifier: Framework :: Plone
 Classifier: Intended Audience :: Developers
 Classifier: License :: OSI Approved :: GNU General Public License v2 (GPLv2)
 Classifier: Operating System :: OS Independent
 Classifier: Programming Language :: Python
-Classifier: Programming Language :: Python :: 2
-Classifier: Programming Language :: Python :: 2.7
 Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.5
-Classifier: Programming Language :: Python :: 3.6
+Classifier: Programming Language :: Python :: 3 :: Only
+Classifier: Programming Language :: Python :: 3.7
+Classifier: Programming Language :: Python :: 3.8
+Classifier: Programming Language :: Python :: 3.9
+Classifier: Programming Language :: Python :: 3.10
+Classifier: Programming Language :: Python :: Implementation :: CPython
+Classifier: Programming Language :: Python :: Implementation :: PyPy
+Classifier: Topic :: Software Development
 Classifier: Topic :: Software Development :: Quality Assurance
+Requires-Python: >=3.7
+Provides-Extra: test
+License-File: LICENSE
+
+
+.. -*- coding: utf-8 -*-
+
+.. image:: 
https://github.com/gforcada/flake8-deprecated/actions/workflows/testing.yml/badge.svg?branch=master
+   :target: 
https://github.com/gforcada/flake8-deprecated/actions/workflows/testing.yml
+
+.. image:: 
https://coveralls.io/repos/gforcada/flake8-deprecated/badge.svg?branch=master
+   :target: 
https://coveralls.io/github/gforcada/flake8-deprecated?branch=master
+
+Flake8 deprecations plugin
+==========================
+No language, library or framework ever get everything right from the very 
beginning.
+The project evolves, new features are added/changed/removed.
+
+This means that projects relying on them must keep an eye on what's currently 
best practices.
+
+This flake8 plugin helps you keeping up with method deprecations and giving 
hints about what
+they should be replaced with.
+
+This plugin is based on a python checker that was in 
`plone.recipe.codeanalysis`_.
+
+Install
+-------
+Install with pip::
+
+    $ pip install flake8-deprecated
+
+Requirements
+------------
+- Python 3.7, 3.8, 3.9, 3.10 and pypy3
+- flake8
+
+TODO
+----
+- add a way to provide more deprecations on a per user basis(?), other 
plugins(?)
+- add a way to ignore specific deprecations
+
+License
+-------
+GPL 2.0
+
+.. _`plone.recipe.codeanalysis`: 
https://pypi.python.org/pypi/plone.recipe.codeanalysis
+
+.. -*- coding: utf-8 -*-
+
+Changelog
+=========
+
+2.0.1 (2022-10-11)
+------------------
+
+- Handle subscripts in method calls, thanks to @The-Compiler for the report. 
[gforcada]
+
+2.0.0 (2022-10-09)
+------------------
+
+- Test the code in all python versions supported on GitHub actions. [gforcada]
+
+- Pin dependencies, to ensure reproducible builds. [gforcada]
+
+- Drop python 2.7 and only support 3.7+. [gforcada]
+
+- Ensure all deprecation aliases work. [gforcada]
+
+- Check decorators as well. [gforcada]
+
+1.3 (2017-10-31)
+----------------
+
+- Fix flake8 errors on this package and enforce them on CI.
+  [alexmuller]
+
+1.2.2.dev0 (2017-10-22)
+-----------------------
+
+- Use the ast module to parse the code and ensure no false positives are found.
+  [alexmuller]
+
+1.2.1 (2017-07-24)
+------------------
+- Fix UnicodeDecodeError if system locale is not UTF-8.
+  [sshishov]
+
+1.2 (2017-05-12)
+----------------
+- added support for sublimetext (stdin/filename handling).
+  [iham]
+
+- Release as universal wheels.
+  [gforcada]
+
+- Only test against Python 2.7, 3.5 and 3.6.
+  It most probably works on earlier versions of 2.x and 3.x but it's pointless 
to test on them as well.
+  [gforcada]
+
+1.1 (2016-10-26)
+----------------
+- Fix compatibility with flake8 3.
+  [gforcada]
+
+- Require flake8 > 3.0.
+  [gforcada]
+
+1.0 (2016-02-27)
+----------------
+- Warn if using xmlconfig.file, self.loadZCML is the preferred option.
+  [gforcada]
+
+- Avoid false reports by suffixing an opening parenthesis on all methods.
+  [gforcada]
+
+- Add decorators from zope.interface and zope.component.
+  [gforcada]
+
+0.2 (2016-01-20)
+----------------
+- Suggest to use AccessControl and zope.interface decorators.
+  [gforcada]
+
+0.1 (2015-09-17)
+----------------
+- Initial release.
+  [gforcada]
+
+- Create the flake8 plugin per se.
+  [gforcada]
+
+
+
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/flake8-deprecated-1.3/flake8_deprecated.egg-info/SOURCES.txt 
new/flake8-deprecated-2.0.1/flake8_deprecated.egg-info/SOURCES.txt
--- old/flake8-deprecated-1.3/flake8_deprecated.egg-info/SOURCES.txt    
2017-10-31 17:36:38.000000000 +0100
+++ new/flake8-deprecated-2.0.1/flake8_deprecated.egg-info/SOURCES.txt  
2022-10-11 09:06:45.000000000 +0200
@@ -1,13 +1,11 @@
 CHANGES.rst
 LICENSE
-LICENSE.rst
-MANIFEST.in
 README.rst
 flake8_deprecated.py
+requirements.txt
 run_tests.py
 setup.cfg
 setup.py
-tox.ini
 flake8_deprecated.egg-info/PKG-INFO
 flake8_deprecated.egg-info/SOURCES.txt
 flake8_deprecated.egg-info/dependency_links.txt
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/flake8-deprecated-1.3/flake8_deprecated.egg-info/requires.txt 
new/flake8-deprecated-2.0.1/flake8_deprecated.egg-info/requires.txt
--- old/flake8-deprecated-1.3/flake8_deprecated.egg-info/requires.txt   
2017-10-31 17:36:38.000000000 +0100
+++ new/flake8-deprecated-2.0.1/flake8_deprecated.egg-info/requires.txt 
2022-10-11 09:06:45.000000000 +0200
@@ -1 +1,4 @@
-flake8>=3.0.0
+flake8
+
+[test]
+pytest
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/flake8-deprecated-1.3/flake8_deprecated.py 
new/flake8-deprecated-2.0.1/flake8_deprecated.py
--- old/flake8-deprecated-1.3/flake8_deprecated.py      2017-10-31 
17:36:38.000000000 +0100
+++ new/flake8-deprecated-2.0.1/flake8_deprecated.py    2022-10-11 
09:06:44.000000000 +0200
@@ -1,45 +1,123 @@
-# -*- coding: utf-8 -*-
 import ast
 
 
-class Flake8Deprecated(object):
+class Flake8Deprecated:
     name = 'flake8_deprecated'
     version = '1.2'
     message = 'D001 found {0:s} replace it with {1:s}'
-    checks = {
-        'assertEqual': ('failUnlessEqual', 'assertEquals', ),
-        'assertNotEqual': ('failIfEqual', ),
-        'assertTrue': ('failUnless', 'assert_', ),
-        'assertFalse': ('failIf', ),
-        'assertRaises': ('failUnlessRaises', ),
-        'assertAlmostEqual': ('failUnlessAlmostEqual', ),
-        'assertNotAlmostEqual': ('failIfAlmostEqual', ),
-        'AccessControl.ClassSecurityInfo.protected': ('declareProtected', ),
-        'AccessControl.ClassSecurityInfo.private': ('declarePrivate', ),
-        'AccessControl.ClassSecurityInfo.public': ('declarePublic', ),
-        'zope.interface.provider': ('directlyProvides', ),
-        'zope.interface.implementer': ('classImplements', 'implements', ),
-        'self.loadZCML(': ('xmlconfig.file', ),
-        'zope.component.adapter': ('adapts', ),
+    deprecations = {
+        'assertEqual': (
+            'failUnlessEqual',
+            'assertEquals',
+        ),
+        'assertNotEqual': ('failIfEqual',),
+        'assertTrue': (
+            'failUnless',
+            'assert_',
+        ),
+        'assertFalse': ('failIf',),
+        'assertRaises': ('failUnlessRaises',),
+        'assertAlmostEqual': ('failUnlessAlmostEqual',),
+        'assertNotAlmostEqual': ('failIfAlmostEqual',),
+        'AccessControl.ClassSecurityInfo.protected': ('declareProtected',),
+        'AccessControl.ClassSecurityInfo.private': ('declarePrivate',),
+        'AccessControl.ClassSecurityInfo.public': ('declarePublic',),
+        'zope.interface.provider': ('directlyProvides',),
+        'zope.interface.implementer': (
+            'classImplements',
+            'implements',
+        ),
+        'self.loadZCML(': ('xmlconfig.file',),
+        'zope.component.adapter': ('adapts',),
     }
 
     def __init__(self, tree):
-        self.flat_checks = self._flatten_checks()
+        self.old_aliases = self._reverse_data()
         self.tree = tree
 
     def run(self):
         for node in ast.walk(self.tree):
-            if isinstance(node, ast.Call) and \
-               isinstance(node.func, ast.Attribute):
-                for newer_version, old_alias in self.flat_checks:
-                    if node.func.attr == old_alias:
-                        msg = self.message.format(old_alias, newer_version)
-                        yield node.lineno, node.col_offset, msg, type(self)
-
-    def _flatten_checks(self):
-        flattened_checks = []
-        for new_version, old_alias in self.checks.items():
-            for alias in old_alias:
-                flattened_checks.append((new_version, alias, ))
-
-        return flattened_checks
+            value = None
+            if isinstance(node, ast.Call):
+                value = self.check_calls(node)
+            elif isinstance(node, ast.FunctionDef):
+                value = self.check_decorators(node)
+
+            if value:
+                yield from value
+
+    def check_calls(self, node):
+        function_name = getattr(node.func, 'id', '')
+        if function_name:
+            value = self.check_function_call(node)
+        else:
+            value = self.check_method_call(node)
+
+        if value:
+            yield from value
+
+    def check_function_call(self, node):
+        function_name = node.func.id
+        for old_alias in self.old_aliases:
+            if function_name == old_alias:
+                yield self.error(node, old_alias)
+
+    def check_method_call(self, node):
+        """Check method calls, i.e. self.SOME_CALL()
+
+        Note that this can be endlessly nested, i.e. 
self.obj.another.more.SOME_CALL()
+        """
+        method_name = getattr(node.func, 'attr', None)
+        if not method_name:
+            return
+        is_obj = getattr(node.func, 'value', False)
+        for old_alias in self.old_aliases:
+            if method_name == old_alias:
+                yield self.error(node, old_alias)
+
+            elif '.' in old_alias and is_obj:
+                obj_name = getattr(node.func.value, 'attr', False)
+                obj_id = getattr(node.func.value, 'id', False)
+                for name in (obj_name, obj_id):
+                    if f'{name}.{method_name}' == old_alias:
+                        yield self.error(node, old_alias)
+
+    def check_decorators(self, node):
+        """Check decorators names for deprecated aliases
+
+        Check for function-style decorators, i.e @my_deprecated_decorator()
+        as well as for alias-like decorators, i.e @my_deprecated_decorator
+        """
+        for decorator in node.decorator_list:
+            name = None
+            if isinstance(decorator, ast.Attribute):
+                name = decorator.attr
+            elif isinstance(decorator, ast.Name):
+                name = decorator.id
+            if not name:
+                continue
+
+            for old_alias in self.old_aliases:
+                if name == old_alias:
+                    yield self.error(node, old_alias)
+
+    def _reverse_data(self):
+        """Reverse the deprecation dictionary
+
+        This way, we can more easily loop through the deprecated snippets.
+
+        We only care about the new version at error reporting time.
+        """
+        return {
+            old_alias: new_version
+            for new_version, alias_list in self.deprecations.items()
+            for old_alias in alias_list
+        }
+
+    def error(self, statement, old_alias):
+        return (
+            statement.lineno,
+            statement.col_offset,
+            self.message.format(self.old_aliases[old_alias], old_alias),
+            type(self),
+        )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/flake8-deprecated-1.3/requirements.txt 
new/flake8-deprecated-2.0.1/requirements.txt
--- old/flake8-deprecated-1.3/requirements.txt  1970-01-01 01:00:00.000000000 
+0100
+++ new/flake8-deprecated-2.0.1/requirements.txt        2022-10-11 
09:06:44.000000000 +0200
@@ -0,0 +1,172 @@
+#
+# This file is autogenerated by pip-compile with python 3.7
+# To update, run:
+#
+#    pip-compile requirements.in
+#
+attrs==22.1.0
+    # via
+    #   flake8-bugbear
+    #   pytest
+bandit==1.7.4
+    # via -r requirements.in
+black==22.10.0
+    # via -r requirements.in
+certifi==2022.9.24
+    # via requests
+charset-normalizer==2.1.1
+    # via requests
+click==8.1.3
+    # via
+    #   black
+    #   safety
+codespell==2.2.1
+    # via -r requirements.in
+coverage[toml]==6.5.0
+    # via
+    #   coveralls
+    #   pytest-cov
+coveralls==3.3.1
+    # via -r requirements.in
+docopt==0.6.2
+    # via coveralls
+dparse==0.6.2
+    # via safety
+flake8==5.0.4
+    # via
+    #   flake8-bugbear
+    #   flake8-comprehensions
+    #   flake8-debugger
+    #   flake8-deprecated
+    #   flake8-isort
+    #   flake8-pep3101
+    #   flake8-print
+    #   flake8-quotes
+flake8-blind-except==0.2.1
+    # via -r requirements.in
+flake8-bugbear==22.9.23
+    # via -r requirements.in
+flake8-comprehensions==3.10.0
+    # via -r requirements.in
+flake8-debugger==4.1.2
+    # via -r requirements.in
+flake8-deprecated==1.3
+    # via -r requirements.in
+flake8-isort==5.0.0
+    # via -r requirements.in
+flake8-pep3101==2.0.0
+    # via -r requirements.in
+flake8-print==5.0.0
+    # via -r requirements.in
+flake8-quotes==3.3.1
+    # via -r requirements.in
+flake8-todo==0.7
+    # via -r requirements.in
+gitdb==4.0.9
+    # via gitpython
+gitpython==3.1.28
+    # via bandit
+idna==3.4
+    # via requests
+importlib-metadata==4.2.0 ; python_version < "3.8"
+    # via
+    #   -r requirements.in
+    #   click
+    #   flake8
+    #   flake8-comprehensions
+    #   pluggy
+    #   pytest
+    #   stevedore
+iniconfig==1.1.1
+    # via pytest
+isort==5.10.1
+    # via
+    #   -r requirements.in
+    #   flake8-isort
+mccabe==0.7.0
+    # via flake8
+mypy==0.982
+    # via -r requirements.in
+mypy-extensions==0.4.3
+    # via
+    #   black
+    #   mypy
+packaging==21.3
+    # via
+    #   dparse
+    #   pytest
+    #   safety
+pathspec==0.10.1
+    # via black
+pbr==5.10.0
+    # via stevedore
+platformdirs==2.5.2
+    # via black
+pluggy==1.0.0
+    # via pytest
+py==1.11.0
+    # via pytest
+pycodestyle==2.9.1
+    # via
+    #   flake8
+    #   flake8-debugger
+    #   flake8-print
+    #   flake8-todo
+pyflakes==2.5.0
+    # via flake8
+pyparsing==3.0.9
+    # via packaging
+pytest==7.1.3
+    # via
+    #   -r requirements.in
+    #   pytest-cov
+pytest-cov==4.0.0
+    # via -r requirements.in
+pyupgrade==3.0.0
+    # via -r requirements.in
+pyyaml==6.0
+    # via bandit
+requests==2.28.1
+    # via
+    #   coveralls
+    #   safety
+ruamel-yaml==0.17.21
+    # via safety
+ruamel-yaml-clib==0.2.6
+    # via ruamel-yaml
+safety==2.3.1
+    # via -r requirements.in
+smmap==5.0.0
+    # via gitdb
+stevedore==3.5.0
+    # via bandit
+tokenize-rt==5.0.0
+    # via pyupgrade
+toml==0.10.2
+    # via dparse
+tomli==2.0.1
+    # via
+    #   black
+    #   coverage
+    #   mypy
+    #   pytest
+typed-ast==1.5.4 ; python_version < "3.8"
+    # via
+    #   -r requirements.in
+    #   black
+    #   mypy
+typing-extensions==4.4.0
+    # via
+    #   black
+    #   gitpython
+    #   importlib-metadata
+    #   mypy
+urllib3==1.26.12
+    # via requests
+zipp==3.9.0 ; python_version < "3.8"
+    # via
+    #   -r requirements.in
+    #   importlib-metadata
+
+# The following packages are considered to be unsafe in a requirements file:
+# setuptools
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/flake8-deprecated-1.3/run_tests.py 
new/flake8-deprecated-2.0.1/run_tests.py
--- old/flake8-deprecated-1.3/run_tests.py      2017-10-31 17:36:38.000000000 
+0100
+++ new/flake8-deprecated-2.0.1/run_tests.py    2022-10-11 09:06:44.000000000 
+0200
@@ -1,52 +1,188 @@
-# -*- coding: utf-8 -*-
-from flake8_deprecated import Flake8Deprecated
-
 import ast
-import unittest
+import textwrap
 
+import pytest
 
-class TestFlake8Deprecated(unittest.TestCase):
-
-    def _given_test_data(self, contents):
-        return ast.parse(contents)
+from flake8_deprecated import Flake8Deprecated
 
-    def test_no_deprecations_all_good(self):
-        tree = self._given_test_data('\n'.join([
-            'b = 3',
-            'b.lower()',
-        ]))
-        checker = Flake8Deprecated(tree)
-        ret = list(checker.run())
-        self.assertEqual(len(ret), 0)
-
-    def test_s_formatter(self):
-        tree = self._given_test_data('\n'.join([
-            'import unittest',
-            'unittest.failUnlessAlmostEqual()',
-        ]))
-        checker = Flake8Deprecated(tree)
-        ret = list(checker.run())
-        self.assertEqual(len(ret), 1)
-        self.assertEqual(ret[0][0], 2)
-        self.assertEqual(ret[0][1], 0)
-        self.assertEqual(
-            ret[0][2],
-            'D001 found failUnlessAlmostEqual replace it with '
-            'assertAlmostEqual'
-        )
-
-    def test_ignores_comments(self):
-        tree = self._given_test_data('\n'.join([
-            'import unittest',
-            '# Maybe we could use assertEquals() here?',
-            'unittest.assertEquals()',
-        ]))
-        checker = Flake8Deprecated(tree)
-        ret = list(checker.run())
-        self.assertEqual(len(ret), 1)
-        lint_line_number = ret[0][0]
-        self.assertEqual(lint_line_number, 3)
 
+def check_code(source, expected_codes=None):
+    """Check if the given source code generates the given flake8 errors
 
-if __name__ == '__main__':
-    unittest.main()
+    If `expected_codes` is a string is converted to a list,
+    if it is not given, then it is expected to **not** generate any error.
+    """
+    if isinstance(expected_codes, str):
+        expected_codes = [expected_codes]
+    elif expected_codes is None:
+        expected_codes = []
+
+    tree = ast.parse(textwrap.dedent(source))
+    checker = Flake8Deprecated(tree)
+    return_statements = list(checker.run())
+
+    assert len(return_statements) == len(expected_codes)
+    for item, code in zip(return_statements, expected_codes):
+        assert item[2].startswith(f'{code} ')
+
+
+def test_all_good():
+    source = 'a = 3'
+    check_code(source)
+
+
+def test_ignore_comments():
+    source = """
+    a = 3
+    # fortunately we remove all failIfEqual !
+    """
+    check_code(source)
+
+
+def test_error():
+    source = 'self.assertEquals()'
+    check_code(source, 'D001')
+
+
+def test_error_line():
+    source = """
+        import unittest
+        unittest.assertEquals()
+    """
+    tree = ast.parse(textwrap.dedent(source))
+    checker = Flake8Deprecated(tree)
+    return_statements = list(checker.run())
+
+    assert len(return_statements) == 1
+    assert return_statements[0][0] == 3
+
+
+def test_handle_subscripts():
+    source = """
+    funcs = [print]
+    funcs[0]("Hello World")
+    """
+    check_code(source)
+
+
+def test_error_column():
+    source = """
+        class Foo:
+            def test_all_good(self):
+                self.assertEquals()
+    """
+    tree = ast.parse(textwrap.dedent(source))
+    checker = Flake8Deprecated(tree)
+    return_statements = list(checker.run())
+
+    assert len(return_statements) == 1
+    assert return_statements[0][1] == 8
+
+
+def test_nested_method_call():
+    source = 'self.context.deep.chained.element.with_deprecated.assertEquals()'
+    check_code(source, 'D001')
+
+
+test_aliases = [
+    {
+        'name': old_alias.lower(),
+        'code': old_alias,
+    }
+    for old_alias, _ in Flake8Deprecated(None).old_aliases.items()
+]
+
+
[email protected](
+    'example',
+    test_aliases,
+    ids=[t['name'] for t in test_aliases],
+)
+def test_code_suggestions(example):
+    source = f'self.{example["code"]}()'
+    check_code(source, 'D001')
+
+
+decorator_test_cases = [
+    {
+        'name': 'decorator-basic',
+        'code': '@assertEquals()',
+    },
+    {
+        'name': 'decorator-basic-no-parenthesis',
+        'code': '@assertEquals',
+    },
+    {
+        'name': 'decorator-method-chain-basic',
+        'code': '@obj.assertEquals()',
+    },
+    {
+        'name': 'decorator-method-chain-deep',
+        'code': '@obj.another.yet_anoher.last_one.assertEquals()',
+    },
+    {
+        'name': 'decorator-method-chain-basic-no-parenthesis',
+        'code': '@obj.assertEquals',
+    },
+    {
+        'name': 'decorator-method-chain-deep-no-parenthesis',
+        'code': '@obj.another.yet_anoher.last_one.assertEquals',
+    },
+    {
+        'name': 'decorator-nested-first',
+        'code': """
+            @obj.assertEquals()
+            @another_decorator()
+        """,
+    },
+    {
+        'name': 'decorator-nested-last',
+        'code': """
+            @another_decorator()
+            @obj.assertEquals()
+        """,
+    },
+    {
+        'name': 'decorator-nested-in-between',
+        'code': """
+            @another_decorator()
+            @obj.assertEquals
+            @yet_another_decorator()
+        """,
+    },
+    {
+        'name': 'full-example-decorator-chained-in-method',
+        'code': """
+            class Foo:
+                @another_decorator()
+                @obj.another_one.yet_one_more.assertEquals
+                def my_method(self): ...
+        """,
+    },
+    {
+        'name': 'full-example-decorator-basic-in-method',
+        'code': """
+            class Foo:
+                @another_decorator()
+                @assertEquals
+                def my_method(self): ...
+        """,
+    },
+]
+
+
[email protected](
+    'testcase', decorator_test_cases, ids=[t['name'] for t in 
decorator_test_cases]
+)
+def test_decorators(testcase):
+    if 'nested' in testcase['name']:
+        indentation = ' ' * 4 * 3
+        source = f'{testcase["code"]}\n{indentation}def my_function(): ...'
+    elif 'full-example' in testcase['name']:
+        source = testcase['code']
+    else:
+        source = f"""
+        {testcase['code']}
+        def my_function(): ...
+        """
+    check_code(source, 'D001')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/flake8-deprecated-1.3/setup.cfg 
new/flake8-deprecated-2.0.1/setup.cfg
--- old/flake8-deprecated-1.3/setup.cfg 2017-10-31 17:36:38.000000000 +0100
+++ new/flake8-deprecated-2.0.1/setup.cfg       2022-10-11 09:06:45.196644000 
+0200
@@ -1,11 +1,12 @@
-[flake8]
-max-line-length = 80
-
 [zest.releaser]
 create-wheel = yes
 
-[bdist_wheel]
-universal = 1
+[check-manifest]
+ignore = 
+       .installed.cfg
+
+[isort]
+profile = black
 
 [egg_info]
 tag_build = 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/flake8-deprecated-1.3/setup.py 
new/flake8-deprecated-2.0.1/setup.py
--- old/flake8-deprecated-1.3/setup.py  2017-10-31 17:36:38.000000000 +0100
+++ new/flake8-deprecated-2.0.1/setup.py        2022-10-11 09:06:44.000000000 
+0200
@@ -1,49 +1,60 @@
-# -*- coding: utf-8 -*-
 from setuptools import setup
 
-
 short_description = 'Warns about deprecated method calls.'
 
 
-long_description = '{0}\n{1}'.format(
-    open('README.rst').read(),
-    open('CHANGES.rst').read()
-)
+def read_file(filename):
+    with open(filename) as file_obj:
+        file_contents = file_obj.read()
+    return file_contents
+
+
+long_description = f"""
+{read_file('README.rst')}
+{read_file('CHANGES.rst')}
+"""
 
 
 setup(
     name='flake8-deprecated',
-    version='1.3',
+    version='2.0.1',
     description=short_description,
     long_description=long_description,
-    # Get more from http://pypi.python.org/pypi?%3Aaction=list_classifiers
+    # Get more from https://pypi.org/classifiers/
     classifiers=[
         'Development Status :: 5 - Production/Stable',
         'Environment :: Console',
+        'Framework :: Flake8',
         'Framework :: Plone',
         'Intended Audience :: Developers',
         'License :: OSI Approved :: GNU General Public License v2 (GPLv2)',
         'Operating System :: OS Independent',
         'Programming Language :: Python',
-        'Programming Language :: Python :: 2',
-        'Programming Language :: Python :: 2.7',
         'Programming Language :: Python :: 3',
-        'Programming Language :: Python :: 3.5',
-        'Programming Language :: Python :: 3.6',
+        'Programming Language :: Python :: 3 :: Only',
+        'Programming Language :: Python :: 3.7',
+        'Programming Language :: Python :: 3.8',
+        'Programming Language :: Python :: 3.9',
+        'Programming Language :: Python :: 3.10',
+        'Programming Language :: Python :: Implementation :: CPython',
+        'Programming Language :: Python :: Implementation :: PyPy',
+        'Topic :: Software Development',
         'Topic :: Software Development :: Quality Assurance',
     ],
+    python_requires='>=3.7',
     keywords='pep8 flake8 deprecations',
     author='Gil Forcada',
     author_email='[email protected]',
     url='https://github.com/gforcada/flake8-deprecated',
     license='GPL version 2',
-    py_modules=['flake8_deprecated', ],
+    py_modules=[
+        'flake8_deprecated',
+    ],
     include_package_data=True,
     test_suite='run_tests',
     zip_safe=False,
-    install_requires=[
-        'flake8 >= 3.0.0',
-    ],
+    install_requires=['flake8'],
+    extras_require={'test': ['pytest']},
     entry_points={
         'flake8.extension': ['D001 = flake8_deprecated:Flake8Deprecated'],
     },
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/flake8-deprecated-1.3/tox.ini 
new/flake8-deprecated-2.0.1/tox.ini
--- old/flake8-deprecated-1.3/tox.ini   2017-10-31 17:36:38.000000000 +0100
+++ new/flake8-deprecated-2.0.1/tox.ini 1970-01-01 01:00:00.000000000 +0100
@@ -1,16 +0,0 @@
-[testenv]
-passenv=
-    TRAVIS*
-commands=
-    python run_tests.py
-
-[testenv:coverage]
-deps=
-    pytest
-    pytest-cov
-    coveralls
-    flake8
-commands=
-    flake8 *.py
-    py.test run_tests.py --cov flake8_deprecated --cov-report term-missing
-    coveralls

Reply via email to