Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-repoze.sphinx.autointerface 
for openSUSE:Factory checked in at 2022-10-08 01:25:03
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-repoze.sphinx.autointerface (Old)
 and      
/work/SRC/openSUSE:Factory/.python-repoze.sphinx.autointerface.new.2275 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-repoze.sphinx.autointerface"

Sat Oct  8 01:25:03 2022 rev:7 rq:1008684 version:1.0.0

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/python-repoze.sphinx.autointerface/python-repoze.sphinx.autointerface.changes
    2018-12-12 17:28:12.986897282 +0100
+++ 
/work/SRC/openSUSE:Factory/.python-repoze.sphinx.autointerface.new.2275/python-repoze.sphinx.autointerface.changes
  2022-10-08 01:25:08.942219203 +0200
@@ -1,0 +2,19 @@
+Fri Oct  7 07:50:10 UTC 2022 - Dirk M??ller <dmuel...@suse.com>
+
+- make the package python 3.6+ only as it dropped support
+  for older versions
+
+-------------------------------------------------------------------
+Fri Oct  7 03:51:26 UTC 2022 - Yogalakshmi Arunachalam <yarunacha...@suse.com>
+
+- Update to version 1.0.0 (2022-05-26)
+  Remove sphinx.util.force_decode. Previously we hacked it in to support 
Python 2 and Sphinx 3.x, but Sphinx 4.0 deprecated it and dropped Python 2 
support.
+  Replace Travis-CI with GitHub Actions
+  Add support for Python 3.6, 3.7, 3.8, 3.9, 3.10, and PyPy3.
+  Drop support for Python 2.7, 3.3, 3.4, 3.5, and PyPy.
+  Update to work with newer Sphinx versions:
+  Sphinx.domains -> Sphinx.registry.domains
+  Sphinx.override_domain(D) -> Sphinx.add_domain(D, override=True)
+  Drop support for Sphinx < 4.0. 
+
+-------------------------------------------------------------------

Old:
----
  repoze.sphinx.autointerface-0.8.tar.gz

New:
----
  repoze.sphinx.autointerface-1.0.0.tar.gz

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

Other differences:
------------------
++++++ python-repoze.sphinx.autointerface.spec ++++++
--- /var/tmp/diff_new_pack.GcnrJt/_old  2022-10-08 01:25:12.202226679 +0200
+++ /var/tmp/diff_new_pack.GcnrJt/_new  2022-10-08 01:25:12.202226679 +0200
@@ -1,7 +1,7 @@
 #
-# spec file for package python
+# spec file
 #
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# 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
@@ -16,16 +16,17 @@
 #
 
 
-%{?!python_module:%define python_module() python-%{**} python3-%{**}}
+%{?!python_module:%define python_module() python3-%{**}}
 %global modname repoze.sphinx.autointerface
 Name:           python-%{modname}
-Version:        0.8
+Version:        1.0.0
 Release:        0
 Summary:        Sphinx extension: auto-generates API docs from Zope interfaces
 License:        SUSE-Repoze
 Group:          Development/Languages/Python
 URL:            http://www.repoze.org
 Source:         
https://files.pythonhosted.org/packages/source/r/repoze.sphinx.autointerface/%{modname}-%{version}.tar.gz
+BuildRequires:  %{python_module base >= 3.6}
 BuildRequires:  %{python_module setuptools}
 BuildRequires:  fdupes
 BuildRequires:  python-rpm-macros

++++++ repoze.sphinx.autointerface-0.8.tar.gz -> 
repoze.sphinx.autointerface-1.0.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/repoze.sphinx.autointerface-0.8/.github/workflows/ci-tests.yml 
new/repoze.sphinx.autointerface-1.0.0/.github/workflows/ci-tests.yml
--- old/repoze.sphinx.autointerface-0.8/.github/workflows/ci-tests.yml  
1970-01-01 01:00:00.000000000 +0100
+++ new/repoze.sphinx.autointerface-1.0.0/.github/workflows/ci-tests.yml        
2022-05-26 08:38:47.000000000 +0200
@@ -0,0 +1,70 @@
+name: Build and test
+
+on:
+  # Build on pushes to master
+  push:
+    branches:
+      - master
+      # Temporarily add for CI on stevepiercy's fork
+      - sphinx-40-compat
+    tags:
+  # Build pull requests
+  pull_request:
+
+jobs:
+  test:
+    strategy:
+      # We want to see all failures:
+      fail-fast: false
+      matrix:
+        py:
+          - "3.6"
+          - "3.7"
+          - "3.8"
+          - "3.9"
+          - "3.10"
+          - "pypy-3.7"
+        os:
+          - "ubuntu-latest"
+          - "windows-latest"
+          - "macos-latest"
+        architecture:
+          - x64
+          - x86
+
+        exclude:
+          # Linux and macOS don't have x86 python
+          - os: "ubuntu-latest"
+            architecture: x86
+          - os: "macos-latest"
+            architecture: x86
+          # PyPy3 on Windows doesn't seem to work
+          - os: "windows-latest"
+            py: "pypy-3.7"
+
+    name: "Python: ${{ matrix.py }}-${{ matrix.architecture }} on ${{ 
matrix.os }}"
+    runs-on: ${{ matrix.os }}
+    steps:
+      - uses: actions/checkout@v2
+      - name: Setup Python
+        uses: actions/setup-python@v2
+        with:
+          python-version: ${{ matrix.py }}
+          architecture: ${{ matrix.architecture }}
+      - run: pip install tox
+      - name: Running tox
+        run: tox -e py -- ${{ matrix.pytest-args }}
+# This block is temporarily commented out to speed up testing and until I add
+# a lint tox env.
+#  lint:
+#    runs-on: ubuntu-latest
+#    name: Lint the package
+#    steps:
+#      - uses: actions/checkout@v2
+#      - name: Setup python
+#        uses: actions/setup-python@v2
+#        with:
+#          python-version: 3.10
+#          architecture: x64
+#      - run: pip install tox
+#      - run: tox -e lint
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/repoze.sphinx.autointerface-0.8/.gitignore 
new/repoze.sphinx.autointerface-1.0.0/.gitignore
--- old/repoze.sphinx.autointerface-0.8/.gitignore      2013-01-10 
16:10:48.000000000 +0100
+++ new/repoze.sphinx.autointerface-1.0.0/.gitignore    1970-01-01 
01:00:00.000000000 +0100
@@ -1,8 +0,0 @@
-*.egg-info
-*.pyc
-*$py.class
-.coverage
-dist/
-*~
-.tox
-env*/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/repoze.sphinx.autointerface-0.8/CHANGES.rst 
new/repoze.sphinx.autointerface-1.0.0/CHANGES.rst
--- old/repoze.sphinx.autointerface-0.8/CHANGES.rst     2016-03-29 
02:41:03.000000000 +0200
+++ new/repoze.sphinx.autointerface-1.0.0/CHANGES.rst   2022-05-26 
08:48:19.000000000 +0200
@@ -1,6 +1,25 @@
 repoze.sphinx.autointerface Changelog
 =====================================
 
