Hello community,

here is the log from the commit of package python-irc for openSUSE:Factory 
checked in at 2019-01-21 11:00:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-irc (Old)
 and      /work/SRC/openSUSE:Factory/.python-irc.new.28833 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-irc"

Mon Jan 21 11:00:06 2019 rev:2 rq:666973 version:17.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-irc/python-irc.changes    2018-09-24 
13:11:20.693909304 +0200
+++ /work/SRC/openSUSE:Factory/.python-irc.new.28833/python-irc.changes 
2019-01-21 11:02:01.963144953 +0100
@@ -1,0 +2,9 @@
+Wed Jan  2 10:14:37 UTC 2019 - Tomáš Chvátal <[email protected]>
+
+- Sync with python-irclib package -> provides/obsoletes fun
+- Add patch fix-lint.patch to fix lint error
+- Update version to 17.0:
+  * Support for py3.7
+- Drop support for python2, dropped by upstream
+
+-------------------------------------------------------------------

Old:
----
  irc-16.4.tar.gz

New:
----
  fix-lint.patch
  irc-17.0.tar.gz

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

Other differences:
------------------
++++++ python-irc.spec ++++++
--- /var/tmp/diff_new_pack.af13iY/_old  2019-01-21 11:02:02.455144318 +0100
+++ /var/tmp/diff_new_pack.af13iY/_new  2019-01-21 11:02:02.455144318 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package python-irc
 #
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -12,96 +12,77 @@
 # license that conforms to the Open Source Definition (Version 1.9)
 # published by the Open Source Initiative.
 
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
 #
 
 
-%define _name   irc
+%define modname irc
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
+%define skip_python2 1
 Name:           python-irc
-Version:        16.4
+Version:        17.0
 Release:        0
-Summary:        IRC (Internet Relay Chat) protocol client library for Python
-License:        MIT
-Group:          Development/Languages/Python
-Url:            https://github.com/jaraco/irc
-Source:         
https://files.pythonhosted.org/packages/source/i/%{_name}/%{_name}-%{version}.tar.gz
+Summary:        A set of Python modules for IRC support
+License:        LGPL-2.1-or-later
+Group:          Development/Libraries/Python
+URL:            https://github.com/jaraco/irc
+Source:         
https://files.pythonhosted.org/packages/source/i/irc/%{modname}-%{version}.tar.gz
+Patch0:         fix-lint.patch
+BuildRequires:  %{python_module Sphinx}
+BuildRequires:  %{python_module jaraco.base}
 BuildRequires:  %{python_module jaraco.collections}
-BuildRequires:  %{python_module jaraco.functools}
 BuildRequires:  %{python_module jaraco.itertools}
 BuildRequires:  %{python_module jaraco.logging}
-BuildRequires:  %{python_module jaraco.stream}
+BuildRequires:  %{python_module jaraco.packaging}
 BuildRequires:  %{python_module jaraco.text}
+BuildRequires:  %{python_module more-itertools}
+BuildRequires:  %{python_module pygments}
+BuildRequires:  %{python_module pytest-runner}
 BuildRequires:  %{python_module pytz}
+BuildRequires:  %{python_module rst.linker}
 BuildRequires:  %{python_module setuptools_scm}
-BuildRequires:  %{python_module setuptools}
-# SECTION documentation requirements
-BuildRequires:  dos2unix
-BuildRequires:  python3-Sphinx
-BuildRequires:  python3-jaraco.packaging
-BuildRequires:  python3-rst.linker
-# /SECTION
-# SECTION test requirements
-BuildRequires:  %{python_module pytest-flake8}
-BuildRequires:  %{python_module pytest-runner}
-BuildRequires:  %{python_module pytest}
+BuildRequires:  %{python_module six}
 BuildRequires:  %{python_module tempora}
-BuildRequires:  python2-backports.functools_lru_cache
-BuildRequires:  python2-backports.unittest_mock
-# /SECTION
 BuildRequires:  fdupes
 BuildRequires:  python-rpm-macros
-Requires:       python-jaraco.collections
-Requires:       python-jaraco.functools
-Requires:       python-jaraco.itertools
-Requires:       python-jaraco.logging
-Requires:       python-jaraco.stream
-Requires:       python-jaraco.text
-Requires:       python-pytz
-Requires:       python-six
+Provides:       python-irclib = %{version}
+Obsoletes:      %{name}-doc
+Obsoletes:      python-irclib < %{version}
 BuildArch:      noarch
+%if 0%{?suse_version} > 1500
+BuildRequires:  %{python_module jaraco.stream}
+BuildRequires:  %{python_module pytest-flake8}
+BuildRequires:  %{python_module pytest-sugar}
+%endif
 %python_subpackages
 
 %description
 This library is intended to encapsulate the IRC protocol at a quite
