sphinx-toolbox / extras_require

Display a warning at the top of module documentation that it has additional requirements.
https://extras-require.readthedocs.io/en/latest
BSD 2-Clause "Simplified" License
2 stars 1 forks source link

0.4.1.post1: questions about `sphinx-toolbox-experimental` and some issues #44

Open kloczek opened 2 years ago

kloczek commented 2 years ago

https://github.com/sphinx-toolbox/sphinx-toolbox-experimental there is no yet first release and sphinx-toolbox-experimental is not refistered on pypi. It is a bit odd that released module is using another nit released yet module 😄

Is that modulerelally needed to build extras-require documentation? If yes: are you going to make first release of the sphinx-toolbox-experimental and register it on pypi?

kloczek commented 2 years ago

Here is build-shonx output where that module is required

+ /usr/bin/sphinx-build -n -T -b man doc-source build/sphinx/man
Running Sphinx v4.5.0
loading translations [en]... done

Traceback (most recent call last):
  File "/usr/lib/python3.8/site-packages/sphinx/registry.py", line 425, in load_extension
    mod = import_module(extname)
  File "/usr/lib64/python3.8/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 961, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 973, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'sphinx_toolbox_experimental'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/lib/python3.8/site-packages/sphinx/cmd/build.py", line 272, in build_main
    app = Sphinx(args.sourcedir, args.confdir, args.outputdir,
  File "/usr/lib/python3.8/site-packages/sphinx/application.py", line 223, in __init__
    self.setup_extension(extension)
  File "/usr/lib/python3.8/site-packages/sphinx/application.py", line 380, in setup_extension
    self.registry.load_extension(self, extname)
  File "/usr/lib/python3.8/site-packages/sphinx/registry.py", line 428, in load_extension
    raise ExtensionError(__('Could not import extension %s') % extname,
sphinx.errors.ExtensionError: Could not import extension sphinx_toolbox_experimental.needspace (exception: No module named 'sphinx_toolbox_experimental')
kloczek commented 2 years ago

As I don't see thet sphinx_toolbox_experimental I've decided to remove that module from pyproject.toml by:

--- a/pyproject.toml~   2022-02-09 10:10:44.000000000 +0000
+++ b/pyproject.toml    2022-04-19 18:04:39.589471298 +0000
@@ -79,9 +79,6 @@
     "sphinx_licenseinfo",
     "seed_intersphinx_mapping",
     "html_section",
-    "sphinx_toolbox_experimental.needspace",
-    "sphinx_toolbox_experimental.succinct_seealso",
-    "sphinx_toolbox_experimental.autosummary_widths",
 ]
 sphinxemoji_style = "twemoji"
 gitstamp_fmt = "%d %b %Y"

Than on building documentation I've hit two issues. First one that buid-shinx is not able to locate sphinxcontrib.extras_require module

[tkloczko@devel-g2v extras_require-0.4.1.post1]$ /usr/bin/sphinx-build -n -T -b man doc-source build/sphinx/man
Running Sphinx v4.5.0
loading translations [en]... done

Traceback (most recent call last):
  File "/usr/lib/python3.8/site-packages/sphinx/registry.py", line 425, in load_extension
    mod = import_module(extname)
  File "/usr/lib64/python3.8/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 973, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'sphinxcontrib.extras_require'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/lib/python3.8/site-packages/sphinx/cmd/build.py", line 272, in build_main
    app = Sphinx(args.sourcedir, args.confdir, args.outputdir,
  File "/usr/lib/python3.8/site-packages/sphinx/application.py", line 223, in __init__
    self.setup_extension(extension)
  File "/usr/lib/python3.8/site-packages/sphinx/application.py", line 380, in setup_extension
    self.registry.load_extension(self, extname)
  File "/usr/lib/python3.8/site-packages/sphinx/registry.py", line 428, in load_extension
    raise ExtensionError(__('Could not import extension %s') % extname,
sphinx.errors.ExtensionError: Could not import extension sphinxcontrib.extras_require (exception: No module named 'sphinxcontrib.extras_require')

Extension error:
Could not import extension sphinxcontrib.extras_require (exception: No module named 'sphinxcontrib.extras_require')

Thios can be fixed using patch:

--- a/doc-source/conf.py~       2022-02-09 10:10:44.000000000 +0000
+++ b/doc-source/conf.py        2022-04-19 18:08:45.742565003 +0000
@@ -10,7 +10,7 @@
 # 3rd party
 from sphinx_pyproject import SphinxConfig

-sys.path.append('.')
+sys.path.append(os.path.abspath('..'))

 config = SphinxConfig(globalns=globals())
 project = config["project"]

Than after that yet another issue

[tkloczko@devel-g2v extras_require-0.4.1.post1]$ /usr/bin/sphinx-build -n -T -b man doc-source build/sphinx/man
Running Sphinx v4.5.0
loading translations [en]... done
WARNING: Unable to determine documentation url for project docutils
WARNING: Unable to determine documentation url for project sphinx-prompt
[autosummary] generating autosummary for: 404.rst, Source.rst, api/directive.rst, api/extras_require.rst, api/sources.rst, index.rst, license.rst, usage/configuration.rst, usage/directive.rst, usage/installation.rst
loading intersphinx inventory from https://docs.python.org/3/objects.inv...
loading intersphinx inventory from https://www.sphinx-doc.org/en/stable/objects.inv...
loading intersphinx inventory from https://domdf-python-tools.readthedocs.io/en/latest/objects.inv...
loading intersphinx inventory from https://packaging.pypa.io/en/latest/objects.inv...
loading intersphinx inventory from https://setuptools.pypa.io/en/latest/objects.inv...
loading intersphinx inventory from https://shippinglabel.readthedocs.io/en/latest/objects.inv...
loading intersphinx inventory from https://sphinx-toolbox.readthedocs.io/en/latest/objects.inv...
intersphinx inventory has moved: https://www.sphinx-doc.org/en/stable/objects.inv -> https://www.sphinx-doc.org/en/master/objects.inv
building [mo]: targets for 0 po files that are out of date
building [man]: all manpages
updating environment: [new config] 10 added, 1 changed, 0 removed
reading sources... [ 70%] license
Traceback (most recent call last):
  File "/usr/lib/python3.8/site-packages/sphinx/cmd/build.py", line 276, in build_main
    app.build(args.force_all, filenames)
  File "/usr/lib/python3.8/site-packages/sphinx/application.py", line 330, in build
    self.builder.build_update()
  File "/usr/lib/python3.8/site-packages/sphinx/builders/__init__.py", line 283, in build_update
    self.build(['__all__'], to_build)
  File "/usr/lib/python3.8/site-packages/sphinx/builders/__init__.py", line 300, in build
    updated_docnames = set(self.read())
  File "/usr/lib/python3.8/site-packages/sphinx/builders/__init__.py", line 407, in read
    self._read_serial(docnames)
  File "/usr/lib/python3.8/site-packages/sphinx/builders/__init__.py", line 428, in _read_serial
    self.read_doc(docname)
  File "/usr/lib/python3.8/site-packages/sphinx/builders/__init__.py", line 468, in read_doc
    doctree = read_doc(self.app, self.env, self.env.doc2path(docname))
  File "/usr/lib/python3.8/site-packages/sphinx/io.py", line 181, in read_doc
    pub.publish()
  File "/usr/lib/python3.8/site-packages/docutils/core.py", line 217, in publish
    self.document = self.reader.read(self.source, self.parser,
  File "/usr/lib/python3.8/site-packages/sphinx/io.py", line 101, in read
    self.parse()
  File "/usr/lib/python3.8/site-packages/docutils/readers/__init__.py", line 78, in parse
    self.parser.parse(self.input, document)
  File "/usr/lib/python3.8/site-packages/sphinxcontrib/default_values/__init__.py", line 340, in parse
    super().parse(inputstring, document)
  File "/usr/lib/python3.8/site-packages/sphinx/parsers.py", line 89, in parse
    self.statemachine.run(inputlines, document, inliner=self.inliner)
  File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 170, in run
    results = StateMachineWS.run(self, input_lines, input_offset,
  File "/usr/lib/python3.8/site-packages/docutils/statemachine.py", line 239, in run
    context, next_state, result = self.check_line(
  File "/usr/lib/python3.8/site-packages/docutils/statemachine.py", line 451, in check_line
    return method(match, context, next_state)
  File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 3008, in text
    self.section(title.lstrip(), source, style, lineno + 1, messages)
  File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 327, in section
    self.new_subsection(title, lineno, messages)
  File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 393, in new_subsection
    newabsoffset = self.nested_parse(
  File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 281, in nested_parse
    state_machine.run(block, input_offset, memo=self.memo,
  File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 196, in run
    results = StateMachineWS.run(self, input_lines, input_offset)
  File "/usr/lib/python3.8/site-packages/docutils/statemachine.py", line 239, in run
    context, next_state, result = self.check_line(
  File "/usr/lib/python3.8/site-packages/docutils/statemachine.py", line 451, in check_line
    return method(match, context, next_state)
  File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 2344, in explicit_markup
    self.explicit_list(blank_finish)
  File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 2369, in explicit_list
    newline_offset, blank_finish = self.nested_list_parse(
  File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 318, in nested_list_parse
    state_machine.run(block, input_offset, memo=self.memo,
  File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 196, in run
    results = StateMachineWS.run(self, input_lines, input_offset)
  File "/usr/lib/python3.8/site-packages/docutils/statemachine.py", line 239, in run
    context, next_state, result = self.check_line(
  File "/usr/lib/python3.8/site-packages/docutils/statemachine.py", line 451, in check_line
    return method(match, context, next_state)
  File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 2647, in explicit_markup
    nodelist, blank_finish = self.explicit_construct(match)
  File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 2354, in explicit_construct
    return method(self, expmatch)
  File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 2096, in directive
    return self.run_directive(
  File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 2146, in run_directive
    result = directive_instance.run()
  File "/usr/lib/python3.8/site-packages/sphinx_licenseinfo/__init__.py", line 99, in run
    distro = get_distribution(self.options["py"])
  File "/usr/lib/python3.8/site-packages/dist_meta/distributions.py", line 581, in get_distribution
    raise DistributionNotFoundError(name)
dist_meta.distributions.DistributionNotFoundError: extras_require

Exception occurred:
  File "/usr/lib/python3.8/site-packages/dist_meta/distributions.py", line 581, in get_distribution
    raise DistributionNotFoundError(name)
dist_meta.distributions.DistributionNotFoundError: extras_require
The full traceback has been saved in /tmp/sphinx-err-6fln0ov6.log, if you want to report the issue to the developers.
Please also report this if it was a user error, so that a better error message can be provided next time.
A bug report can be filed in the tracker at <https://github.com/sphinx-doc/sphinx/issues>. Thanks!

Looks like here is wrong module name because it should be sphinxcontrib.extras_require I'm not sure where that should be fixed 🤔

kloczek commented 2 years ago

And at the end looks like pytest is failing

Here is pytest output: ```console + PYTHONPATH=/home/tkloczko/rpmbuild/BUILDROOT/python-extras-require-0.4.1.post1-2.fc35.x86_64/usr/lib64/python3.8/site-packages:/home/tkloczko/rpmbuild/BUILDROOT/python-extras-require-0.4.1.post1-2.fc35.x86_64/usr/lib/python3.8/site-packages + /usr/bin/pytest -ra =========================================================================== test session starts ============================================================================ platform linux -- Python 3.8.13, pytest-7.1.1, pluggy-1.0.0 Test session started at 18:25:10 rootdir: /home/tkloczko/rpmbuild/BUILD/extras_require-0.4.1.post1, configfile: tox.ini plugins: datadir-1.3.1, regressions-2.3.1, timeout-2.1.0 timeout: 300.0s timeout method: signal timeout func_only: False collected 108 items tests/test_directive.py .....................................................FEEEEEEE....... [ 62%] tests/test_flag.py .................. [ 79%] tests/test_from___pkginfo__.py .... [ 83%] tests/test_from_file.py .... [ 87%] tests/test_from_flit.py .... [ 90%] tests/test_from_pyproject.py .... [ 94%] tests/test_from_setup_cfg.py FFFFF [ 99%] tests/test_setup.py . [100%] ================================================================================== ERRORS ================================================================================== ______________________________________________________________ ERROR at setup of test_output[flit_demo.html] _______________________________________________________________ the_app = @pytest.fixture() def content(the_app): > the_app.build(force_all=True) tests/conftest.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.8/site-packages/sphinx/application.py:324: in build self.builder.build_all() /usr/lib/python3.8/site-packages/sphinx/builders/__init__.py:250: in build_all self.build(None, summary=__('all source files'), method='all') /usr/lib/python3.8/site-packages/sphinx/builders/__init__.py:300: in build updated_docnames = set(self.read()) /usr/lib/python3.8/site-packages/sphinx/builders/__init__.py:407: in read self._read_serial(docnames) /usr/lib/python3.8/site-packages/sphinx/builders/__init__.py:428: in _read_serial self.read_doc(docname) /usr/lib/python3.8/site-packages/sphinx/builders/__init__.py:468: in read_doc doctree = read_doc(self.app, self.env, self.env.doc2path(docname)) /usr/lib/python3.8/site-packages/sphinx/io.py:181: in read_doc pub.publish() /usr/lib/python3.8/site-packages/docutils/core.py:217: in publish self.document = self.reader.read(self.source, self.parser, /usr/lib/python3.8/site-packages/sphinx/io.py:101: in read self.parse() /usr/lib/python3.8/site-packages/docutils/readers/__init__.py:78: in parse self.parser.parse(self.input, document) /usr/lib/python3.8/site-packages/sphinx/parsers.py:89: in parse self.statemachine.run(inputlines, document, inliner=self.inliner) /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:170: in run results = StateMachineWS.run(self, input_lines, input_offset, /usr/lib/python3.8/site-packages/docutils/statemachine.py:239: in run context, next_state, result = self.check_line( /usr/lib/python3.8/site-packages/docutils/statemachine.py:451: in check_line return method(match, context, next_state) /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:3008: in text self.section(title.lstrip(), source, style, lineno + 1, messages) /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:327: in section self.new_subsection(title, lineno, messages) /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:393: in new_subsection newabsoffset = self.nested_parse( /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:281: in nested_parse state_machine.run(block, input_offset, memo=self.memo, /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:196: in run results = StateMachineWS.run(self, input_lines, input_offset) /usr/lib/python3.8/site-packages/docutils/statemachine.py:239: in run context, next_state, result = self.check_line( /usr/lib/python3.8/site-packages/docutils/statemachine.py:451: in check_line return method(match, context, next_state) /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:2342: in explicit_markup nodelist, blank_finish = self.explicit_construct(match) /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:2354: in explicit_construct return method(self, expmatch) /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:2096: in directive return self.run_directive( /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:2146: in run_directive result = directive_instance.run() sphinxcontrib/extras_require/directive.py:90: in run valid_requirements = get_requirements( sphinxcontrib/extras_require/directive.py:228: in get_requirements requirements = getter_function(package_root, options, env, extra) sphinxcontrib/extras_require/sources.py:235: in requirements_from_setup_cfg setup_cfg = read_configuration(setup_cfg_file) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ args = (PosixPathPlus('/tmp/pytest-of-tkloczko/pytest-75/setup.cfg'),), kwargs = {} msg = ' As setuptools moves its configuration towards `pyproject.toml`,\n `setuptools.config.read_configuratio...ccess a backward compatible API, but this module is provisional\n and might be removed in the future.\n ' @wraps(fn) def _wrapper(*args, **kwargs): msg = f"""\ As setuptools moves its configuration towards `pyproject.toml`, `{__name__}.{fn.__name__}` became deprecated. For the time being, you can use the `{setupcfg.__name__}` module to access a backward compatible API, but this module is provisional and might be removed in the future. """ > warnings.warn(dedent(msg), SetuptoolsDeprecationWarning) E setuptools._deprecation_warning.SetuptoolsDeprecationWarning: As setuptools moves its configuration towards `pyproject.toml`, E `setuptools.config.read_configuration` became deprecated. E E For the time being, you can use the `setuptools.config.setupcfg` module E to access a backward compatible API, but this module is provisional E and might be removed in the future. /usr/lib/python3.8/site-packages/setuptools/config/__init__.py:28: SetuptoolsDeprecationWarning _____________________________________________________________ ERROR at setup of test_output[scopes_demo.html] ______________________________________________________________ the_app = @pytest.fixture() def content(the_app): > the_app.build(force_all=True) tests/conftest.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.8/site-packages/sphinx/application.py:324: in build self.builder.build_all() /usr/lib/python3.8/site-packages/sphinx/builders/__init__.py:250: in build_all self.build(None, summary=__('all source files'), method='all') /usr/lib/python3.8/site-packages/sphinx/builders/__init__.py:300: in build updated_docnames = set(self.read()) /usr/lib/python3.8/site-packages/sphinx/builders/__init__.py:407: in read self._read_serial(docnames) /usr/lib/python3.8/site-packages/sphinx/builders/__init__.py:428: in _read_serial self.read_doc(docname) /usr/lib/python3.8/site-packages/sphinx/builders/__init__.py:468: in read_doc doctree = read_doc(self.app, self.env, self.env.doc2path(docname)) /usr/lib/python3.8/site-packages/sphinx/io.py:181: in read_doc pub.publish() /usr/lib/python3.8/site-packages/docutils/core.py:217: in publish self.document = self.reader.read(self.source, self.parser, /usr/lib/python3.8/site-packages/sphinx/io.py:101: in read self.parse() /usr/lib/python3.8/site-packages/docutils/readers/__init__.py:78: in parse self.parser.parse(self.input, document) /usr/lib/python3.8/site-packages/sphinx/parsers.py:89: in parse self.statemachine.run(inputlines, document, inliner=self.inliner) /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:170: in run results = StateMachineWS.run(self, input_lines, input_offset, /usr/lib/python3.8/site-packages/docutils/statemachine.py:239: in run context, next_state, result = self.check_line( /usr/lib/python3.8/site-packages/docutils/statemachine.py:451: in check_line return method(match, context, next_state) /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:3008: in text self.section(title.lstrip(), source, style, lineno + 1, messages) /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:327: in section self.new_subsection(title, lineno, messages) /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:393: in new_subsection newabsoffset = self.nested_parse( /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:281: in nested_parse state_machine.run(block, input_offset, memo=self.memo, /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:196: in run results = StateMachineWS.run(self, input_lines, input_offset) /usr/lib/python3.8/site-packages/docutils/statemachine.py:239: in run context, next_state, result = self.check_line( /usr/lib/python3.8/site-packages/docutils/statemachine.py:451: in check_line return method(match, context, next_state) /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:2342: in explicit_markup nodelist, blank_finish = self.explicit_construct(match) /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:2354: in explicit_construct return method(self, expmatch) /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:2096: in directive return self.run_directive( /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:2146: in run_directive result = directive_instance.run() sphinxcontrib/extras_require/directive.py:90: in run valid_requirements = get_requirements( sphinxcontrib/extras_require/directive.py:228: in get_requirements requirements = getter_function(package_root, options, env, extra) sphinxcontrib/extras_require/sources.py:235: in requirements_from_setup_cfg setup_cfg = read_configuration(setup_cfg_file) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ args = (PosixPathPlus('/tmp/pytest-of-tkloczko/pytest-75/setup.cfg'),), kwargs = {} msg = ' As setuptools moves its configuration towards `pyproject.toml`,\n `setuptools.config.read_configuratio...ccess a backward compatible API, but this module is provisional\n and might be removed in the future.\n ' @wraps(fn) def _wrapper(*args, **kwargs): msg = f"""\ As setuptools moves its configuration towards `pyproject.toml`, `{__name__}.{fn.__name__}` became deprecated. For the time being, you can use the `{setupcfg.__name__}` module to access a backward compatible API, but this module is provisional and might be removed in the future. """ > warnings.warn(dedent(msg), SetuptoolsDeprecationWarning) E setuptools._deprecation_warning.SetuptoolsDeprecationWarning: As setuptools moves its configuration towards `pyproject.toml`, E `setuptools.config.read_configuration` became deprecated. E E For the time being, you can use the `setuptools.config.setupcfg` module E to access a backward compatible API, but this module is provisional E and might be removed in the future. /usr/lib/python3.8/site-packages/setuptools/config/__init__.py:28: SetuptoolsDeprecationWarning ____________________________________________________________ ERROR at setup of test_output[setup_cfg_demo.html] ____________________________________________________________ the_app = @pytest.fixture() def content(the_app): > the_app.build(force_all=True) tests/conftest.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.8/site-packages/sphinx/application.py:324: in build self.builder.build_all() /usr/lib/python3.8/site-packages/sphinx/builders/__init__.py:250: in build_all self.build(None, summary=__('all source files'), method='all') /usr/lib/python3.8/site-packages/sphinx/builders/__init__.py:300: in build updated_docnames = set(self.read()) /usr/lib/python3.8/site-packages/sphinx/builders/__init__.py:407: in read self._read_serial(docnames) /usr/lib/python3.8/site-packages/sphinx/builders/__init__.py:428: in _read_serial self.read_doc(docname) /usr/lib/python3.8/site-packages/sphinx/builders/__init__.py:468: in read_doc doctree = read_doc(self.app, self.env, self.env.doc2path(docname)) /usr/lib/python3.8/site-packages/sphinx/io.py:181: in read_doc pub.publish() /usr/lib/python3.8/site-packages/docutils/core.py:217: in publish self.document = self.reader.read(self.source, self.parser, /usr/lib/python3.8/site-packages/sphinx/io.py:101: in read self.parse() /usr/lib/python3.8/site-packages/docutils/readers/__init__.py:78: in parse self.parser.parse(self.input, document) /usr/lib/python3.8/site-packages/sphinx/parsers.py:89: in parse self.statemachine.run(inputlines, document, inliner=self.inliner) /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:170: in run results = StateMachineWS.run(self, input_lines, input_offset, /usr/lib/python3.8/site-packages/docutils/statemachine.py:239: in run context, next_state, result = self.check_line( /usr/lib/python3.8/site-packages/docutils/statemachine.py:451: in check_line return method(match, context, next_state) /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:3008: in text self.section(title.lstrip(), source, style, lineno + 1, messages) /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:327: in section self.new_subsection(title, lineno, messages) /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:393: in new_subsection newabsoffset = self.nested_parse( /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:281: in nested_parse state_machine.run(block, input_offset, memo=self.memo, /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:196: in run results = StateMachineWS.run(self, input_lines, input_offset) /usr/lib/python3.8/site-packages/docutils/statemachine.py:239: in run context, next_state, result = self.check_line( /usr/lib/python3.8/site-packages/docutils/statemachine.py:451: in check_line return method(match, context, next_state) /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:2342: in explicit_markup nodelist, blank_finish = self.explicit_construct(match) /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:2354: in explicit_construct return method(self, expmatch) /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:2096: in directive return self.run_directive( /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:2146: in run_directive result = directive_instance.run() sphinxcontrib/extras_require/directive.py:90: in run valid_requirements = get_requirements( sphinxcontrib/extras_require/directive.py:228: in get_requirements requirements = getter_function(package_root, options, env, extra) sphinxcontrib/extras_require/sources.py:235: in requirements_from_setup_cfg setup_cfg = read_configuration(setup_cfg_file) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ args = (PosixPathPlus('/tmp/pytest-of-tkloczko/pytest-75/setup.cfg'),), kwargs = {} msg = ' As setuptools moves its configuration towards `pyproject.toml`,\n `setuptools.config.read_configuratio...ccess a backward compatible API, but this module is provisional\n and might be removed in the future.\n ' @wraps(fn) def _wrapper(*args, **kwargs): msg = f"""\ As setuptools moves its configuration towards `pyproject.toml`, `{__name__}.{fn.__name__}` became deprecated. For the time being, you can use the `{setupcfg.__name__}` module to access a backward compatible API, but this module is provisional and might be removed in the future. """ > warnings.warn(dedent(msg), SetuptoolsDeprecationWarning) E setuptools._deprecation_warning.SetuptoolsDeprecationWarning: As setuptools moves its configuration towards `pyproject.toml`, E `setuptools.config.read_configuration` became deprecated. E E For the time being, you can use the `setuptools.config.setupcfg` module E to access a backward compatible API, but this module is provisional E and might be removed in the future. /usr/lib/python3.8/site-packages/setuptools/config/__init__.py:28: SetuptoolsDeprecationWarning ________________________________________________________ ERROR at setup of test_output[requirements_file_demo.html] ________________________________________________________ the_app = @pytest.fixture() def content(the_app): > the_app.build(force_all=True) tests/conftest.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.8/site-packages/sphinx/application.py:324: in build self.builder.build_all() /usr/lib/python3.8/site-packages/sphinx/builders/__init__.py:250: in build_all self.build(None, summary=__('all source files'), method='all') /usr/lib/python3.8/site-packages/sphinx/builders/__init__.py:300: in build updated_docnames = set(self.read()) /usr/lib/python3.8/site-packages/sphinx/builders/__init__.py:407: in read self._read_serial(docnames) /usr/lib/python3.8/site-packages/sphinx/builders/__init__.py:428: in _read_serial self.read_doc(docname) /usr/lib/python3.8/site-packages/sphinx/builders/__init__.py:468: in read_doc doctree = read_doc(self.app, self.env, self.env.doc2path(docname)) /usr/lib/python3.8/site-packages/sphinx/io.py:181: in read_doc pub.publish() /usr/lib/python3.8/site-packages/docutils/core.py:217: in publish self.document = self.reader.read(self.source, self.parser, /usr/lib/python3.8/site-packages/sphinx/io.py:101: in read self.parse() /usr/lib/python3.8/site-packages/docutils/readers/__init__.py:78: in parse self.parser.parse(self.input, document) /usr/lib/python3.8/site-packages/sphinx/parsers.py:89: in parse self.statemachine.run(inputlines, document, inliner=self.inliner) /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:170: in run results = StateMachineWS.run(self, input_lines, input_offset, /usr/lib/python3.8/site-packages/docutils/statemachine.py:239: in run context, next_state, result = self.check_line( /usr/lib/python3.8/site-packages/docutils/statemachine.py:451: in check_line return method(match, context, next_state) /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:3008: in text self.section(title.lstrip(), source, style, lineno + 1, messages) /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:327: in section self.new_subsection(title, lineno, messages) /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:393: in new_subsection newabsoffset = self.nested_parse( /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:281: in nested_parse state_machine.run(block, input_offset, memo=self.memo, /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:196: in run results = StateMachineWS.run(self, input_lines, input_offset) /usr/lib/python3.8/site-packages/docutils/statemachine.py:239: in run context, next_state, result = self.check_line( /usr/lib/python3.8/site-packages/docutils/statemachine.py:451: in check_line return method(match, context, next_state) /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:2342: in explicit_markup nodelist, blank_finish = self.explicit_construct(match) /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:2354: in explicit_construct return method(self, expmatch) /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:2096: in directive return self.run_directive( /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:2146: in run_directive result = directive_instance.run() sphinxcontrib/extras_require/directive.py:90: in run valid_requirements = get_requirements( sphinxcontrib/extras_require/directive.py:228: in get_requirements requirements = getter_function(package_root, options, env, extra) sphinxcontrib/extras_require/sources.py:235: in requirements_from_setup_cfg setup_cfg = read_configuration(setup_cfg_file) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ args = (PosixPathPlus('/tmp/pytest-of-tkloczko/pytest-75/setup.cfg'),), kwargs = {} msg = ' As setuptools moves its configuration towards `pyproject.toml`,\n `setuptools.config.read_configuratio...ccess a backward compatible API, but this module is provisional\n and might be removed in the future.\n ' @wraps(fn) def _wrapper(*args, **kwargs): msg = f"""\ As setuptools moves its configuration towards `pyproject.toml`, `{__name__}.{fn.__name__}` became deprecated. For the time being, you can use the `{setupcfg.__name__}` module to access a backward compatible API, but this module is provisional and might be removed in the future. """ > warnings.warn(dedent(msg), SetuptoolsDeprecationWarning) E setuptools._deprecation_warning.SetuptoolsDeprecationWarning: As setuptools moves its configuration towards `pyproject.toml`, E `setuptools.config.read_configuration` became deprecated. E E For the time being, you can use the `setuptools.config.setupcfg` module E to access a backward compatible API, but this module is provisional E and might be removed in the future. /usr/lib/python3.8/site-packages/setuptools/config/__init__.py:28: SetuptoolsDeprecationWarning _____________________________________________________________ ERROR at setup of test_output[pkginfo_demo.html] _____________________________________________________________ the_app = @pytest.fixture() def content(the_app): > the_app.build(force_all=True) tests/conftest.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.8/site-packages/sphinx/application.py:324: in build self.builder.build_all() /usr/lib/python3.8/site-packages/sphinx/builders/__init__.py:250: in build_all self.build(None, summary=__('all source files'), method='all') /usr/lib/python3.8/site-packages/sphinx/builders/__init__.py:300: in build updated_docnames = set(self.read()) /usr/lib/python3.8/site-packages/sphinx/builders/__init__.py:407: in read self._read_serial(docnames) /usr/lib/python3.8/site-packages/sphinx/builders/__init__.py:428: in _read_serial self.read_doc(docname) /usr/lib/python3.8/site-packages/sphinx/builders/__init__.py:468: in read_doc doctree = read_doc(self.app, self.env, self.env.doc2path(docname)) /usr/lib/python3.8/site-packages/sphinx/io.py:181: in read_doc pub.publish() /usr/lib/python3.8/site-packages/docutils/core.py:217: in publish self.document = self.reader.read(self.source, self.parser, /usr/lib/python3.8/site-packages/sphinx/io.py:101: in read self.parse() /usr/lib/python3.8/site-packages/docutils/readers/__init__.py:78: in parse self.parser.parse(self.input, document) /usr/lib/python3.8/site-packages/sphinx/parsers.py:89: in parse self.statemachine.run(inputlines, document, inliner=self.inliner) /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:170: in run results = StateMachineWS.run(self, input_lines, input_offset, /usr/lib/python3.8/site-packages/docutils/statemachine.py:239: in run context, next_state, result = self.check_line( /usr/lib/python3.8/site-packages/docutils/statemachine.py:451: in check_line return method(match, context, next_state) /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:3008: in text self.section(title.lstrip(), source, style, lineno + 1, messages) /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:327: in section self.new_subsection(title, lineno, messages) /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:393: in new_subsection newabsoffset = self.nested_parse( /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:281: in nested_parse state_machine.run(block, input_offset, memo=self.memo, /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:196: in run results = StateMachineWS.run(self, input_lines, input_offset) /usr/lib/python3.8/site-packages/docutils/statemachine.py:239: in run context, next_state, result = self.check_line( /usr/lib/python3.8/site-packages/docutils/statemachine.py:451: in check_line return method(match, context, next_state) /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:2342: in explicit_markup nodelist, blank_finish = self.explicit_construct(match) /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:2354: in explicit_construct return method(self, expmatch) /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:2096: in directive return self.run_directive( /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:2146: in run_directive result = directive_instance.run() sphinxcontrib/extras_require/directive.py:90: in run valid_requirements = get_requirements( sphinxcontrib/extras_require/directive.py:228: in get_requirements requirements = getter_function(package_root, options, env, extra) sphinxcontrib/extras_require/sources.py:235: in requirements_from_setup_cfg setup_cfg = read_configuration(setup_cfg_file) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ args = (PosixPathPlus('/tmp/pytest-of-tkloczko/pytest-75/setup.cfg'),), kwargs = {} msg = ' As setuptools moves its configuration towards `pyproject.toml`,\n `setuptools.config.read_configuratio...ccess a backward compatible API, but this module is provisional\n and might be removed in the future.\n ' @wraps(fn) def _wrapper(*args, **kwargs): msg = f"""\ As setuptools moves its configuration towards `pyproject.toml`, `{__name__}.{fn.__name__}` became deprecated. For the time being, you can use the `{setupcfg.__name__}` module to access a backward compatible API, but this module is provisional and might be removed in the future. """ > warnings.warn(dedent(msg), SetuptoolsDeprecationWarning) E setuptools._deprecation_warning.SetuptoolsDeprecationWarning: As setuptools moves its configuration towards `pyproject.toml`, E `setuptools.config.read_configuration` became deprecated. E E For the time being, you can use the `setuptools.config.setupcfg` module E to access a backward compatible API, but this module is provisional E and might be removed in the future. /usr/lib/python3.8/site-packages/setuptools/config/__init__.py:28: SetuptoolsDeprecationWarning _____________________________________________________________ ERROR at setup of test_output[manual_demo.html] ______________________________________________________________ the_app = @pytest.fixture() def content(the_app): > the_app.build(force_all=True) tests/conftest.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.8/site-packages/sphinx/application.py:324: in build self.builder.build_all() /usr/lib/python3.8/site-packages/sphinx/builders/__init__.py:250: in build_all self.build(None, summary=__('all source files'), method='all') /usr/lib/python3.8/site-packages/sphinx/builders/__init__.py:300: in build updated_docnames = set(self.read()) /usr/lib/python3.8/site-packages/sphinx/builders/__init__.py:407: in read self._read_serial(docnames) /usr/lib/python3.8/site-packages/sphinx/builders/__init__.py:428: in _read_serial self.read_doc(docname) /usr/lib/python3.8/site-packages/sphinx/builders/__init__.py:468: in read_doc doctree = read_doc(self.app, self.env, self.env.doc2path(docname)) /usr/lib/python3.8/site-packages/sphinx/io.py:181: in read_doc pub.publish() /usr/lib/python3.8/site-packages/docutils/core.py:217: in publish self.document = self.reader.read(self.source, self.parser, /usr/lib/python3.8/site-packages/sphinx/io.py:101: in read self.parse() /usr/lib/python3.8/site-packages/docutils/readers/__init__.py:78: in parse self.parser.parse(self.input, document) /usr/lib/python3.8/site-packages/sphinx/parsers.py:89: in parse self.statemachine.run(inputlines, document, inliner=self.inliner) /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:170: in run results = StateMachineWS.run(self, input_lines, input_offset, /usr/lib/python3.8/site-packages/docutils/statemachine.py:239: in run context, next_state, result = self.check_line( /usr/lib/python3.8/site-packages/docutils/statemachine.py:451: in check_line return method(match, context, next_state) /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:3008: in text self.section(title.lstrip(), source, style, lineno + 1, messages) /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:327: in section self.new_subsection(title, lineno, messages) /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:393: in new_subsection newabsoffset = self.nested_parse( /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:281: in nested_parse state_machine.run(block, input_offset, memo=self.memo, /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:196: in run results = StateMachineWS.run(self, input_lines, input_offset) /usr/lib/python3.8/site-packages/docutils/statemachine.py:239: in run context, next_state, result = self.check_line( /usr/lib/python3.8/site-packages/docutils/statemachine.py:451: in check_line return method(match, context, next_state) /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:2342: in explicit_markup nodelist, blank_finish = self.explicit_construct(match) /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:2354: in explicit_construct return method(self, expmatch) /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:2096: in directive return self.run_directive( /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:2146: in run_directive result = directive_instance.run() sphinxcontrib/extras_require/directive.py:90: in run valid_requirements = get_requirements( sphinxcontrib/extras_require/directive.py:228: in get_requirements requirements = getter_function(package_root, options, env, extra) sphinxcontrib/extras_require/sources.py:235: in requirements_from_setup_cfg setup_cfg = read_configuration(setup_cfg_file) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ args = (PosixPathPlus('/tmp/pytest-of-tkloczko/pytest-75/setup.cfg'),), kwargs = {} msg = ' As setuptools moves its configuration towards `pyproject.toml`,\n `setuptools.config.read_configuratio...ccess a backward compatible API, but this module is provisional\n and might be removed in the future.\n ' @wraps(fn) def _wrapper(*args, **kwargs): msg = f"""\ As setuptools moves its configuration towards `pyproject.toml`, `{__name__}.{fn.__name__}` became deprecated. For the time being, you can use the `{setupcfg.__name__}` module to access a backward compatible API, but this module is provisional and might be removed in the future. """ > warnings.warn(dedent(msg), SetuptoolsDeprecationWarning) E setuptools._deprecation_warning.SetuptoolsDeprecationWarning: As setuptools moves its configuration towards `pyproject.toml`, E `setuptools.config.read_configuration` became deprecated. E E For the time being, you can use the `setuptools.config.setupcfg` module E to access a backward compatible API, but this module is provisional E and might be removed in the future. /usr/lib/python3.8/site-packages/setuptools/config/__init__.py:28: SetuptoolsDeprecationWarning __________________________________________________ ERROR at setup of test_no_requirements_demo[no_requirements_demo.html] __________________________________________________ the_app = @pytest.fixture() def content(the_app): > the_app.build(force_all=True) tests/conftest.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.8/site-packages/sphinx/application.py:324: in build self.builder.build_all() /usr/lib/python3.8/site-packages/sphinx/builders/__init__.py:250: in build_all self.build(None, summary=__('all source files'), method='all') /usr/lib/python3.8/site-packages/sphinx/builders/__init__.py:300: in build updated_docnames = set(self.read()) /usr/lib/python3.8/site-packages/sphinx/builders/__init__.py:407: in read self._read_serial(docnames) /usr/lib/python3.8/site-packages/sphinx/builders/__init__.py:428: in _read_serial self.read_doc(docname) /usr/lib/python3.8/site-packages/sphinx/builders/__init__.py:468: in read_doc doctree = read_doc(self.app, self.env, self.env.doc2path(docname)) /usr/lib/python3.8/site-packages/sphinx/io.py:181: in read_doc pub.publish() /usr/lib/python3.8/site-packages/docutils/core.py:217: in publish self.document = self.reader.read(self.source, self.parser, /usr/lib/python3.8/site-packages/sphinx/io.py:101: in read self.parse() /usr/lib/python3.8/site-packages/docutils/readers/__init__.py:78: in parse self.parser.parse(self.input, document) /usr/lib/python3.8/site-packages/sphinx/parsers.py:89: in parse self.statemachine.run(inputlines, document, inliner=self.inliner) /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:170: in run results = StateMachineWS.run(self, input_lines, input_offset, /usr/lib/python3.8/site-packages/docutils/statemachine.py:239: in run context, next_state, result = self.check_line( /usr/lib/python3.8/site-packages/docutils/statemachine.py:451: in check_line return method(match, context, next_state) /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:3008: in text self.section(title.lstrip(), source, style, lineno + 1, messages) /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:327: in section self.new_subsection(title, lineno, messages) /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:393: in new_subsection newabsoffset = self.nested_parse( /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:281: in nested_parse state_machine.run(block, input_offset, memo=self.memo, /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:196: in run results = StateMachineWS.run(self, input_lines, input_offset) /usr/lib/python3.8/site-packages/docutils/statemachine.py:239: in run context, next_state, result = self.check_line( /usr/lib/python3.8/site-packages/docutils/statemachine.py:451: in check_line return method(match, context, next_state) /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:2342: in explicit_markup nodelist, blank_finish = self.explicit_construct(match) /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:2354: in explicit_construct return method(self, expmatch) /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:2096: in directive return self.run_directive( /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:2146: in run_directive result = directive_instance.run() sphinxcontrib/extras_require/directive.py:90: in run valid_requirements = get_requirements( sphinxcontrib/extras_require/directive.py:228: in get_requirements requirements = getter_function(package_root, options, env, extra) sphinxcontrib/extras_require/sources.py:235: in requirements_from_setup_cfg setup_cfg = read_configuration(setup_cfg_file) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ args = (PosixPathPlus('/tmp/pytest-of-tkloczko/pytest-75/setup.cfg'),), kwargs = {} msg = ' As setuptools moves its configuration towards `pyproject.toml`,\n `setuptools.config.read_configuratio...ccess a backward compatible API, but this module is provisional\n and might be removed in the future.\n ' @wraps(fn) def _wrapper(*args, **kwargs): msg = f"""\ As setuptools moves its configuration towards `pyproject.toml`, `{__name__}.{fn.__name__}` became deprecated. For the time being, you can use the `{setupcfg.__name__}` module to access a backward compatible API, but this module is provisional and might be removed in the future. """ > warnings.warn(dedent(msg), SetuptoolsDeprecationWarning) E setuptools._deprecation_warning.SetuptoolsDeprecationWarning: As setuptools moves its configuration towards `pyproject.toml`, E `setuptools.config.read_configuration` became deprecated. E E For the time being, you can use the `setuptools.config.setupcfg` module E to access a backward compatible API, but this module is provisional E and might be removed in the future. /usr/lib/python3.8/site-packages/setuptools/config/__init__.py:28: SetuptoolsDeprecationWarning ================================================================================= FAILURES ================================================================================= ___________________________________________________________________________________ test ___________________________________________________________________________________ the_app = def test(the_app): # app is a Sphinx application object for default sphinx project (`tests/doc-test/test-root`). > the_app.build() tests/test_directive.py:171: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.8/site-packages/sphinx/application.py:330: in build self.builder.build_update() /usr/lib/python3.8/site-packages/sphinx/builders/__init__.py:286: in build_update self.build(to_build, /usr/lib/python3.8/site-packages/sphinx/builders/__init__.py:300: in build updated_docnames = set(self.read()) /usr/lib/python3.8/site-packages/sphinx/builders/__init__.py:407: in read self._read_serial(docnames) /usr/lib/python3.8/site-packages/sphinx/builders/__init__.py:428: in _read_serial self.read_doc(docname) /usr/lib/python3.8/site-packages/sphinx/builders/__init__.py:468: in read_doc doctree = read_doc(self.app, self.env, self.env.doc2path(docname)) /usr/lib/python3.8/site-packages/sphinx/io.py:181: in read_doc pub.publish() /usr/lib/python3.8/site-packages/docutils/core.py:217: in publish self.document = self.reader.read(self.source, self.parser, /usr/lib/python3.8/site-packages/sphinx/io.py:101: in read self.parse() /usr/lib/python3.8/site-packages/docutils/readers/__init__.py:78: in parse self.parser.parse(self.input, document) /usr/lib/python3.8/site-packages/sphinx/parsers.py:89: in parse self.statemachine.run(inputlines, document, inliner=self.inliner) /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:170: in run results = StateMachineWS.run(self, input_lines, input_offset, /usr/lib/python3.8/site-packages/docutils/statemachine.py:239: in run context, next_state, result = self.check_line( /usr/lib/python3.8/site-packages/docutils/statemachine.py:451: in check_line return method(match, context, next_state) /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:3008: in text self.section(title.lstrip(), source, style, lineno + 1, messages) /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:327: in section self.new_subsection(title, lineno, messages) /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:393: in new_subsection newabsoffset = self.nested_parse( /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:281: in nested_parse state_machine.run(block, input_offset, memo=self.memo, /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:196: in run results = StateMachineWS.run(self, input_lines, input_offset) /usr/lib/python3.8/site-packages/docutils/statemachine.py:239: in run context, next_state, result = self.check_line( /usr/lib/python3.8/site-packages/docutils/statemachine.py:451: in check_line return method(match, context, next_state) /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:2342: in explicit_markup nodelist, blank_finish = self.explicit_construct(match) /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:2354: in explicit_construct return method(self, expmatch) /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:2096: in directive return self.run_directive( /usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py:2146: in run_directive result = directive_instance.run() sphinxcontrib/extras_require/directive.py:90: in run valid_requirements = get_requirements( sphinxcontrib/extras_require/directive.py:228: in get_requirements requirements = getter_function(package_root, options, env, extra) sphinxcontrib/extras_require/sources.py:235: in requirements_from_setup_cfg setup_cfg = read_configuration(setup_cfg_file) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ args = (PosixPathPlus('/tmp/pytest-of-tkloczko/pytest-75/setup.cfg'),), kwargs = {} msg = ' As setuptools moves its configuration towards `pyproject.toml`,\n `setuptools.config.read_configuratio...ccess a backward compatible API, but this module is provisional\n and might be removed in the future.\n ' @wraps(fn) def _wrapper(*args, **kwargs): msg = f"""\ As setuptools moves its configuration towards `pyproject.toml`, `{__name__}.{fn.__name__}` became deprecated. For the time being, you can use the `{setupcfg.__name__}` module to access a backward compatible API, but this module is provisional and might be removed in the future. """ > warnings.warn(dedent(msg), SetuptoolsDeprecationWarning) E setuptools._deprecation_warning.SetuptoolsDeprecationWarning: As setuptools moves its configuration towards `pyproject.toml`, E `setuptools.config.read_configuration` became deprecated. E E For the time being, you can use the `setuptools.config.setupcfg` module E to access a backward compatible API, but this module is provisional E and might be removed in the future. /usr/lib/python3.8/site-packages/setuptools/config/__init__.py:28: SetuptoolsDeprecationWarning ------------------------------------------------------------------------- Captured stdout teardown ------------------------------------------------------------------------- # testroot: root # builder: html # srcdir: /tmp/pytest-of-tkloczko/pytest-75/root # outdir: /tmp/pytest-of-tkloczko/pytest-75/root/_build/html # status: Running Sphinx v4.5.0 building [mo]: targets for 0 po files that are out of date building [html]: targets for 9 source files that are out of date updating environment: [new config] 9 added, 0 changed, 0 removed reading sources... [100%] setup_cfg_demo # warning: /tmp/pytest-of-tkloczko/pytest-75/root/no_requirements_demo.rst:5: WARNING: No requirements specified! No notice will be shown in the documentation. ____________________________________________________ test_from_setup_cfg[extra_c = faker; pytest; tox-extra_c-expects0] ____________________________________________________ tmp_pathplus = PosixPathPlus('/tmp/pytest-of-tkloczko/pytest-75/test_from_setup_cfg_extra_c___0'), setup = 'extra_c = faker; pytest; tox', extra = 'extra_c' expects = ['faker', 'pytest', 'tox'] @pytest.mark.parametrize( "setup, extra, expects", [ ("extra_c = faker; pytest; tox", "extra_c", ["faker", "pytest", "tox"]), ( """\ extra_c = faker pytest tox; python<=3.6 """, "extra_c", ["faker", "pytest", "tox; python<=3.6"] ), ] ) def test_from_setup_cfg( tmp_pathplus: PathPlus, setup: str, extra: str, expects: List[str], ): setup_cfg_file = tmp_pathplus / "setup.cfg" setup_cfg_file.write_text(f"""\ [options.extras_require] {setup}""") > assert requirements_from_setup_cfg( package_root=PathPlus(), options={}, env=MockBuildEnvironment(tmp_pathplus), extra=extra, ) == expects tests/test_from_setup_cfg.py:45: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ sphinxcontrib/extras_require/sources.py:235: in requirements_from_setup_cfg setup_cfg = read_configuration(setup_cfg_file) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ args = (PosixPathPlus('/tmp/pytest-of-tkloczko/pytest-75/test_from_setup_cfg_extra_c___0/setup.cfg'),), kwargs = {} msg = ' As setuptools moves its configuration towards `pyproject.toml`,\n `setuptools.config.read_configuratio...ccess a backward compatible API, but this module is provisional\n and might be removed in the future.\n ' @wraps(fn) def _wrapper(*args, **kwargs): msg = f"""\ As setuptools moves its configuration towards `pyproject.toml`, `{__name__}.{fn.__name__}` became deprecated. For the time being, you can use the `{setupcfg.__name__}` module to access a backward compatible API, but this module is provisional and might be removed in the future. """ > warnings.warn(dedent(msg), SetuptoolsDeprecationWarning) E setuptools._deprecation_warning.SetuptoolsDeprecationWarning: As setuptools moves its configuration towards `pyproject.toml`, E `setuptools.config.read_configuration` became deprecated. E E For the time being, you can use the `setuptools.config.setupcfg` module E to access a backward compatible API, but this module is provisional E and might be removed in the future. /usr/lib/python3.8/site-packages/setuptools/config/__init__.py:28: SetuptoolsDeprecationWarning ______________________________________ test_from_setup_cfg[extra_c =\n faker\n pytest\n tox; python<=3.6\n-extra_c-expects1] ______________________________________ tmp_pathplus = PosixPathPlus('/tmp/pytest-of-tkloczko/pytest-75/test_from_setup_cfg_extra_c___1'), setup = 'extra_c =\n faker\n pytest\n tox; python<=3.6\n' extra = 'extra_c', expects = ['faker', 'pytest', 'tox; python<=3.6'] @pytest.mark.parametrize( "setup, extra, expects", [ ("extra_c = faker; pytest; tox", "extra_c", ["faker", "pytest", "tox"]), ( """\ extra_c = faker pytest tox; python<=3.6 """, "extra_c", ["faker", "pytest", "tox; python<=3.6"] ), ] ) def test_from_setup_cfg( tmp_pathplus: PathPlus, setup: str, extra: str, expects: List[str], ): setup_cfg_file = tmp_pathplus / "setup.cfg" setup_cfg_file.write_text(f"""\ [options.extras_require] {setup}""") > assert requirements_from_setup_cfg( package_root=PathPlus(), options={}, env=MockBuildEnvironment(tmp_pathplus), extra=extra, ) == expects tests/test_from_setup_cfg.py:45: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ sphinxcontrib/extras_require/sources.py:235: in requirements_from_setup_cfg setup_cfg = read_configuration(setup_cfg_file) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ args = (PosixPathPlus('/tmp/pytest-of-tkloczko/pytest-75/test_from_setup_cfg_extra_c___1/setup.cfg'),), kwargs = {} msg = ' As setuptools moves its configuration towards `pyproject.toml`,\n `setuptools.config.read_configuratio...ccess a backward compatible API, but this module is provisional\n and might be removed in the future.\n ' @wraps(fn) def _wrapper(*args, **kwargs): msg = f"""\ As setuptools moves its configuration towards `pyproject.toml`, `{__name__}.{fn.__name__}` became deprecated. For the time being, you can use the `{setupcfg.__name__}` module to access a backward compatible API, but this module is provisional and might be removed in the future. """ > warnings.warn(dedent(msg), SetuptoolsDeprecationWarning) E setuptools._deprecation_warning.SetuptoolsDeprecationWarning: As setuptools moves its configuration towards `pyproject.toml`, E `setuptools.config.read_configuration` became deprecated. E E For the time being, you can use the `setuptools.config.setupcfg` module E to access a backward compatible API, but this module is provisional E and might be removed in the future. /usr/lib/python3.8/site-packages/setuptools/config/__init__.py:28: SetuptoolsDeprecationWarning _________________________________________________ test_from_setup_cfg_errors[extra_c = faker; pytest; tox-extra-expects0] __________________________________________________ tmp_pathplus = PosixPathPlus('/tmp/pytest-of-tkloczko/pytest-75/test_from_setup_cfg_errors_ext0'), setup = 'extra_c = faker; pytest; tox', extra = 'extra' expects = ['faker', 'pytest', 'tox'] @pytest.mark.parametrize( "setup, extra, expects", [ ("extra_c = faker; pytest; tox", "extra", ["faker", "pytest", "tox"]), ( """\ extra_c = faker pytest tox; python<=3.6 """, "test", ["faker", "pytest", "tox; python<=3.6"] ), ] ) def test_from_setup_cfg_errors( tmp_pathplus: PathPlus, setup: str, extra: str, expects: List[str], ): setup_cfg_file = tmp_pathplus / "setup.cfg" setup_cfg_file.write_text(f"""\ [options.extras_require] {setup}""") with pytest.raises(ValueError, match=f"'{extra}' not found in '\\[options.extras_require\\]'"): > requirements_from_setup_cfg( package_root=PathPlus(), options={}, env=MockBuildEnvironment(tmp_pathplus), extra=extra, ) tests/test_from_setup_cfg.py:80: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ sphinxcontrib/extras_require/sources.py:235: in requirements_from_setup_cfg setup_cfg = read_configuration(setup_cfg_file) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ args = (PosixPathPlus('/tmp/pytest-of-tkloczko/pytest-75/test_from_setup_cfg_errors_ext0/setup.cfg'),), kwargs = {} msg = ' As setuptools moves its configuration towards `pyproject.toml`,\n `setuptools.config.read_configuratio...ccess a backward compatible API, but this module is provisional\n and might be removed in the future.\n ' @wraps(fn) def _wrapper(*args, **kwargs): msg = f"""\ As setuptools moves its configuration towards `pyproject.toml`, `{__name__}.{fn.__name__}` became deprecated. For the time being, you can use the `{setupcfg.__name__}` module to access a backward compatible API, but this module is provisional and might be removed in the future. """ > warnings.warn(dedent(msg), SetuptoolsDeprecationWarning) E setuptools._deprecation_warning.SetuptoolsDeprecationWarning: As setuptools moves its configuration towards `pyproject.toml`, E `setuptools.config.read_configuration` became deprecated. E E For the time being, you can use the `setuptools.config.setupcfg` module E to access a backward compatible API, but this module is provisional E and might be removed in the future. /usr/lib/python3.8/site-packages/setuptools/config/__init__.py:28: SetuptoolsDeprecationWarning ____________________________________ test_from_setup_cfg_errors[extra_c =\n faker\n pytest\n tox; python<=3.6\n-test-expects1] ____________________________________ tmp_pathplus = PosixPathPlus('/tmp/pytest-of-tkloczko/pytest-75/test_from_setup_cfg_errors_ext1'), setup = 'extra_c =\n faker\n pytest\n tox; python<=3.6\n' extra = 'test', expects = ['faker', 'pytest', 'tox; python<=3.6'] @pytest.mark.parametrize( "setup, extra, expects", [ ("extra_c = faker; pytest; tox", "extra", ["faker", "pytest", "tox"]), ( """\ extra_c = faker pytest tox; python<=3.6 """, "test", ["faker", "pytest", "tox; python<=3.6"] ), ] ) def test_from_setup_cfg_errors( tmp_pathplus: PathPlus, setup: str, extra: str, expects: List[str], ): setup_cfg_file = tmp_pathplus / "setup.cfg" setup_cfg_file.write_text(f"""\ [options.extras_require] {setup}""") with pytest.raises(ValueError, match=f"'{extra}' not found in '\\[options.extras_require\\]'"): > requirements_from_setup_cfg( package_root=PathPlus(), options={}, env=MockBuildEnvironment(tmp_pathplus), extra=extra, ) tests/test_from_setup_cfg.py:80: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ sphinxcontrib/extras_require/sources.py:235: in requirements_from_setup_cfg setup_cfg = read_configuration(setup_cfg_file) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ args = (PosixPathPlus('/tmp/pytest-of-tkloczko/pytest-75/test_from_setup_cfg_errors_ext1/setup.cfg'),), kwargs = {} msg = ' As setuptools moves its configuration towards `pyproject.toml`,\n `setuptools.config.read_configuratio...ccess a backward compatible API, but this module is provisional\n and might be removed in the future.\n ' @wraps(fn) def _wrapper(*args, **kwargs): msg = f"""\ As setuptools moves its configuration towards `pyproject.toml`, `{__name__}.{fn.__name__}` became deprecated. For the time being, you can use the `{setupcfg.__name__}` module to access a backward compatible API, but this module is provisional and might be removed in the future. """ > warnings.warn(dedent(msg), SetuptoolsDeprecationWarning) E setuptools._deprecation_warning.SetuptoolsDeprecationWarning: As setuptools moves its configuration towards `pyproject.toml`, E `setuptools.config.read_configuration` became deprecated. E E For the time being, you can use the `setuptools.config.setupcfg` module E to access a backward compatible API, but this module is provisional E and might be removed in the future. /usr/lib/python3.8/site-packages/setuptools/config/__init__.py:28: SetuptoolsDeprecationWarning ___________________________________________________________________ test_from_setup_cfg_missing_section ____________________________________________________________________ tmp_pathplus = PosixPathPlus('/tmp/pytest-of-tkloczko/pytest-75/test_from_setup_cfg_missing_se0') def test_from_setup_cfg_missing_section(tmp_pathplus: PathPlus): setup_cfg_file = tmp_pathplus / "setup.cfg" setup_cfg_file.write_text(f"""\ [metadata] name = FooBar author = Joe Bloggs """) with pytest.raises(ValueError, match="'options.extras_require' section not found in 'setup.cfg"): > requirements_from_setup_cfg( package_root=PathPlus(), options={}, env=MockBuildEnvironment(tmp_pathplus), extra="docs", ) tests/test_from_setup_cfg.py:97: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ sphinxcontrib/extras_require/sources.py:235: in requirements_from_setup_cfg setup_cfg = read_configuration(setup_cfg_file) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ args = (PosixPathPlus('/tmp/pytest-of-tkloczko/pytest-75/test_from_setup_cfg_missing_se0/setup.cfg'),), kwargs = {} msg = ' As setuptools moves its configuration towards `pyproject.toml`,\n `setuptools.config.read_configuratio...ccess a backward compatible API, but this module is provisional\n and might be removed in the future.\n ' @wraps(fn) def _wrapper(*args, **kwargs): msg = f"""\ As setuptools moves its configuration towards `pyproject.toml`, `{__name__}.{fn.__name__}` became deprecated. For the time being, you can use the `{setupcfg.__name__}` module to access a backward compatible API, but this module is provisional and might be removed in the future. """ > warnings.warn(dedent(msg), SetuptoolsDeprecationWarning) E setuptools._deprecation_warning.SetuptoolsDeprecationWarning: As setuptools moves its configuration towards `pyproject.toml`, E `setuptools.config.read_configuration` became deprecated. E E For the time being, you can use the `setuptools.config.setupcfg` module E to access a backward compatible API, but this module is provisional E and might be removed in the future. /usr/lib/python3.8/site-packages/setuptools/config/__init__.py:28: SetuptoolsDeprecationWarning =========================================================================== slowest 25 durations =========================================================================== 0.14s setup tests/test_directive.py::test_output[pkginfo_demo.html] 0.11s setup tests/test_directive.py::test 0.11s call tests/test_directive.py::test 0.09s setup tests/test_directive.py::test_output[setup_cfg_demo.html] 0.09s setup tests/test_directive.py::test_output[manual_demo.html] 0.09s setup tests/test_directive.py::test_output[requirements_file_demo.html] 0.09s setup tests/test_directive.py::test_output[flit_demo.html] 0.09s setup tests/test_directive.py::test_output[scopes_demo.html] 0.09s setup tests/test_directive.py::test_no_requirements_demo[no_requirements_demo.html] (16 durations < 0.005s hidden. Use -vv to show these durations.) ========================================================================= short test summary info ========================================================================== ERROR tests/test_directive.py::test_output[flit_demo.html] - setuptools._deprecation_warning.SetuptoolsDeprecationWarning: As setuptools moves its configuration towards ... ERROR tests/test_directive.py::test_output[scopes_demo.html] - setuptools._deprecation_warning.SetuptoolsDeprecationWarning: As setuptools moves its configuration toward... ERROR tests/test_directive.py::test_output[setup_cfg_demo.html] - setuptools._deprecation_warning.SetuptoolsDeprecationWarning: As setuptools moves its configuration tow... ERROR tests/test_directive.py::test_output[requirements_file_demo.html] - setuptools._deprecation_warning.SetuptoolsDeprecationWarning: As setuptools moves its configura... ERROR tests/test_directive.py::test_output[pkginfo_demo.html] - setuptools._deprecation_warning.SetuptoolsDeprecationWarning: As setuptools moves its configuration towar... ERROR tests/test_directive.py::test_output[manual_demo.html] - setuptools._deprecation_warning.SetuptoolsDeprecationWarning: As setuptools moves its configuration toward... ERROR tests/test_directive.py::test_no_requirements_demo[no_requirements_demo.html] - setuptools._deprecation_warning.SetuptoolsDeprecationWarning: As setuptools moves i... FAILED tests/test_directive.py::test - setuptools._deprecation_warning.SetuptoolsDeprecationWarning: As setuptools moves its configuration towards `pyproject.toml`, FAILED tests/test_from_setup_cfg.py::test_from_setup_cfg[extra_c = faker; pytest; tox-extra_c-expects0] - setuptools._deprecation_warning.SetuptoolsDeprecationWarning: A... FAILED tests/test_from_setup_cfg.py::test_from_setup_cfg[extra_c =\n faker\n pytest\n tox; python<=3.6\n-extra_c-expects1] - setuptools._deprecation_warning.Set... FAILED tests/test_from_setup_cfg.py::test_from_setup_cfg_errors[extra_c = faker; pytest; tox-extra-expects0] - setuptools._deprecation_warning.SetuptoolsDeprecationWarni... FAILED tests/test_from_setup_cfg.py::test_from_setup_cfg_errors[extra_c =\n faker\n pytest\n tox; python<=3.6\n-test-expects1] - setuptools._deprecation_warning... FAILED tests/test_from_setup_cfg.py::test_from_setup_cfg_missing_section - setuptools._deprecation_warning.SetuptoolsDeprecationWarning: As setuptools moves its configur... ================================================================== 6 failed, 95 passed, 7 errors in 5.58s ================================================================== ```
kloczek commented 7 months ago

Gentle ping .. 🤔 Just retested 0.5.0 and looks like documentation build still fails.