+1.0.0 (2022-05-26)
+------------------
+
+- Remove sphinx.util.force_decode. Previously we hacked it in to support Python
+  2 and Sphinx 3.x, but Sphinx 4.0 deprecated it and dropped Python 2 support.
+
+- Replace Travis-CI with GitHub Actions
+
+- Add support for Python 3.6, 3.7, 3.8, 3.9, 3.10, and PyPy3.
+
+- Drop support for Python 2.7, 3.3, 3.4, 3.5, and PyPy.
+
+- Update to work with newer Sphinx versions:
+
+  * Sphinx.domains -> Sphinx.registry.domains
+  * Sphinx.override_domain(D) -> Sphinx.add_domain(D, override=True)
+
+- Drop support for Sphinx < 4.0.
+
 0.8 (2016-03-28)
 ----------------
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/repoze.sphinx.autointerface-0.8/CONTRIBUTORS.txt 
new/repoze.sphinx.autointerface-1.0.0/CONTRIBUTORS.txt
--- old/repoze.sphinx.autointerface-0.8/CONTRIBUTORS.txt        2013-01-10 
16:17:17.000000000 +0100
+++ new/repoze.sphinx.autointerface-1.0.0/CONTRIBUTORS.txt      2022-05-26 
08:38:47.000000000 +0200
@@ -105,3 +105,5 @@
 
 - Tres Seaver, 2011/03/22
 - Jason Madden, 2013/01/10
+- Steve Piercy, 2021/05/11
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/repoze.sphinx.autointerface-0.8/MANIFEST.in 
new/repoze.sphinx.autointerface-1.0.0/MANIFEST.in
--- old/repoze.sphinx.autointerface-0.8/MANIFEST.in     1970-01-01 
01:00:00.000000000 +0100
+++ new/repoze.sphinx.autointerface-1.0.0/MANIFEST.in   2022-05-26 
08:38:47.000000000 +0200
@@ -0,0 +1,12 @@
+graft repoze
+
+include README.rst
+include CHANGES.rst
+include CONTRIBUTORS.txt LICENSE.txt COPYRIGHT.txt
+
+include tox.ini .travis.yml
+include TODO.txt
+graft .github
+
+global-exclude __pycache__ *.py[cod]
+global-exclude .DS_Store
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/repoze.sphinx.autointerface-0.8/PKG-INFO 
new/repoze.sphinx.autointerface-1.0.0/PKG-INFO
--- old/repoze.sphinx.autointerface-0.8/PKG-INFO        2016-03-29 
02:41:57.000000000 +0200
+++ new/repoze.sphinx.autointerface-1.0.0/PKG-INFO      2022-05-26 
08:48:54.007418000 +0200
@@ -1,184 +1,225 @@
-Metadata-Version: 1.1
+Metadata-Version: 2.1
 Name: repoze.sphinx.autointerface
-Version: 0.8
+Version: 1.0.0
 Summary: Sphinx extension: auto-generates API docs from Zope interfaces
-Home-page: http://www.repoze.org
+Home-page: https://github.com/repoze/repoze.sphinx.autointerface/
 Author: Agendaless Consulting
 Author-email: repoze-...@lists.repoze.org