-low level. It provides an event-driven IRC client framework. It
-has a fairly thorough support for the basic IRC protocol, CTCP and
-DCC connections.
-
-%package     -n %{name}-doc
-Summary:        Documentation for %{name}
-Group:          Documentation/HTML
-Requires:       %{name} = %{version}
-Provides:       %{python_module irc-doc = %{version}}
-
-%description -n %{name}-doc
-This package contains documentation files for %{name}.
+low level. It provides an event-driven IRC client framework. It has
+a fairly thorough support for the basic IRC protocol, CTCP and DCC
+connections.
 
 %prep
-%setup -q -n %{_name}-%{version}
-rm -rf irc.egg-info
-dos2unix docs/irc.rst docs/irc.tests.rst
+%setup -q -n %{modname}-%{version}
+%patch0 -p1
+sed -i -e '1s!/env python!/python!' scripts/testbot.py
 
 %build
 %python_build
-%{_python_use_flavor python3}
-%__python3 setup.py build_sphinx && rm build/sphinx/html/.buildinfo
 
 %install
 %python_install
-%python_expand %fdupes -s %{buildroot}%{$python_sitelib}
+%python_expand %fdupes %{buildroot}%{$python_sitelib}
 
+%if 0%{?suse_version} > 1500
 %check
-%{python_expand rm ./build/lib/irc/tests/test_client.py
-  $python %{_bindir}/py.test build/lib/irc
-}
+%python_exec setup.py pytest
+%endif
 
 %files %{python_files}