-License: BSD-derived (http://www.repoze.org/LICENSE.txt)
-Description: repoze.sphinx.autointerface README
-        ==================================
-        
-        Overview
-        --------
-        
-        Thie package defines an extension for the
-        `Sphinx <http://sphinx.pocool.org>`_ documentation system.  The 
extension
-        allows generation of API documentation by introspection of
-        `zope.interface <http://pypi.python.org/pypi/zope.interface>`_ 
instances in 
-        code.
-        
-        
-        Installation
-        ------------
-        
-        Install via `easy_install
-        <http://peak.telecommunity.com/DevCenter/EasyInstall>`_::
-        
-         $ bin/easy_install repoze.sphinx.autointerface
-        
-        or any other means which gets the package on your ``PYTHONPATH``.
-        
-        
-        Registering the Extension
-        -------------------------
-        
-        Add ``repoze.sphinx.autointerface`` to the ``extensions`` list in the
-        ``conf.py`` of the Sphinx documentation for your product.  E.g.::
-        
-         extensions = ['sphinx.ext.autodoc',
-                       'sphinx.ext.doctest',
-                       'repoze.sphinx.autointerface',
-                      ]
-        
-        
-        Using the Extension
-        -------------------
-        
-        At appropriate points in your document, call out the interface
-        autodocs via::
-        
-          .. autointerface:: yourpackage.interfaces.IFoo
-        
-        Output from the directive includes
-        
-        - the fully-qualified interface name
-        - any base interfaces
-        - the doctstring from the interface, rendered as reSTX.
-        - the members of the interface (methods and attributes).
-        
-          * For each attribute, the output includes the attribute name
-            and its description.
-          * For each method, the output includes the method name, its 
signature,
-            and its docstring (also rendered as reSTX).
-        
-        
-        repoze.sphinx.autointerface Changelog
-        =====================================
-        
-        0.8 (2016-03-28)
-        ----------------
-        
-        - Add support for Python 3.3, 3.4, and 3.5.
-        
-        - Drop support for Python 2.6 and 3.2.
-        
-        - Allow cross references using the ``:class:`` directive to use the
-          ``.`` for "fuzzy" searching.  Thanks to Jason Madden for the patch.
-        
-        0.7.1 (2012-09-15)
-        ------------------
-        
-        - Remove ``setup.py`` dependency on ``ez_setup.py``.
-        
-        0.7.0 (2012-06-20)
-        ------------------
-        
-        - PyPy compatibility.
-        
-        - Python 3.2+ compatibility.  Thanks to Arfrever for the patch.
-        
-        - Include interface docs under the ``automodule`` directive.  Thanks to
-          Krys Lawrence for the patch.
-        
-        
-        0.6.2 (2011-02-13)
-        ------------------
-        
-        - Fix ``TypeError: 'NoneType' object is not iterable`` error when 
generating
-          a rendering of an interface under Python 2.7.
-        
-        
-        0.6.1 (2011-01-28)
-        ------------------
-        
-        - Fix ':member-order: bysource' handling.
-        
-        
-        0.6 (2011-01-28)
-        ----------------
-        
-        - Correctly handle ':members:' values explicitly set in the directive.
-        
-        
-        0.5 (2011-01-18)
-        ----------------
-        
-        - Added support for the ':member-order:' flag, which can take one of 
the
-          three stock values, "alphabetical", "groupwise", or "bysource".  By
-          default, members are documented in "hash" order.
-        
-        
-        0.4 (2010-07-26)
-        ----------------
-        
-        - Fixed compatibility with Sphinx 1.0
-        
-        - Un-break PyPI ReST/HTML-rendering again.
-        
-        
-        0.3 (2009-10-25)
-        ----------------
-        
-        - Refactor sphinx integration. There are now separate ``autointerface``
-          and ``interface`` directives.
-        
-        
-        0.2.1 (2009-08-20)
-        ------------------
-        
-        - Fix add_directive arguments to work with Sphinx 0.6.1, now required.
-        
-        
-        0.1.3 (2009-01-14)
-        ------------------
-        
-        - Coerce unicode path elements to str in ``_resolve_dotted_name``.
-          Note that non-ASCII path elements won't work:  this fix just deals
-          with the case where the path was of type unicode.
-        
-        - Fixed spelling of directive in README.txt.
-        
-        - Added dependency on ``zope.interface``.
-        
-        
-        0.1.2 (2008-10-03)
-        ------------------
-        
-        - Packaging change:  improved description in README.txt.
-        
-        
-        0.1.1 (2008-10-03)
-        ------------------
-        
-        - Packaging bug:  the ``long_description`` was not rendering properly 
to
-          HTML on PyPI.
-        
-        
-        0.1 (2008-10-02)
-        ----------------
-        
-        - Initial release.
-        
-Keywords: web wsgi zope
+License: BSD-derived (Repoze)
+Project-URL: Documentation, 
https://github.com/repoze/repoze.sphinx.autointerface/
+Project-URL: Changelog, 
https://github.com/repoze/repoze.sphinx.autointerface/blob/master/CHANGES.rst
+Project-URL: Issue Tracker, 
https://github.com/repoze/repoze.sphinx.autointerface/issues
+Keywords: web wsgi zope Sphinx
 Platform: UNKNOWN
 Classifier: Development Status :: 5 - Production/Stable
 Classifier: Intended Audience :: Developers
-Classifier: Programming Language :: Python :: 2
-Classifier: Programming Language :: Python :: 2.7
 Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.3
-Classifier: Programming Language :: Python :: 3.4
-Classifier: Programming Language :: Python :: 3.5
+Classifier: Programming Language :: Python :: 3.6
+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
+Requires-Python: >=3.6
+Description-Content-Type: text/x-rst
+Provides-Extra: test
+License-File: LICENSE.txt
+
+repoze.sphinx.autointerface README
+==================================
+
+.. image:: 
https://github.com/repoze/repoze.sphinx.autointerface/actions/workflows/ci-tests.yml/badge.svg
+    :target: 
https://github.com/repoze/repoze.sphinx.autointerface/actions/workflows/ci-tests.yml
+
+.. image:: https://img.shields.io/pypi/v/repoze.sphinx.autointerface.svg
+    :target: https://pypi.python.org/pypi/repoze.sphinx.autointerface
+
+.. image:: 
https://img.shields.io/pypi/pyversions/repoze.sphinx.autointerface.svg
+    :target: https://pypi.python.org/pypi/repoze.sphinx.autointerface
+
+
+Overview
+--------
+
+Thie package defines an extension for the
+`Sphinx <https://www.sphinx-doc.org/en/master/>`_ documentation system.
+The extension allows generation of API documentation by introspection of
+`zope.interface <https://pypi.org/project/zope.interface/>`_ instances in
+code.
+
+
+Installation
+------------
+
+Install via ``pip``:
+
+.. code-block:: bash
+
+    pip install repoze.sphinx.autointerface
+
+
+Registering the Extension
+-------------------------
+
+Add ``repoze.sphinx.autointerface`` to the ``extensions`` list in the
+``conf.py`` of the Sphinx documentation for your product.
+
+.. code-block:: python
+
+    extensions = [
+        "sphinx.ext.autodoc",
+        "sphinx.ext.doctest",
+        "repoze.sphinx.autointerface",
+    ]
+
+
+Using the Extension
+-------------------
+
+At appropriate points in your document, call out the autodoc interface.
+
+.. code-block:: rst
+
+    .. autointerface:: yourpackage.interfaces.IFoo
+
+Output from the directive includes
+
+- the fully-qualified interface name
+- any base interfaces
+- the docstring from the interface, rendered as reStructuredText
+- the members of the interface (methods and attributes)
+
+  * For each attribute, the output includes the attribute name
+    and its description.
+  * For each method, the output includes the method name, its signature,
+    and its docstring (also rendered as reStructuredText).
+
+
+repoze.sphinx.autointerface Changelog
+=====================================
+
+1.0.0 (2022-05-26)
+------------------
+
+- Remove sphinx.util.force_decode. Previously we hacked it in to support Python
+  2 and Sphinx 3.x, but Sphinx 4.0 deprecated it and dropped Python 2 support.
+
+- Replace Travis-CI with GitHub Actions
+
+- Add support for Python 3.6, 3.7, 3.8, 3.9, 3.10, and PyPy3.
+
+- Drop support for Python 2.7, 3.3, 3.4, 3.5, and PyPy.
+
+- Update to work with newer Sphinx versions:
+
+  * Sphinx.domains -> Sphinx.registry.domains
+  * Sphinx.override_domain(D) -> Sphinx.add_domain(D, override=True)
+
+- Drop support for Sphinx < 4.0.
+
+0.8 (2016-03-28)
+----------------
+
+- Add support for Python 3.3, 3.4, and 3.5.
+
+- Drop support for Python 2.6 and 3.2.
+
+- Allow cross references using the ``:class:`` directive to use the
+  ``.`` for "fuzzy" searching.  Thanks to Jason Madden for the patch.
+
+0.7.1 (2012-09-15)
+------------------
+
+- Remove ``setup.py`` dependency on ``ez_setup.py``.
+
+0.7.0 (2012-06-20)
+------------------
+
+- PyPy compatibility.
+
+- Python 3.2+ compatibility.  Thanks to Arfrever for the patch.
+
+- Include interface docs under the ``automodule`` directive.  Thanks to
+  Krys Lawrence for the patch.
+
+
+0.6.2 (2011-02-13)
+------------------
+
+- Fix ``TypeError: 'NoneType' object is not iterable`` error when generating
+  a rendering of an interface under Python 2.7.
+
+
+0.6.1 (2011-01-28)
+------------------
+
+- Fix ':member-order: bysource' handling.
+
+
+0.6 (2011-01-28)
+----------------
+
+- Correctly handle ':members:' values explicitly set in the directive.
+
+
+0.5 (2011-01-18)
+----------------
+
+- Added support for the ':member-order:' flag, which can take one of the
+  three stock values, "alphabetical", "groupwise", or "bysource".  By
+  default, members are documented in "hash" order.
+
+
+0.4 (2010-07-26)
+----------------
+
+- Fixed compatibility with Sphinx 1.0
+
+- Un-break PyPI ReST/HTML-rendering again.
+
+
+0.3 (2009-10-25)
+----------------
+
+- Refactor sphinx integration. There are now separate ``autointerface``
+  and ``interface`` directives.
+
+
+0.2.1 (2009-08-20)
+------------------
+
+- Fix add_directive arguments to work with Sphinx 0.6.1, now required.
+
+
+0.1.3 (2009-01-14)
+------------------
+
+- Coerce unicode path elements to str in ``_resolve_dotted_name``.
+  Note that non-ASCII path elements won't work:  this fix just deals
+  with the case where the path was of type unicode.
+
+- Fixed spelling of directive in README.txt.
+
+- Added dependency on ``zope.interface``.
+
+
+0.1.2 (2008-10-03)
+------------------
+
+- Packaging change:  improved description in README.txt.
+
+
+0.1.1 (2008-10-03)
+------------------
+
+- Packaging bug:  the ``long_description`` was not rendering properly to
+  HTML on PyPI.
+
+
+0.1 (2008-10-02)
+----------------
+
+- Initial release.
+
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/repoze.sphinx.autointerface-0.8/README.rst 
new/repoze.sphinx.autointerface-1.0.0/README.rst
--- old/repoze.sphinx.autointerface-0.8/README.rst      2015-12-02 
21:12:58.000000000 +0100
+++ new/repoze.sphinx.autointerface-1.0.0/README.rst    2022-05-26 
08:38:47.000000000 +0200
@@ -1,55 +1,68 @@
 repoze.sphinx.autointerface README
 ==================================
 
+.. image:: 
https://github.com/repoze/repoze.sphinx.autointerface/actions/workflows/ci-tests.yml/badge.svg
+    :target: 
https://github.com/repoze/repoze.sphinx.autointerface/actions/workflows/ci-tests.yml
+
+.. image:: https://img.shields.io/pypi/v/repoze.sphinx.autointerface.svg
+    :target: https://pypi.python.org/pypi/repoze.sphinx.autointerface
+
+.. image:: 
https://img.shields.io/pypi/pyversions/repoze.sphinx.autointerface.svg
+    :target: https://pypi.python.org/pypi/repoze.sphinx.autointerface
+
+
 Overview
 --------
 
 Thie package defines an extension for the
-`Sphinx <http://sphinx.pocool.org>`_ documentation system.  The extension
-allows generation of API documentation by introspection of
-`zope.interface <http://pypi.python.org/pypi/zope.interface>`_ instances in 
+`Sphinx <https://www.sphinx-doc.org/en/master/>`_ documentation system.
+The extension allows generation of API documentation by introspection of
+`zope.interface <https://pypi.org/project/zope.interface/>`_ instances in
 code.
 
 
 Installation
 ------------
 
-Install via `easy_install
-<http://peak.telecommunity.com/DevCenter/EasyInstall>`_::
+Install via ``pip``:
 
- $ bin/easy_install repoze.sphinx.autointerface
+.. code-block:: bash
 
-or any other means which gets the package on your ``PYTHONPATH``.
+    pip install repoze.sphinx.autointerface
 
 
 Registering the Extension
 -------------------------
 
 Add ``repoze.sphinx.autointerface`` to the ``extensions`` list in the
-``conf.py`` of the Sphinx documentation for your product.  E.g.::
+``conf.py`` of the Sphinx documentation for your product.
+
+.. code-block:: python
 
- extensions = ['sphinx.ext.autodoc',
-               'sphinx.ext.doctest',
-               'repoze.sphinx.autointerface',
-              ]
+    extensions = [
+        "sphinx.ext.autodoc",
+        "sphinx.ext.doctest",
+        "repoze.sphinx.autointerface",
+    ]
 
 
 Using the Extension
 -------------------
 
-At appropriate points in your document, call out the interface
-autodocs via::
+At appropriate points in your document, call out the autodoc interface.
+
+.. code-block:: rst
 
-  .. autointerface:: yourpackage.interfaces.IFoo
+    .. autointerface:: yourpackage.interfaces.IFoo
 
 Output from the directive includes
 
 - the fully-qualified interface name
 - any base interfaces
-- the doctstring from the interface, rendered as reSTX.
-- the members of the interface (methods and attributes).
+- the docstring from the interface, rendered as reStructuredText
+- the members of the interface (methods and attributes)
 
   * For each attribute, the output includes the attribute name
     and its description.
   * For each method, the output includes the method name, its signature,
-    and its docstring (also rendered as reSTX).
+    and its docstring (also rendered as reStructuredText).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/repoze.sphinx.autointerface-0.8/repoze/sphinx/autointerface.py 
new/repoze.sphinx.autointerface-1.0.0/repoze/sphinx/autointerface.py
--- old/repoze.sphinx.autointerface-0.8/repoze/sphinx/autointerface.py  
2015-12-02 21:11:56.000000000 +0100
+++ new/repoze.sphinx.autointerface-1.0.0/repoze/sphinx/autointerface.py        
2022-05-26 08:38:47.000000000 +0200
@@ -1,21 +1,12 @@
+
 import sys
+
 from sphinx.util.docstrings import prepare_docstring
-from sphinx.util import force_decode
-try:
-    # Sphinx < 1.0
-    from sphinx.directives.desc import ClasslikeDesc as PyClasslike
-except ImportError:
-    from sphinx.domains.python import PyClasslike
+from sphinx.domains.python import PyClasslike
 from sphinx.ext import autodoc
 from zope.interface import Interface
 from zope.interface.interface import InterfaceClass
 
-if sys.version_info[0] >= 3:
-    def u(s):
-        return s
-else:
-    def u(s):
-        return unicode(s, "unicode_escape")
 
 class InterfaceDesc(PyClasslike):
     def get_index_text(self, modname, name_cls):
@@ -47,10 +38,10 @@
         bases = [base for base in self.object.__bases__
                        if base is not Interface]
         if not self.doc_as_attr and self.options.show_inheritance and bases:
-            self.add_line(u(''), '<autodoc>')
-            bases = [u(':class:`%s.%s`') % (b.__module__, b.getName())
+            self.add_line(u'', '<autodoc>')
+            bases = [u':class:`%s.%s`' % (b.__module__, b.getName())
                      for b in bases]
-            self.add_line(u('   Extends: %s') % ', '.join(bases),
+            self.add_line(u'   Extends: %s' % ', '.join(bases),
                           '<autodoc>')
 
     def format_args(self):
@@ -59,6 +50,7 @@
     def document_members(self, all_members=True):
         oldindent = self.indent
         members = list(self.object.namesAndDescriptions())
+
         if self.options.members is not autodoc.ALL:
             specified = []
             for line in (self.options.members or []):
@@ -84,43 +76,49 @@
             members.sort(key=keyfunc)
 
         for name, desc in members:
-            self.add_line(u(''), '<autointerface>')
+            self.add_line(u'', '<autointerface>')
             sig = getattr(desc, 'getSignatureString', None)
             if sig is None:
-                self.add_line(u('.. attribute:: %s') % name, '<autointerface>')
+                self.add_line(u'.. attribute:: %s' % name, '<autointerface>')
             else:
-                self.add_line(u('.. method:: %s%s') % (name, sig()),
+                self.add_line(u'.. method:: %s%s' % (name, sig()),
                               '<autointerface>')
             doc = desc.getDoc()
             if doc:
-                self.add_line(u(''), '<autointerface>')
+                self.add_line(u'', '<autointerface>')
                 self.indent += self.content_indent
-                sourcename = u('docstring of %s.%s') % (self.fullname, name)
-                docstrings = [prepare_docstring(force_decode(doc, None))]
+                sourcename = u'docstring of %s.%s' % (self.fullname, name)
+                docstrings = [prepare_docstring(doc)]
                 for i, line in enumerate(self.process_doc(docstrings)):
                     self.add_line(line, sourcename, i)
-                self.add_line(u(''), '<autointerface>')
+                self.add_line(u'', '<autointerface>')
                 self.indent = oldindent
 
 
 def setup(app):
+    app.add_directive_to_domain('py', 'interface', InterfaceDesc)
+
+    from sphinx.domains import ObjType
+
     try:
-        app.add_directive_to_domain('py', 'interface', InterfaceDesc)
+        domains = app.domains
+    except AttributeError:
+        domains = app.registry.domains
 
-        from sphinx.domains import ObjType
+    # Allow the :class: directive to xref interface objects through the search
+    # mechanism, i.e., prefixed with a '.', like :class:`.ITheInterface`
+    # (without this, an exact match is required)
+    class InterfacePythonDomain(domains['py']):
+        pass
+    InterfacePythonDomain.object_types = domains['py'].object_types.copy()
+    InterfacePythonDomain.object_types['interface'] = ObjType( 'interface', 
'interface', 'obj', 'class')
+    old_class = InterfacePythonDomain.object_types['class']
+    new_class = ObjType( old_class.lname, *(old_class.roles + ('interface',)), 
**old_class.attrs )
+    InterfacePythonDomain.object_types['class'] = new_class
 
-        # Allow the :class: directive to xref interface objects through the 
search
-        # mechanism, i.e., prefixed with a '.', like :class:`.ITheInterface`
-        # (without this, an exact match is required)
-        class InterfacePythonDomain(app.domains['py']):
-            pass
-        InterfacePythonDomain.object_types = 
app.domains['py'].object_types.copy()
-        InterfacePythonDomain.object_types['interface'] = ObjType( 
'interface', 'interface', 'obj', 'class')
-        old_class = InterfacePythonDomain.object_types['class']
-        new_class = ObjType( old_class.lname, *(old_class.roles + 
('interface',)), **old_class.attrs )
-        InterfacePythonDomain.object_types['class'] = new_class
+    if hasattr(app, 'override_domain'):
         app.override_domain( InterfacePythonDomain )
-    except AttributeError:
-        # Sphinx < 1.0
-        app.add_directive('interface', InterfaceDesc)
+    else:
+        app.add_domain( InterfacePythonDomain, override=True )
+
     app.add_autodocumenter(InterfaceDocumenter)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/repoze.sphinx.autointerface-0.8/repoze/sphinx/tests/root/conf.py 
new/repoze.sphinx.autointerface-1.0.0/repoze/sphinx/tests/root/conf.py
--- old/repoze.sphinx.autointerface-0.8/repoze/sphinx/tests/root/conf.py        
1970-01-01 01:00:00.000000000 +0100
+++ new/repoze.sphinx.autointerface-1.0.0/repoze/sphinx/tests/root/conf.py      
2022-05-21 12:59:55.000000000 +0200
@@ -0,0 +1 @@
+extensions = ['sphinx.ext.autodoc']
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/repoze.sphinx.autointerface-0.8/repoze/sphinx/tests/test_autointerface.py 
new/repoze.sphinx.autointerface-1.0.0/repoze/sphinx/tests/test_autointerface.py
--- 
old/repoze.sphinx.autointerface-0.8/repoze/sphinx/tests/test_autointerface.py   
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/repoze.sphinx.autointerface-1.0.0/repoze/sphinx/tests/test_autointerface.py 
    2022-05-26 08:38:47.000000000 +0200
@@ -0,0 +1,120 @@
+import unittest
+
+from .util import TestApp
+
+from .. import autointerface
+from sphinx.ext.autodoc import ALL
+
+from docutils.statemachine import ViewList
+
+from zope import interface
+
+class IPlumbusMaker(interface.Interface):
+
+    grumbo = interface.Attribute("The dinglebop is fed through here")
+    fleeb = interface.Attribute("The dinglebop is polished with this")
+
+    def smoothTheDinglebop(schleem):
+        """
+        Smooth it out.
+
+        The schleem is then repurposed.
+        """
+
+class Options(dict):
+    inherited_members = False
+    undoc_members = False
+    private_members = False
+    special_members = False
+    imported_members = False
+    show_inheritance = False
+    noindex = False
+    annotation = None
+    synopsis = ''
+    platform = ''
+    deprecated = False
+    members = ()
+    member_order = 'alphabetic'
+    exclude_members = ()
+
+    def __init__(self):
+        super(Options, self).__init__()
+        self.exclude_members = set()
+        self.members = []
+        self.__dict__ = self
+
+class Settings(object):
+
+    tab_width = 4
+
+
+class Document(object):
+
+    def __init__(self, settings):
+        self.settings = settings
+
+
+class State(object):
+
+    def __init__(self, document):
+        self.document = document
+
+
+class Directive(object):
+    env = None
+    genopt = None
+    result = None
+    record_dependencies = None
+
+    def __init__(self):
+        self._warnings = []
+        self.filename_set = set()
+        self.result = ViewList()
+        self.record_dependencies = set()
+        self.state = State(Document(Settings()))
+
+    def warn(self, msg):
+        self._warnings.append(msg)
+
+class TestAutoInterface(unittest.TestCase):
+
+    def setUp(self):
+        app = self.app = TestApp()
+        app.builder.env.app = app
+        app.builder.env.temp_data['docname'] = 'dummy'
+
+        autointerface.setup(app)
+
+        opt = self.options = Options()
+        d = self.directive = Directive()
+        d.env = app.builder.env
+        d.genopt = opt
+
+
+    def tearDown(self):
+        self.app.cleanup()
+        self.app = None
+
+    def assertResultContains(self, item,
+                             objtype='interface', 
name='repoze.sphinx.tests.test_autointerface.IPlumbusMaker',
+                             **kw):
+        directive = self.directive
+        inst = self.app.registry.documenters['interface'](directive, name)
+        inst.generate(**kw)
+        # print '\n'.join(directive.result)
+        self.assertEqual([], directive._warnings)
+        self.assertIn(item, directive.result)
+        results = directive.result[:]
+        del directive.result[:]
+        return '\n'.join(results)
+
+    def test_restricted_members(self):
+        self.options.members = ['smoothTheDinglebop']
+        all_results = self.assertResultContains('   .. method:: 
smoothTheDinglebop(schleem)')
+        self.assertNotIn('grumbo', all_results)
+
+    def test_all_members(self):
+        self.options.members = ALL
+        all_results = self.assertResultContains('   .. method:: 
smoothTheDinglebop(schleem)')
+        self.assertIn('grumbo', all_results)
+        self.assertIn('fleeb', all_results)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/repoze.sphinx.autointerface-0.8/repoze/sphinx/tests/util.py 
new/repoze.sphinx.autointerface-1.0.0/repoze/sphinx/tests/util.py
--- old/repoze.sphinx.autointerface-0.8/repoze/sphinx/tests/util.py     
1970-01-01 01:00:00.000000000 +0100
+++ new/repoze.sphinx.autointerface-1.0.0/repoze/sphinx/tests/util.py   
2022-05-26 08:38:47.000000000 +0200
@@ -0,0 +1,112 @@
+import sys
+import os
+import tempfile
+import shutil
+
+from io import StringIO
+
+from sphinx import application
+from sphinx.builders.latex import LaTeXBuilder
+from sphinx.pycode import ModuleAnalyzer
+
+from docutils import nodes
+from docutils.parsers.rst import directives, roles
+
+rootdir = os.path.abspath(os.path.dirname(__file__) or '.')
+
+class ListOutput(object):
+    """
+    File-like object that collects written text in a list.
+    """
+    def __init__(self, name):
+        self.name = name
+        self.content = []
+
+    def reset(self):
+        del self.content[:]
+
+    def write(self, text):
+        self.content.append(text)
+
+class TestApp(application.Sphinx):
+    """
+    A subclass of :class:`Sphinx` that runs on the test root, with some
+    better default values for the initialization parameters.
+    """
+
+    def __init__(self, buildername='html', testroot=None, srcdir=None,
+                 freshenv=False, confoverrides=None, status=None, warning=None,
+                 tags=None, docutilsconf=None):
+        if testroot is None:
+            defaultsrcdir = 'root'
+            testroot = os.path.join(rootdir, 'root')
+        else:
+            defaultsrcdir = 'test-' + testroot
+            testroot = os.path.join(rootdir, 'roots', ('test-' + testroot))
+
+        self.__tempdir = os.path.abspath(tempfile.mkdtemp())
+
+
+        if srcdir is None:
+            srcdir = os.path.join(self.__tempdir, defaultsrcdir)
+        else:
+            srcdir = os.path.join(self.__tempdir, srcdir)
+
+        if not os.path.exists(srcdir):
+            shutil.copytree(testroot, srcdir, symlinks=False)
+
+        if docutilsconf is not None:
+            with open(os.path.join(srcdir, 'docutils.conf')) as f:
+                f.write(docutilsconf)
+
+        builddir = os.path.join(srcdir, '_build')
+#        if confdir is None:
+        confdir = srcdir
+#        if outdir is None:
+        outdir = os.path.join(builddir, buildername)
+        if not os.path.exists(outdir):
+            os.makedirs(outdir)
+
+        doctreedir = os.path.join(builddir, 'doctrees')
+        if not os.path.exists(doctreedir):
+            os.makedirs(doctreedir)
+        if confoverrides is None:
+            confoverrides = {}
+        if status is None:
+            status = StringIO()
+        if warning is None:
+            warning = ListOutput('stderr')
+#        if warningiserror is None:
+        warningiserror = False
+
+        self._saved_path = sys.path[:]
+        self._saved_directives = directives._directives.copy()
+        self._saved_roles = roles._roles.copy()
+
+        self._saved_nodeclasses = set(v for v in dir(nodes.GenericNodeVisitor)
+                                      if v.startswith('visit_'))
+
+        try:
+            application.Sphinx.__init__(self, srcdir, confdir, outdir, 
doctreedir,
+                                        buildername, confoverrides, status, 
warning,
+                                        freshenv, warningiserror, tags)
+        except:
+            self.cleanup()
+            raise
+
+    def cleanup(self, doctrees=False):
+        shutil.rmtree(self.__tempdir)
+        ModuleAnalyzer.cache.clear()
+        LaTeXBuilder.usepackages = []
+        sys.path[:] = self._saved_path
+        sys.modules.pop('autodoc_fodder', None)
+        directives._directives = self._saved_directives
+        roles._roles = self._saved_roles
+        for method in dir(nodes.GenericNodeVisitor):
+            if method.startswith('visit_') and \
+               method not in self._saved_nodeclasses:
+                delattr(nodes.GenericNodeVisitor, 'visit_' + method[6:])
+                delattr(nodes.GenericNodeVisitor, 'depart_' + method[6:])
+
+    def __repr__(self):
+        return '<%s buildername=%r>' % (self.__class__.__name__, 
self.builder.name)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/repoze.sphinx.autointerface-0.8/repoze.sphinx.autointerface.egg-info/PKG-INFO
 
new/repoze.sphinx.autointerface-1.0.0/repoze.sphinx.autointerface.egg-info/PKG-INFO
--- 
old/repoze.sphinx.autointerface-0.8/repoze.sphinx.autointerface.egg-info/PKG-INFO
   2016-03-29 02:41:57.000000000 +0200
+++ 
new/repoze.sphinx.autointerface-1.0.0/repoze.sphinx.autointerface.egg-info/PKG-INFO
 2022-05-26 08:48:53.000000000 +0200
@@ -1,184 +1,225 @@
-Metadata-Version: 1.1
+Metadata-Version: 2.1
 Name: repoze.sphinx.autointerface
-Version: 0.8
+Version: 1.0.0
 Summary: Sphinx extension: auto-generates API docs from Zope interfaces
-Home-page: http://www.repoze.org
+Home-page: https://github.com/repoze/repoze.sphinx.autointerface/
 Author: Agendaless Consulting
 Author-email: repoze-...@lists.repoze.org
-License: BSD-derived (http://www.repoze.org/LICENSE.txt)
-Description: repoze.sphinx.autointerface README
-        ==================================
-        
-        Overview
-        --------
-        
-        Thie package defines an extension for the
-        `Sphinx <http://sphinx.pocool.org>`_ documentation system.  The 
extension
-        allows generation of API documentation by introspection of
-        `zope.interface <http://pypi.python.org/pypi/zope.interface>`_ 
instances in 
-        code.
-        
-        
-        Installation
-        ------------
-        
-        Install via `easy_install
-        <http://peak.telecommunity.com/DevCenter/EasyInstall>`_::
-        
-         $ bin/easy_install repoze.sphinx.autointerface
-        
-        or any other means which gets the package on your ``PYTHONPATH``.
-        
-        
-        Registering the Extension
-        -------------------------
-        
-        Add ``repoze.sphinx.autointerface`` to the ``extensions`` list in the
-        ``conf.py`` of the Sphinx documentation for your product.  E.g.::
-        
-         extensions = ['sphinx.ext.autodoc',
-                       'sphinx.ext.doctest',
-                       'repoze.sphinx.autointerface',
-                      ]
-        
-        
-        Using the Extension
-        -------------------
-        
-        At appropriate points in your document, call out the interface
-        autodocs via::
-        
-          .. autointerface:: yourpackage.interfaces.IFoo
-        
-        Output from the directive includes
-        
-        - the fully-qualified interface name
-        - any base interfaces
-        - the doctstring from the interface, rendered as reSTX.
-        - the members of the interface (methods and attributes).
-        
-          * For each attribute, the output includes the attribute name
-            and its description.
-          * For each method, the output includes the method name, its 
signature,
-            and its docstring (also rendered as reSTX).
-        
-        
-        repoze.sphinx.autointerface Changelog
-        =====================================
-        
-        0.8 (2016-03-28)
-        ----------------
-        
-        - Add support for Python 3.3, 3.4, and 3.5.
-        
-        - Drop support for Python 2.6 and 3.2.
-        
-        - Allow cross references using the ``:class:`` directive to use the
-          ``.`` for "fuzzy" searching.  Thanks to Jason Madden for the patch.
-        
-        0.7.1 (2012-09-15)
-        ------------------
-        
-        - Remove ``setup.py`` dependency on ``ez_setup.py``.
-        
-        0.7.0 (2012-06-20)
-        ------------------
-        
-        - PyPy compatibility.
-        
-        - Python 3.2+ compatibility.  Thanks to Arfrever for the patch.
-        
-        - Include interface docs under the ``automodule`` directive.  Thanks to
-          Krys Lawrence for the patch.
-        
-        
-        0.6.2 (2011-02-13)
-        ------------------
-        
-        - Fix ``TypeError: 'NoneType' object is not iterable`` error when 
generating
-          a rendering of an interface under Python 2.7.
-        
-        
-        0.6.1 (2011-01-28)
-        ------------------
-        
-        - Fix ':member-order: bysource' handling.
-        
-        
-        0.6 (2011-01-28)
-        ----------------
-        
-        - Correctly handle ':members:' values explicitly set in the directive.
-        
-        
-        0.5 (2011-01-18)
-        ----------------
-        
-        - Added support for the ':member-order:' flag, which can take one of 
the
-          three stock values, "alphabetical", "groupwise", or "bysource".  By
-          default, members are documented in "hash" order.
-        
-        
-        0.4 (2010-07-26)
-        ----------------
-        
-        - Fixed compatibility with Sphinx 1.0
-        
-        - Un-break PyPI ReST/HTML-rendering again.
-        
-        
-        0.3 (2009-10-25)
-        ----------------
-        
-        - Refactor sphinx integration. There are now separate ``autointerface``
-          and ``interface`` directives.
-        
-        
-        0.2.1 (2009-08-20)
-        ------------------
-        
-        - Fix add_directive arguments to work with Sphinx 0.6.1, now required.
-        
-        
-        0.1.3 (2009-01-14)
-        ------------------
-        
-        - Coerce unicode path elements to str in ``_resolve_dotted_name``.
-          Note that non-ASCII path elements won't work:  this fix just deals
-          with the case where the path was of type unicode.
-        
-        - Fixed spelling of directive in README.txt.
-        
-        - Added dependency on ``zope.interface``.
-        
-        
-        0.1.2 (2008-10-03)
-        ------------------
-        
-        - Packaging change:  improved description in README.txt.
-        
-        
-        0.1.1 (2008-10-03)
-        ------------------
-        
-        - Packaging bug:  the ``long_description`` was not rendering properly 
to
-          HTML on PyPI.
-        
-        
-        0.1 (2008-10-02)
-        ----------------
-        
-        - Initial release.
-        
-Keywords: web wsgi zope
+License: BSD-derived (Repoze)
+Project-URL: Documentation, 
https://github.com/repoze/repoze.sphinx.autointerface/
+Project-URL: Changelog, 
https://github.com/repoze/repoze.sphinx.autointerface/blob/master/CHANGES.rst
+Project-URL: Issue Tracker, 
https://github.com/repoze/repoze.sphinx.autointerface/issues
+Keywords: web wsgi zope Sphinx
 Platform: UNKNOWN
 Classifier: Development Status :: 5 - Production/Stable
 Classifier: Intended Audience :: Developers
-Classifier: Programming Language :: Python :: 2
-Classifier: Programming Language :: Python :: 2.7
 Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.3
-Classifier: Programming Language :: Python :: 3.4
-Classifier: Programming Language :: Python :: 3.5
+Classifier: Programming Language :: Python :: 3.6
+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
+Requires-Python: >=3.6
+Description-Content-Type: text/x-rst
+Provides-Extra: test
+License-File: LICENSE.txt
+
+repoze.sphinx.autointerface README
+==================================
+
+.. image:: 
https://github.com/repoze/repoze.sphinx.autointerface/actions/workflows/ci-tests.yml/badge.svg
+    :target: 
https://github.com/repoze/repoze.sphinx.autointerface/actions/workflows/ci-tests.yml
+
+.. image:: https://img.shields.io/pypi/v/repoze.sphinx.autointerface.svg
+    :target: https://pypi.python.org/pypi/repoze.sphinx.autointerface
+
+.. image:: 
https://img.shields.io/pypi/pyversions/repoze.sphinx.autointerface.svg
+    :target: https://pypi.python.org/pypi/repoze.sphinx.autointerface
+
+
+Overview
+--------
+
+Thie package defines an extension for the
+`Sphinx <https://www.sphinx-doc.org/en/master/>`_ documentation system.
+The extension allows generation of API documentation by introspection of
+`zope.interface <https://pypi.org/project/zope.interface/>`_ instances in
+code.
+
+
+Installation
+------------
+
+Install via ``pip``:
+
+.. code-block:: bash
+
+    pip install repoze.sphinx.autointerface
+
+
+Registering the Extension
+-------------------------
+
+Add ``repoze.sphinx.autointerface`` to the ``extensions`` list in the
+``conf.py`` of the Sphinx documentation for your product.
+
+.. code-block:: python
+
+    extensions = [
+        "sphinx.ext.autodoc",
+        "sphinx.ext.doctest",
+        "repoze.sphinx.autointerface",
+    ]
+
+
+Using the Extension
+-------------------
+
+At appropriate points in your document, call out the autodoc interface.
+
+.. code-block:: rst
+
+    .. autointerface:: yourpackage.interfaces.IFoo
+
+Output from the directive includes
+
+- the fully-qualified interface name
+- any base interfaces
+- the docstring from the interface, rendered as reStructuredText
+- the members of the interface (methods and attributes)
+
+  * For each attribute, the output includes the attribute name
+    and its description.
+  * For each method, the output includes the method name, its signature,
+    and its docstring (also rendered as reStructuredText).
+
+
+repoze.sphinx.autointerface Changelog
+=====================================
+
+1.0.0 (2022-05-26)
+------------------
+
+- Remove sphinx.util.force_decode. Previously we hacked it in to support Python
+  2 and Sphinx 3.x, but Sphinx 4.0 deprecated it and dropped Python 2 support.
+
+- Replace Travis-CI with GitHub Actions
+
+- Add support for Python 3.6, 3.7, 3.8, 3.9, 3.10, and PyPy3.
+
+- Drop support for Python 2.7, 3.3, 3.4, 3.5, and PyPy.
+
+- Update to work with newer Sphinx versions:
+
+  * Sphinx.domains -> Sphinx.registry.domains
+  * Sphinx.override_domain(D) -> Sphinx.add_domain(D, override=True)
+
+- Drop support for Sphinx < 4.0.
+
+0.8 (2016-03-28)
+----------------
+
+- Add support for Python 3.3, 3.4, and 3.5.
+
+- Drop support for Python 2.6 and 3.2.
+
+- Allow cross references using the ``:class:`` directive to use the
+  ``.`` for "fuzzy" searching.  Thanks to Jason Madden for the patch.
+
+0.7.1 (2012-09-15)
+------------------
+
+- Remove ``setup.py`` dependency on ``ez_setup.py``.
+
+0.7.0 (2012-06-20)
+------------------
+
+- PyPy compatibility.
+
+- Python 3.2+ compatibility.  Thanks to Arfrever for the patch.
+
+- Include interface docs under the ``automodule`` directive.  Thanks to
+  Krys Lawrence for the patch.
+
+
+0.6.2 (2011-02-13)
+------------------
+
+- Fix ``TypeError: 'NoneType' object is not iterable`` error when generating
+  a rendering of an interface under Python 2.7.
+
+
+0.6.1 (2011-01-28)
+------------------
+
+- Fix ':member-order: bysource' handling.
+
+
+0.6 (2011-01-28)
+----------------
+
+- Correctly handle ':members:' values explicitly set in the directive.
+
+
+0.5 (2011-01-18)
+----------------
+
+- Added support for the ':member-order:' flag, which can take one of the
+  three stock values, "alphabetical", "groupwise", or "bysource".  By
+  default, members are documented in "hash" order.
+
+
+0.4 (2010-07-26)
+----------------
+
+- Fixed compatibility with Sphinx 1.0
+
+- Un-break PyPI ReST/HTML-rendering again.
+
+
+0.3 (2009-10-25)
+----------------
+
+- Refactor sphinx integration. There are now separate ``autointerface``
+  and ``interface`` directives.
+
+
+0.2.1 (2009-08-20)
+------------------
+
+- Fix add_directive arguments to work with Sphinx 0.6.1, now required.
+
+
+0.1.3 (2009-01-14)
+------------------
+
+- Coerce unicode path elements to str in ``_resolve_dotted_name``.
+  Note that non-ASCII path elements won't work:  this fix just deals
+  with the case where the path was of type unicode.
+
+- Fixed spelling of directive in README.txt.
+
+- Added dependency on ``zope.interface``.
+
+
+0.1.2 (2008-10-03)
+------------------
+
+- Packaging change:  improved description in README.txt.
+
+
+0.1.1 (2008-10-03)
+------------------
+
+- Packaging bug:  the ``long_description`` was not rendering properly to
+  HTML on PyPI.
+
+
+0.1 (2008-10-02)
+----------------
+
+- Initial release.
+
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/repoze.sphinx.autointerface-0.8/repoze.sphinx.autointerface.egg-info/SOURCES.txt
 
new/repoze.sphinx.autointerface-1.0.0/repoze.sphinx.autointerface.egg-info/SOURCES.txt
--- 
old/repoze.sphinx.autointerface-0.8/repoze.sphinx.autointerface.egg-info/SOURCES.txt
        2016-03-29 02:41:57.000000000 +0200
+++ 
new/repoze.sphinx.autointerface-1.0.0/repoze.sphinx.autointerface.egg-info/SOURCES.txt
      2022-05-26 08:48:53.000000000 +0200
@@ -1,11 +1,13 @@
-.gitignore
 CHANGES.rst
 CONTRIBUTORS.txt
 COPYRIGHT.txt
 LICENSE.txt
+MANIFEST.in
 README.rst
 TODO.txt
 setup.py
+tox.ini
+.github/workflows/ci-tests.yml
 repoze/__init__.py
 repoze.sphinx.autointerface.egg-info/PKG-INFO
 repoze.sphinx.autointerface.egg-info/SOURCES.txt
@@ -15,4 +17,8 @@
 repoze.sphinx.autointerface.egg-info/requires.txt
 repoze.sphinx.autointerface.egg-info/top_level.txt
 repoze/sphinx/__init__.py
-repoze/sphinx/autointerface.py
\ No newline at end of file
+repoze/sphinx/autointerface.py
+repoze/sphinx/tests/__init__.py
+repoze/sphinx/tests/test_autointerface.py
+repoze/sphinx/tests/util.py
+repoze/sphinx/tests/root/conf.py
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/repoze.sphinx.autointerface-0.8/repoze.sphinx.autointerface.egg-info/requires.txt
 
new/repoze.sphinx.autointerface-1.0.0/repoze.sphinx.autointerface.egg-info/requires.txt
--- 
old/repoze.sphinx.autointerface-0.8/repoze.sphinx.autointerface.egg-info/requires.txt
       2016-03-29 02:41:57.000000000 +0200
+++ 
new/repoze.sphinx.autointerface-1.0.0/repoze.sphinx.autointerface.egg-info/requires.txt
     2022-05-26 08:48:53.000000000 +0200
@@ -1,3 +1,6 @@
 zope.interface
-Sphinx>=0.6.1
+Sphinx>=4.0
 setuptools
+
+[test]
+zope.testrunner
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/repoze.sphinx.autointerface-0.8/setup.cfg 
new/repoze.sphinx.autointerface-1.0.0/setup.cfg
--- old/repoze.sphinx.autointerface-0.8/setup.cfg       2016-03-29 
02:41:57.000000000 +0200
+++ new/repoze.sphinx.autointerface-1.0.0/setup.cfg     2022-05-26 
08:48:54.007562000 +0200
@@ -1,5 +1,4 @@
 [egg_info]
 tag_build = 
 tag_date = 0
-tag_svn_revision = 0
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/repoze.sphinx.autointerface-0.8/setup.py 
new/repoze.sphinx.autointerface-1.0.0/setup.py
--- old/repoze.sphinx.autointerface-0.8/setup.py        2016-03-29 
02:41:11.000000000 +0200
+++ new/repoze.sphinx.autointerface-1.0.0/setup.py      2022-05-26 
08:42:27.000000000 +0200
@@ -12,49 +12,61 @@
 #
 ##############################################################################
 
-import os
-
 from setuptools import setup, find_packages
 
-here = os.path.abspath(os.path.dirname(__file__))
-
-with open(os.path.join(here, 'README.rst')) as f:
-    README = f.read()
 
-with open(os.path.join(here, 'CHANGES.rst')) as f:
-    CHANGES = f.read()
-
-setup(name='repoze.sphinx.autointerface',
-      version='0.8',
-      description='Sphinx extension: auto-generates API docs '
-                  'from Zope interfaces',
-      long_description=README + '\n\n' +  CHANGES,
-      classifiers=[
+def readfile(name):
+    with open(name) as f:
+        return f.read()
+
+
+README = readfile("README.rst")
+CHANGES = readfile("CHANGES.rst")
+
+tests_require = [
+    "zope.testrunner",
+]
+
+setup(
+    name="repoze.sphinx.autointerface",
+    version="1.0.0",
+    description="Sphinx extension: auto-generates API docs from Zope 
interfaces",
+    long_description=README + "\n\n" + CHANGES,
+    long_description_content_type='text/x-rst',
+    classifiers=[
         "Development Status :: 5 - Production/Stable",
         "Intended Audience :: Developers",
-        "Programming Language :: Python :: 2",
-        "Programming Language :: Python :: 2.7",
         "Programming Language :: Python :: 3",
-        "Programming Language :: Python :: 3.3",
-        "Programming Language :: Python :: 3.4",
-        "Programming Language :: Python :: 3.5",
+        "Programming Language :: Python :: 3.6",
+        "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",
-        ],
-      keywords='web wsgi zope',
-      author="Agendaless Consulting",
-      author_email="repoze-...@lists.repoze.org",
-      url="http://www.repoze.org";,
-      license="BSD-derived (http://www.repoze.org/LICENSE.txt)",
-      packages=find_packages(),
-      include_package_data=True,
-      namespace_packages=['repoze', 'repoze.sphinx'],
-      zip_safe=False,
-      tests_require = [],
-      install_requires=['zope.interface',
-                        'Sphinx>=0.6.1',
-                        'setuptools',
-                       ],
-      #test_suite="repoze.",
-      )
-
+    ],
+    keywords="web wsgi zope Sphinx",
+    author="Agendaless Consulting",
+    author_email="repoze-...@lists.repoze.org",
+    url="https://github.com/repoze/repoze.sphinx.autointerface/";,
+    project_urls={
+        "Documentation": 
"https://github.com/repoze/repoze.sphinx.autointerface/";,
+        "Changelog": 
"https://github.com/repoze/repoze.sphinx.autointerface/blob/master/CHANGES.rst";,
+        "Issue Tracker": 
"https://github.com/repoze/repoze.sphinx.autointerface/issues";,
+    },
+    license="BSD-derived (Repoze)",
+    packages=find_packages(),
+    include_package_data=True,
+    namespace_packages=["repoze", "repoze.sphinx"],
+    zip_safe=False,
+    python_requires=">=3.6",
+    tests_require=tests_require,
+    install_requires=[
+        "zope.interface",
+        "Sphinx >= 4.0",
+        "setuptools",
+    ],
+    extras_require={
+        "test": tests_require,
+    },
+)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/repoze.sphinx.autointerface-0.8/tox.ini 
new/repoze.sphinx.autointerface-1.0.0/tox.ini
--- old/repoze.sphinx.autointerface-0.8/tox.ini 1970-01-01 01:00:00.000000000 
+0100
+++ new/repoze.sphinx.autointerface-1.0.0/tox.ini       2022-05-26 
08:38:47.000000000 +0200
@@ -0,0 +1,36 @@
+[tox]
+envlist =
+    py36,py37,py38,py39,py310,pypy3
+
+[testenv]
+usedevelop = true
+commands =
+    zope-testrunner --test-path={toxinidir}
+deps =
+    zope.testrunner
+
+;[testenv:format]
+;skip_install = true
+;commands =
+;    flake8 repoze tests setup.py
+;    isort --check-only --df repoze tests setup.py
+;    black --check --diff repoze tests setup.py
+;deps =
+;    flake8
+;    black
+;    isort
+
+[testenv:build]
+skip_install = true
+commands =
+    # clean up build/ and dist/ folders
+    python -c 'import shutil; shutil.rmtree("dist", ignore_errors=True); 
shutil.rmtree("build", ignore_errors=True)'
+    # build sdist and wheel
+    python -m build --sdist --wheel --skip-dependencies --no-isolation 
{toxinidir}
+    # check long_description via CHANGES and README
+    twine check dist/*
+    check-manifest
+deps =
+    build
+    check-manifest
+    twine

Reply via email to