-%{python_sitelib}/*
-%doc README.rst
 %license LICENSE
-
-%files -n %{name}-doc
-%doc build/sphinx/html
+%doc CHANGES.rst README.rst
+%doc scripts/
+%{python_sitelib}/irc*
 
 %changelog

++++++ fix-lint.patch ++++++
Index: irc-17.0/scripts/irccat2-aio.py
===================================================================
--- irc-17.0.orig/scripts/irccat2-aio.py
+++ irc-17.0/scripts/irccat2-aio.py
@@ -70,6 +70,7 @@ def main():
             args.server, args.port, args.nickname, password=args.password
         )
     except irc.client.ServerConnectionError as x:
+        print(x)
         sys.exit(1)
 
     try:
++++++ irc-16.4.tar.gz -> irc-17.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/irc-16.4/.flake8 new/irc-17.0/.flake8
--- old/irc-16.4/.flake8        2018-08-01 21:51:55.000000000 +0200
+++ new/irc-17.0/.flake8        2018-10-21 22:58:00.000000000 +0200
@@ -4,3 +4,5 @@
        W191
        # W503 violates spec https://github.com/PyCQA/pycodestyle/issues/513
        W503
+       # W504 has issues 
https://github.com/OCA/maintainer-quality-tools/issues/545
+       W504
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/irc-16.4/.travis.yml new/irc-17.0/.travis.yml
--- old/irc-16.4/.travis.yml    2018-08-01 21:51:55.000000000 +0200
+++ new/irc-17.0/.travis.yml    2018-10-21 22:58:00.000000000 +0200
@@ -1,11 +1,10 @@
-dist: trusty
+dist: xenial
 sudo: false
 language: python
 
 python:
-- 2.7
 - 3.4
-- &latest_py3 3.6
+- &latest_py3 3.7
 
 jobs:
   fast_finish: true
@@ -25,11 +24,15 @@
         secure: 
R5wfKa9o9Ah+j0++cY8D/aQI4zhLKWVT0Kctb1b4HQsPzZIJh3xJGsf4MJsmwUHDT18avf2e/f9Z2VAuq7RfsfT8C0LQ90tDUUNtW6vlCmGYldEpeN/O1PSCm1DI3mmFtpkIO2hN9MObYGhI9n7Q1ld7ReXdPUNMC2J3cRr7rmSMTGhxAABgcc0RO1eT6tHq4ZztCYO8UfLWUz09waiBXNWgnHzr/DGUTqnKD/EYL2tUiITJCRPJ8yKgaYyzGuPX65kXJSARMCuixdMJjo5oR5dk9oAwAw+hKmFV8maM3ae65d89NmwHF9svCB7noGgKAZbZmLe3RlC0xEx4tuhr5CP5FzXXrPutCPaUxjqj4Ld12Gl2XiBh0aJsqaPt5TPM0Khy5rQH7ZVZh/vTJ6TYTtfazRD2O/NrS59k6ooQH5Tg5eZ+KsrzPhiA1ANudvm3uENfWWjHv8gURnNso4mkOQYPku1I9M5GXjBE5Vwtahlw3ySUZvkMznBYVqLVB2wDt1LTHUvQ/JKmkdEl1o74x/ICwAhJ/aCJva4Txkf3P3P1u9uIktrJuQALA9u7jVS15W2jumXe6eXubJhrRyfcLjdYbmZSWpF5CpbVoOnxyWkFNSS8fSIngsDIAhgky+NpZthYXx0hMVi20ZZH1qxHgFLDnd7VusHZxNe0Rr3xrDA=
       distributions: dists
       skip_cleanup: true
-      skip_upload_docs: true
 
 cache: pip
 
 install:
 - pip install tox tox-venv
 
+before_script:
+  # Disable IPv6. Ref travis-ci/travis-ci#8361
+  - if [ "${TRAVIS_OS_NAME}" == "linux" ]; then
+      sudo sh -c 'echo 0 > /proc/sys/net/ipv6/conf/all/disable_ipv6';
+    fi
 script: tox
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/irc-16.4/CHANGES.rst new/irc-17.0/CHANGES.rst
--- old/irc-16.4/CHANGES.rst    2018-08-01 21:51:55.000000000 +0200
+++ new/irc-17.0/CHANGES.rst    2018-10-21 22:58:00.000000000 +0200
@@ -1,6 +1,13 @@
+17.0
+====
+
+* Removed ``irc.buffer`` module, deprecated in 14.2.
+* #153: Drop support for Python 3.3 and 2.7.
+
 16.4
 ====
 
+* Long Term Service release for Python 2.7.
 * #149: ``AioConnection.connect`` moved to coroutine, added
   disconnect handling for AsyncIO.
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/irc-16.4/PKG-INFO new/irc-17.0/PKG-INFO
--- old/irc-16.4/PKG-INFO       2018-08-01 21:52:21.000000000 +0200
+++ new/irc-17.0/PKG-INFO       2018-10-21 22:58:30.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: irc
-Version: 16.4
+Version: 17.0
 Summary: IRC (Internet Relay Chat) protocol library for Python
 Home-page: https://github.com/jaraco/irc
 Author: Joel Rosdahl
@@ -26,6 +26,9 @@
            :alt: Join the chat at https://gitter.im/jaraco/irc
            :target: 
https://gitter.im/jaraco/irc?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
         
+        .. image:: https://tidelift.com/badges/github/jaraco/irc
+           :target: 
https://tidelift.com/subscription/pkg/pypi-irc?utm_source=pypi-irc&utm_medium=referral&utm_campaign=readme
+        
         Full-featured Python IRC library for Python.
         
         - `Project home <https://github.com/jaraco/irc>`_
@@ -44,18 +47,6 @@
         on the `IRC specifications
         
<http://web.archive.org/web/20160628193730/http://www.irchelp.org/irchelp/rfc/>`_.
         
-        Installation
-        ============
-        
-        IRC requires Python versions specified in the `download pages
-        <https://pypi.python.org/pypi/irc>`_ and definitely supports Python 3.
-        
-        You have several options to install the IRC project.
-        
-        * Use ``easy_install irc`` or ``pip install irc`` to grab the latest
-          version from the cheeseshop (recommended).
-        * Run ``python setup.py install`` (from the source distribution).
-        
         Client Features
         ===============
         
@@ -68,7 +59,7 @@
           connection object.
         * Messages from an IRC server triggers events, which can be caught
           by event handlers.
-        * Multiple opations for reading from and writing to an IRC server: 
+        * Multiple opations for reading from and writing to an IRC server:
           you can use sockets in an internal ``select()`` loop OR use
           python3's asyncio event loop
         * Functions can be registered to execute at specified times by the
@@ -102,9 +93,9 @@
           and read the source, Luke!
         
         * ``irc.client_aio``
-            
-          All the functionality of the above library, but utilizing 
-          Python 3's native asyncio library for the core event loop.  
+        
+          All the functionality of the above library, but utilizing
+          Python 3's native asyncio library for the core event loop.
           Interface/API is otherwise functionally identical to the classes
           in ``irc.client``
         
@@ -258,11 +249,9 @@
                     pass
             irc.client.ServerConnection.buffer_class = IgnoreErrorsBuffer
         
-        On Python 2, it was possible to use the ``buffer.LineBuffer`` itself, 
which will
-        pass the raw bytes. On Python 3, the library requires text for message
-        processing, so a decoding buffer must be used. Therefore, use of the
-        ``LineBuffer`` is considered deprecated and not supported on Python 3. 
Clients
-        should use one of the above techniques for decoding input to text.
+        The library requires text for message
+        processing, so a decoding buffer must be used. Clients
+        must use one of the above techniques for decoding input to text.
         
         Notes and Contact Info
         ======================
@@ -283,8 +272,7 @@
 Classifier: Development Status :: 5 - Production/Stable
 Classifier: Intended Audience :: Developers
 Classifier: License :: OSI Approved :: MIT License
-Classifier: Programming Language :: Python :: 2.7
 Classifier: Programming Language :: Python :: 3
-Requires-Python: >=2.7,!=3.0.*,!=3.1.*,!=3.2.*
+Requires-Python: >=3.4
 Provides-Extra: docs
 Provides-Extra: testing
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/irc-16.4/README.rst new/irc-17.0/README.rst
--- old/irc-16.4/README.rst     2018-08-01 21:51:55.000000000 +0200
+++ new/irc-17.0/README.rst     2018-10-21 22:58:00.000000000 +0200
@@ -16,6 +16,9 @@
    :alt: Join the chat at https://gitter.im/jaraco/irc
    :target: 
https://gitter.im/jaraco/irc?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
 
+.. image:: https://tidelift.com/badges/github/jaraco/irc
+   :target: 
https://tidelift.com/subscription/pkg/pypi-irc?utm_source=pypi-irc&utm_medium=referral&utm_campaign=readme
+
 Full-featured Python IRC library for Python.
 
 - `Project home <https://github.com/jaraco/irc>`_
@@ -34,18 +37,6 @@
 on the `IRC specifications
 
<http://web.archive.org/web/20160628193730/http://www.irchelp.org/irchelp/rfc/>`_.
 
-Installation
-============
-
-IRC requires Python versions specified in the `download pages
-<https://pypi.python.org/pypi/irc>`_ and definitely supports Python 3.
-
-You have several options to install the IRC project.
-
-* Use ``easy_install irc`` or ``pip install irc`` to grab the latest
-  version from the cheeseshop (recommended).
-* Run ``python setup.py install`` (from the source distribution).
-
 Client Features
 ===============
 
@@ -58,7 +49,7 @@
   connection object.
 * Messages from an IRC server triggers events, which can be caught
   by event handlers.
-* Multiple opations for reading from and writing to an IRC server: 
+* Multiple opations for reading from and writing to an IRC server:
   you can use sockets in an internal ``select()`` loop OR use
   python3's asyncio event loop
 * Functions can be registered to execute at specified times by the
@@ -92,9 +83,9 @@
   and read the source, Luke!
 
 * ``irc.client_aio``
-    
-  All the functionality of the above library, but utilizing 
-  Python 3's native asyncio library for the core event loop.  
+
+  All the functionality of the above library, but utilizing
+  Python 3's native asyncio library for the core event loop.
   Interface/API is otherwise functionally identical to the classes
   in ``irc.client``
 
@@ -248,11 +239,9 @@
             pass
     irc.client.ServerConnection.buffer_class = IgnoreErrorsBuffer
 
-On Python 2, it was possible to use the ``buffer.LineBuffer`` itself, which 
will
-pass the raw bytes. On Python 3, the library requires text for message
-processing, so a decoding buffer must be used. Therefore, use of the
-``LineBuffer`` is considered deprecated and not supported on Python 3. Clients
-should use one of the above techniques for decoding input to text.
+The library requires text for message
+processing, so a decoding buffer must be used. Clients
+must use one of the above techniques for decoding input to text.
 
 Notes and Contact Info
 ======================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/irc-16.4/appveyor.yml new/irc-17.0/appveyor.yml
--- old/irc-16.4/appveyor.yml   2018-08-01 21:51:55.000000000 +0200
+++ new/irc-17.0/appveyor.yml   2018-10-21 22:58:00.000000000 +0200
@@ -4,8 +4,7 @@
 
   matrix:
     - PYTHON: "C:\\Python36-x64"
-    - PYTHON: "C:\\Python27-x64"
-
+    - PYTHON: "C:\\Python37-x64"
 install:
   # symlink python from a directory with a space
   - "mklink /d \"C:\\Program Files\\Python\" %PYTHON%"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/irc-16.4/docs/conf.py new/irc-17.0/docs/conf.py
--- old/irc-16.4/docs/conf.py   2018-08-01 21:51:55.000000000 +0200
+++ new/irc-17.0/docs/conf.py   2018-10-21 22:58:00.000000000 +0200
@@ -17,7 +17,7 @@
                ),
                replace=[
                        dict(
-                               pattern=r'(Issue )?#(?P<issue>\d+)',
+                               pattern=r'(Issue #|\B#)(?P<issue>\d+)',
                                url='{package_url}/issues/{issue}',
                        ),
                        dict(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/irc-16.4/irc/bot.py new/irc-17.0/irc/bot.py
--- old/irc-16.4/irc/bot.py     2018-08-01 21:51:55.000000000 +0200
+++ new/irc-17.0/irc/bot.py     2018-10-21 22:58:00.000000000 +0200
@@ -7,8 +7,6 @@
 write simpler bots.
 """
 
-from __future__ import absolute_import
-
 import sys
 import collections
 import warnings
@@ -16,13 +14,10 @@
 import itertools
 import random
 
-import six
 import irc.client
 import irc.modes
 from .dict import IRCDict
 
-__metaclass__ = type
-
 
 class ServerSpec:
     """
@@ -51,8 +46,7 @@
         )
 
 
[email protected]_metaclass(abc.ABCMeta)
-class ReconnectStrategy:
+class ReconnectStrategy(metaclass=abc.ABCMeta):
     """
     An abstract base class describing the interface used by
     SingleServerIRCBot for handling reconnect following
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/irc-16.4/irc/buffer.py new/irc-17.0/irc/buffer.py
--- old/irc-16.4/irc/buffer.py  2018-08-01 21:51:55.000000000 +0200
+++ new/irc-17.0/irc/buffer.py  1970-01-01 01:00:00.000000000 +0100
@@ -1,23 +0,0 @@
-"""
-Backward compatibility module.
-"""
-
-import warnings
-
-from jaraco.stream.buffer import (
-       LineBuffer,
-       DecodingLineBuffer,
-       LenientDecodingLineBuffer,
-)
-
-__all__ = [
-       'LineBuffer',
-       'DecodingLineBuffer',
-       'LenientDecodingLineBuffer',
-]
-
-warnings.warn(
-       "irc.buffer module will be removed "
-       "in a future version. Use jaraco.stream.buffer instead.",
-       DeprecationWarning,
-)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/irc-16.4/irc/client.py new/irc-17.0/irc/client.py
--- old/irc-16.4/irc/client.py  2018-08-01 21:51:55.000000000 +0200
+++ new/irc-17.0/irc/client.py  2018-10-21 22:58:00.000000000 +0200
@@ -47,8 +47,6 @@
 .. [IRC specifications] http://www.irchelp.org/irchelp/rfc/
 """
 
-from __future__ import absolute_import, division
-
 import bisect
 import re
 import select
@@ -63,7 +61,6 @@
 import itertools
 import contextlib
 
-import six
 import jaraco.functools
 from jaraco.itertools import always_iterable, infinite_call
 from jaraco.functools import Throttler
@@ -82,8 +79,6 @@
 from . import message
 from . import schedule
 
-__metaclass__ = type
-
 log = logging.getLogger(__name__)
 
 # set the version tuple
@@ -107,8 +102,7 @@
     "Message is too long"
 
 
[email protected]_metaclass(abc.ABCMeta)
-class Connection:
+class Connection(metaclass=abc.ABCMeta):
     """
     Base class for IRC connections.
     """
@@ -1276,7 +1270,7 @@
     return str(struct.unpack('>L', packed)[0])
 
 
-class NickMask(six.text_type):
+class NickMask(str):
     """
     A nickmask (the source of an Event)
 
@@ -1290,14 +1284,12 @@
     >>> nm.user
     'username'
 
-    >>> isinstance(nm, six.text_type)
+    >>> isinstance(nm, str)
     True
 
-    >>> nm = 'красный[email protected]'
-    >>> if not six.PY3: nm = nm.decode('utf-8')
-    >>> nm = NickMask(nm)
+    >>> nm = NickMask('красный[email protected]')
 
-    >>> isinstance(nm.nick, six.text_type)
+    >>> isinstance(nm.nick, str)
     True
 
     Some messages omit the userhost. In that case, None is returned.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/irc-16.4/irc/connection.py 
new/irc-17.0/irc/connection.py
--- old/irc-16.4/irc/connection.py      2018-08-01 21:51:55.000000000 +0200
+++ new/irc-17.0/irc/connection.py      2018-10-21 22:58:00.000000000 +0200
@@ -2,8 +2,6 @@
 
 import socket
 
-__metaclass__ = type
-
 
 def identity(x):
     return x
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/irc-16.4/irc/ctcp.py new/irc-17.0/irc/ctcp.py
--- old/irc-16.4/irc/ctcp.py    2018-08-01 21:51:55.000000000 +0200
+++ new/irc-17.0/irc/ctcp.py    2018-10-21 22:58:00.000000000 +0200
@@ -3,8 +3,6 @@
 spec <http://www.irchelp.org/irchelp/rfc/ctcpspec.html>`_.
 """
 
-from __future__ import absolute_import
-
 import re
 
 LOW_LEVEL_QUOTE = '\x10'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/irc-16.4/irc/dict.py new/irc-17.0/irc/dict.py
--- old/irc-16.4/irc/dict.py    2018-08-01 21:51:55.000000000 +0200
+++ new/irc-17.0/irc/dict.py    2018-10-21 22:58:00.000000000 +0200
@@ -1,6 +1,5 @@
 from __future__ import unicode_literals, absolute_import
 
-import six
 from jaraco.collections import KeyTransformingDict
 
 from . import strings
@@ -42,6 +41,6 @@
     """
     @staticmethod
     def transform_key(key):
-        if isinstance(key, six.string_types):
+        if isinstance(key, str):
             key = strings.IRCFoldedCase(key)
         return key
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/irc-16.4/irc/features.py new/irc-17.0/irc/features.py
--- old/irc-16.4/irc/features.py        2018-08-01 21:51:55.000000000 +0200
+++ new/irc-17.0/irc/features.py        2018-10-21 22:58:00.000000000 +0200
@@ -1,9 +1,5 @@
-from __future__ import absolute_import
-
 import collections
 
-__metaclass__ = type
-
 
 class FeatureSet:
     """
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/irc-16.4/irc/message.py new/irc-17.0/irc/message.py
--- old/irc-16.4/irc/message.py 2018-08-01 21:51:55.000000000 +0200
+++ new/irc-17.0/irc/message.py 2018-10-21 22:58:00.000000000 +0200
@@ -1,8 +1,3 @@
-from __future__ import print_function
-
-__metaclass__ = type
-
-
 class Tag:
     """
     An IRC message tag ircv3.net/specs/core/message-tags-3.2.html
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/irc-16.4/irc/modes.py new/irc-17.0/irc/modes.py
--- old/irc-16.4/irc/modes.py   2018-08-01 21:51:55.000000000 +0200
+++ new/irc-17.0/irc/modes.py   2018-10-21 22:58:00.000000000 +0200
@@ -1,6 +1,3 @@
-from __future__ import absolute_import
-
-
 def parse_nick_modes(mode_string):
     """Parse a nick mode string.
 
@@ -59,10 +56,9 @@
     This function never throws an error:
 
     >>> import random
-    >>> import six
     >>> def random_text(min_len = 3, max_len = 80):
     ...     len = random.randint(min_len, max_len)
-    ...     chars_to_choose = [six.unichr(x) for x in range(0,1024)]
+    ...     chars_to_choose = [chr(x) for x in range(0,1024)]
     ...     chars = (random.choice(chars_to_choose) for x in range(len))
     ...     return ''.join(chars)
     >>> def random_texts(min_len = 3, max_len = 80):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/irc-16.4/irc/rfc.py new/irc-17.0/irc/rfc.py
--- old/irc-16.4/irc/rfc.py     2018-08-01 21:51:55.000000000 +0200
+++ new/irc-17.0/irc/rfc.py     2018-10-21 22:58:00.000000000 +0200
@@ -1,5 +1,3 @@
-from __future__ import absolute_import
-
 import re
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/irc-16.4/irc/schedule.py new/irc-17.0/irc/schedule.py
--- old/irc-16.4/irc/schedule.py        2018-08-01 21:51:55.000000000 +0200
+++ new/irc-17.0/irc/schedule.py        2018-10-21 22:58:00.000000000 +0200
@@ -1,14 +1,9 @@
 import abc
 
-import six
-
 from tempora import schedule
 
-__metaclass__ = type
-
 
[email protected]_metaclass(abc.ABCMeta)
-class IScheduler:
+class IScheduler(metaclass=abc.ABCMeta):
     @abc.abstractmethod
     def execute_every(self, period, func):
         "execute func every period"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/irc-16.4/irc/server.py new/irc-17.0/irc/server.py
--- old/irc-16.4/irc/server.py  2018-08-01 21:51:55.000000000 +0200
+++ new/irc-17.0/irc/server.py  2018-10-21 22:58:00.000000000 +0200
@@ -44,25 +44,20 @@
 # Not Todo (Won't be supported)
 #   - Server linking.
 
-from __future__ import print_function, absolute_import
-
 import argparse
 import errno
 import logging
 import socket
 import select
 import re
+import socketserver
 
-import six
-from six.moves import socketserver
 import jaraco.logging
 from jaraco.stream import buffer
 
 import irc.client
 from . import events
 
-__metaclass__ = type
-
 SRV_WELCOME = "Welcome to {__name__} v{irc.client.VERSION}.".format(**locals())
 
 log = logging.getLogger(__name__)
@@ -115,13 +110,6 @@
         self.send_queue = []        # Messages to send to client (strings)
         self.channels = {}          # Channels the client is in
 
-        # On Python 2, use old, clunky syntax to call parent init
-        if six.PY2:
-            socketserver.BaseRequestHandler.__init__(
-                self, request,
-                client_address, server)
-            return
-
         super().__init__(request, client_address, server)
 
     def handle(self):
@@ -180,7 +168,7 @@
                     '%s :Unknown command' % command)
             response = handler(params)
         except AttributeError as e:
-            log.error(six.text_type(e))
+            log.error(str(e))
             raise
         except IRCError as e:
             response = ':%s %s %s' % (self.server.servername, e.code, e.value)
@@ -506,10 +494,6 @@
         self.channels = {}
         self.clients = {}
 
-        if six.PY2:
-            socketserver.TCPServer.__init__(self, *args, **kwargs)
-            return
-
         super().__init__(*args, **kwargs)
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/irc-16.4/irc/strings.py new/irc-17.0/irc/strings.py
--- old/irc-16.4/irc/strings.py 2018-08-01 21:51:55.000000000 +0200
+++ new/irc-17.0/irc/strings.py 2018-10-21 22:58:00.000000000 +0200
@@ -1,5 +1,3 @@
-from __future__ import absolute_import, unicode_literals
-
 import string
 
 from jaraco.text import FoldedCase
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/irc-16.4/irc/tests/test_bot.py 
new/irc-17.0/irc/tests/test_bot.py
--- old/irc-16.4/irc/tests/test_bot.py  2018-08-01 21:51:55.000000000 +0200
+++ new/irc-17.0/irc/tests/test_bot.py  2018-10-21 22:58:00.000000000 +0200
@@ -1,8 +1,6 @@
 import time
 import threading
 
-import six
-
 import pytest
 
 import irc.client
@@ -125,9 +123,7 @@
         event = irc.client.Event(
             type=None, source=None, target=None,
             arguments=['*', '*', 'nick'])
-        _on_namreply = six.get_unbound_function(
-            irc.bot.SingleServerIRCBot._on_namreply)
-        _on_namreply(None, None, event)
+        irc.bot.SingleServerIRCBot._on_namreply(None, None, event)
 
     def test_reconnects_are_stable(self, disconnecting_server):
         """
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/irc-16.4/irc/tests/test_client.py 
new/irc-17.0/irc/tests/test_client.py
--- old/irc-16.4/irc/tests/test_client.py       2018-08-01 21:51:55.000000000 
+0200
+++ new/irc-17.0/irc/tests/test_client.py       2018-10-21 22:58:00.000000000 
+0200
@@ -1,21 +1,16 @@
-from __future__ import print_function
-
 from unittest import mock
 
 import pytest
-import six
 
 import irc.client
 
-__metaclass__ = type
-
 
 def test_version():
        assert 'VERSION' in vars(irc.client)
        assert 'VERSION_STRING' in vars(irc.client)
        assert isinstance(irc.client.VERSION, tuple)
        assert irc.client.VERSION, "No VERSION detected."
-       assert isinstance(irc.client.VERSION_STRING, six.string_types)
+       assert isinstance(irc.client.VERSION_STRING, str)
 
 
 @mock.patch('irc.connection.socket')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/irc-16.4/irc.egg-info/PKG-INFO 
new/irc-17.0/irc.egg-info/PKG-INFO
--- old/irc-16.4/irc.egg-info/PKG-INFO  2018-08-01 21:52:20.000000000 +0200
+++ new/irc-17.0/irc.egg-info/PKG-INFO  2018-10-21 22:58:30.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: irc
-Version: 16.4
+Version: 17.0
 Summary: IRC (Internet Relay Chat) protocol library for Python
 Home-page: https://github.com/jaraco/irc
 Author: Joel Rosdahl
@@ -26,6 +26,9 @@
            :alt: Join the chat at https://gitter.im/jaraco/irc
            :target: 
https://gitter.im/jaraco/irc?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
         
+        .. image:: https://tidelift.com/badges/github/jaraco/irc
+           :target: 
https://tidelift.com/subscription/pkg/pypi-irc?utm_source=pypi-irc&utm_medium=referral&utm_campaign=readme
+        
         Full-featured Python IRC library for Python.
         
         - `Project home <https://github.com/jaraco/irc>`_
@@ -44,18 +47,6 @@
         on the `IRC specifications
         
<http://web.archive.org/web/20160628193730/http://www.irchelp.org/irchelp/rfc/>`_.
         
-        Installation
-        ============
-        
-        IRC requires Python versions specified in the `download pages
-        <https://pypi.python.org/pypi/irc>`_ and definitely supports Python 3.
-        
-        You have several options to install the IRC project.
-        
-        * Use ``easy_install irc`` or ``pip install irc`` to grab the latest
-          version from the cheeseshop (recommended).
-        * Run ``python setup.py install`` (from the source distribution).
-        
         Client Features
         ===============
         
@@ -68,7 +59,7 @@
           connection object.
         * Messages from an IRC server triggers events, which can be caught
           by event handlers.
-        * Multiple opations for reading from and writing to an IRC server: 
+        * Multiple opations for reading from and writing to an IRC server:
           you can use sockets in an internal ``select()`` loop OR use
           python3's asyncio event loop
         * Functions can be registered to execute at specified times by the
@@ -102,9 +93,9 @@
           and read the source, Luke!
         
         * ``irc.client_aio``
-            
-          All the functionality of the above library, but utilizing 
-          Python 3's native asyncio library for the core event loop.  
+        
+          All the functionality of the above library, but utilizing
+          Python 3's native asyncio library for the core event loop.
           Interface/API is otherwise functionally identical to the classes
           in ``irc.client``
         
@@ -258,11 +249,9 @@
                     pass
             irc.client.ServerConnection.buffer_class = IgnoreErrorsBuffer
         
-        On Python 2, it was possible to use the ``buffer.LineBuffer`` itself, 
which will
-        pass the raw bytes. On Python 3, the library requires text for message
-        processing, so a decoding buffer must be used. Therefore, use of the
-        ``LineBuffer`` is considered deprecated and not supported on Python 3. 
Clients
-        should use one of the above techniques for decoding input to text.
+        The library requires text for message
+        processing, so a decoding buffer must be used. Clients
+        must use one of the above techniques for decoding input to text.
         
         Notes and Contact Info
         ======================
@@ -283,8 +272,7 @@
 Classifier: Development Status :: 5 - Production/Stable
 Classifier: Intended Audience :: Developers
 Classifier: License :: OSI Approved :: MIT License
-Classifier: Programming Language :: Python :: 2.7
 Classifier: Programming Language :: Python :: 3
-Requires-Python: >=2.7,!=3.0.*,!=3.1.*,!=3.2.*
+Requires-Python: >=3.4
 Provides-Extra: docs
 Provides-Extra: testing
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/irc-16.4/irc.egg-info/SOURCES.txt 
new/irc-17.0/irc.egg-info/SOURCES.txt
--- old/irc-16.4/irc.egg-info/SOURCES.txt       2018-08-01 21:52:20.000000000 
+0200
+++ new/irc-17.0/irc.egg-info/SOURCES.txt       2018-10-21 22:58:30.000000000 
+0200
@@ -20,7 +20,6 @@
 docs/irc.tests.rst
 irc/__init__.py
 irc/bot.py
-irc/buffer.py
 irc/client.py
 irc/client_aio.py
 irc/connection.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/irc-16.4/irc.egg-info/requires.txt 
new/irc-17.0/irc.egg-info/requires.txt
--- old/irc-16.4/irc.egg-info/requires.txt      2018-08-01 21:52:20.000000000 
+0200
+++ new/irc-17.0/irc.egg-info/requires.txt      2018-10-21 22:58:30.000000000 
+0200
@@ -1,4 +1,3 @@
-six
 jaraco.collections
 jaraco.text
 jaraco.itertools>=1.8
@@ -15,7 +14,7 @@
 rst.linker>=1.9
 
 [testing]
-pytest>=3.5
+pytest!=3.7.3,>=3.5
 pytest-sugar>=0.9.1
 collective.checkdocs
 pytest-flake8
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/irc-16.4/pyproject.toml new/irc-17.0/pyproject.toml
--- old/irc-16.4/pyproject.toml 2018-08-01 21:51:55.000000000 +0200
+++ new/irc-17.0/pyproject.toml 2018-10-21 22:58:00.000000000 +0200
@@ -1,2 +1,2 @@
 [build-system]
-requires = ["setuptools", "wheel", "setuptools_scm>=1.15"]
+requires = ["setuptools>=30.3", "wheel", "setuptools_scm>=1.15"]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/irc-16.4/pytest.ini new/irc-17.0/pytest.ini
--- old/irc-16.4/pytest.ini     2018-08-01 21:51:55.000000000 +0200
+++ new/irc-17.0/pytest.ini     2018-10-21 22:58:00.000000000 +0200
@@ -2,3 +2,6 @@
 norecursedirs=dist build .tox .eggs
 addopts=--doctest-modules --flake8
 doctest_optionflags=ALLOW_UNICODE ELLIPSIS
+filterwarnings=
+       ignore:Possible nested set::pycodestyle:113
+       ignore:Using or importing the ABCs::flake8:410
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/irc-16.4/setup.cfg new/irc-17.0/setup.cfg
--- old/irc-16.4/setup.cfg      2018-08-01 21:52:21.000000000 +0200
+++ new/irc-17.0/setup.cfg      2018-10-21 22:58:30.000000000 +0200
@@ -1,5 +1,4 @@
 [aliases]
-release = dists upload
 dists = clean --all sdist bdist_wheel
 
 [bdist_wheel]
@@ -7,6 +6,7 @@
 
 [metadata]
 license_file = LICENSE
+long_description = file:README.rst
 
 [egg_info]
 tag_build = 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/irc-16.4/setup.py new/irc-17.0/setup.py
--- old/irc-16.4/setup.py       2018-08-01 21:51:55.000000000 +0200
+++ new/irc-17.0/setup.py       2018-10-21 22:58:00.000000000 +0200
@@ -2,13 +2,8 @@
 
 # Project skeleton maintained at https://github.com/jaraco/skeleton
 
-import io
-
 import setuptools
 
-with io.open('README.rst', encoding='utf-8') as readme:
-    long_description = readme.read()
-
 name = 'irc'
 description = 'IRC (Internet Relay Chat) protocol library for Python'
 nspkg_technique = 'native'
@@ -25,7 +20,6 @@
     maintainer="Jason R. Coombs",
     maintainer_email="[email protected]",
     description=description or name,
-    long_description=long_description,
     url="https://github.com/jaraco/"; + name,
     packages=setuptools.find_packages(),
     include_package_data=True,
@@ -33,9 +27,8 @@
         name.split('.')[:-1] if nspkg_technique == 'managed'
         else []
     ),
-    python_requires='>=2.7,!=3.0.*,!=3.1.*,!=3.2.*',
+    python_requires='>=3.4',
     install_requires=[
-        'six',
         'jaraco.collections',
         'jaraco.text',
         'jaraco.itertools>=1.8',
@@ -49,7 +42,7 @@
     extras_require={
         'testing': [
             # upstream
-            'pytest>=3.5',
+            'pytest>=3.5,!=3.7.3',
             'pytest-sugar>=0.9.1',
             'collective.checkdocs',
             'pytest-flake8',
@@ -74,7 +67,6 @@
         "Development Status :: 5 - Production/Stable",
         "Intended Audience :: Developers",
         "License :: OSI Approved :: MIT License",
-        "Programming Language :: Python :: 2.7",
         "Programming Language :: Python :: 3",
     ],
     entry_points={
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/irc-16.4/tox.ini new/irc-17.0/tox.ini
--- old/irc-16.4/tox.ini        2018-08-01 21:51:55.000000000 +0200
+++ new/irc-17.0/tox.ini        2018-10-21 22:58:00.000000000 +0200
@@ -5,10 +5,8 @@
 [testenv]
 deps =
        setuptools>=31.0.1
-       # workaround for yaml/pyyaml#126
-       # 
git+https://github.com/yaml/pyyaml@master#egg=pyyaml;python_version=="3.7";
 commands =
-       py.test {posargs}
+       pytest {posargs}
        python setup.py checkdocs
 usedevelop = True
 extras = testing


Reply via email to