Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Use ModuleDocumenter.get_module_members instead of sphinx.ext.autodoc.importer.get_module_members #111

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

rayzchen
Copy link

sphinx.ext.autodoc.importer.get_module_members is deprecated.

`sphinx.ext.autodoc.importer.get_module_members` is deprecated.
@auto-assign auto-assign bot requested a review from domdfcoding June 11, 2022 19:51
@rayzchen rayzchen marked this pull request as draft June 20, 2022 21:43
@rayzchen rayzchen marked this pull request as ready for review June 20, 2022 21:44
@kloczek
Copy link

kloczek commented Jul 20, 2022

Just tested that PR and lookd like pytest is failing add probably more works needs to be done to be able use sphinx-toolbox with sphinx 5

+ PYTHONPATH=/home/tkloczko/rpmbuild/BUILDROOT/python-sphinx-toolbox-3.1.2-2.fc35.x86_64/usr/lib64/python3.8/site-packages:/home/tkloczko/rpmbuild/BUILDROOT/python-sphinx-toolbox-3.1.2-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.2, pluggy-1.0.0
Test session started at 14:04:58
rootdir: /home/tkloczko/rpmbuild/BUILD/sphinx-toolbox-3.1.2, configfile: tox.ini
plugins: datadir-1.3.1, regressions-2.3.1, timeout-2.1.0, hypothesis-6.41.0, httpserver-1.0.4
timeout: 600.0s
timeout method: signal
timeout func_only: False
collected 2460 items / 5 errors

================================================================================== ERRORS ==================================================================================
_____________________________________________________ ERROR collecting tests/test_more_autodoc/test_autonamedtuple.py ______________________________________________________
ImportError while importing test module '/home/tkloczko/rpmbuild/BUILD/sphinx-toolbox-3.1.2/tests/test_more_autodoc/test_autonamedtuple.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib64/python3.8/importlib/__init__.py:127: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
tests/test_more_autodoc/test_autonamedtuple.py:6: in <module>
    from sphinx_toolbox.more_autodoc import autonamedtuple
sphinx_toolbox/more_autodoc/autonamedtuple.py:139: in <module>
    from sphinx.deprecation import RemovedInSphinx50Warning
E   ImportError: cannot import name 'RemovedInSphinx50Warning' from 'sphinx.deprecation' (/usr/lib/python3.8/site-packages/sphinx/deprecation.py)
__________________________________________________________ ERROR collecting tests/test_more_autodoc/test_regex.py __________________________________________________________
ImportError while importing test module '/home/tkloczko/rpmbuild/BUILD/sphinx-toolbox-3.1.2/tests/test_more_autodoc/test_regex.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib64/python3.8/importlib/__init__.py:127: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
tests/test_more_autodoc/test_regex.py:13: in <module>
    from sphinx_toolbox.more_autodoc import regex
sphinx_toolbox/more_autodoc/regex.py:157: in <module>
    from sphinx_toolbox.more_autodoc.variables import VariableDocumenter
sphinx_toolbox/more_autodoc/variables.py:107: in <module>
    from sphinx.deprecation import RemovedInSphinx50Warning
E   ImportError: cannot import name 'RemovedInSphinx50Warning' from 'sphinx.deprecation' (/usr/lib/python3.8/site-packages/sphinx/deprecation.py)
________________________________________________________ ERROR collecting tests/test_more_autodoc/test_typevars.py _________________________________________________________
ImportError while importing test module '/home/tkloczko/rpmbuild/BUILD/sphinx-toolbox-3.1.2/tests/test_more_autodoc/test_typevars.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib64/python3.8/importlib/__init__.py:127: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
tests/test_more_autodoc/test_typevars.py:7: in <module>
    from sphinx_toolbox.more_autodoc import typevars
sphinx_toolbox/more_autodoc/typevars.py:124: in <module>
    from sphinx_toolbox.more_autodoc.variables import VariableDocumenter
sphinx_toolbox/more_autodoc/variables.py:107: in <module>
    from sphinx.deprecation import RemovedInSphinx50Warning
E   ImportError: cannot import name 'RemovedInSphinx50Warning' from 'sphinx.deprecation' (/usr/lib/python3.8/site-packages/sphinx/deprecation.py)
________________________________________________________ ERROR collecting tests/test_more_autodoc/test_variables.py ________________________________________________________
ImportError while importing test module '/home/tkloczko/rpmbuild/BUILD/sphinx-toolbox-3.1.2/tests/test_more_autodoc/test_variables.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib64/python3.8/importlib/__init__.py:127: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
tests/test_more_autodoc/test_variables.py:11: in <module>
    from sphinx_toolbox.more_autodoc import variables
sphinx_toolbox/more_autodoc/variables.py:107: in <module>
    from sphinx.deprecation import RemovedInSphinx50Warning
E   ImportError: cannot import name 'RemovedInSphinx50Warning' from 'sphinx.deprecation' (/usr/lib/python3.8/site-packages/sphinx/deprecation.py)
========================================================================= short test summary info ==========================================================================
ERROR tests/test_more_autodoc/test_autonamedtuple.py
ERROR tests/test_more_autodoc/test_regex.py
ERROR tests/test_more_autodoc/test_typevars.py
ERROR tests/test_more_autodoc/test_variables.py
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Interrupted: 5 errors during collection !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
============================================================================ 5 errors in 1.52s =============================================================================

@kloczek
Copy link

kloczek commented Jul 20, 2022

I've been trying to use sphinx-toolbox with that to build structlog documentation and it failed in new place

+ /usr/bin/sphinx-build -n -T -b man docs build/sphinx/man
Running Sphinx v5.0.2
making output directory... done
loading intersphinx inventory from https://docs.python.org/3/objects.inv...
building [mo]: targets for 0 po files that are out of date
building [man]: all manpages
updating environment: [new config] 22 added, 0 changed, 0 removed
reading sources... [  4%] api
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 329, in build
    self.builder.build_update()
  File "/usr/lib/python3.8/site-packages/sphinx/builders/__init__.py", line 285, in build_update
    self.build(['__all__'], to_build)
  File "/usr/lib/python3.8/site-packages/sphinx/builders/__init__.py", line 302, in build
    updated_docnames = set(self.read())
  File "/usr/lib/python3.8/site-packages/sphinx/builders/__init__.py", line 409, in read
    self._read_serial(docnames)
  File "/usr/lib/python3.8/site-packages/sphinx/builders/__init__.py", line 430, in _read_serial
    self.read_doc(docname)
  File "/usr/lib/python3.8/site-packages/sphinx/builders/__init__.py", line 483, in read_doc
    publisher.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 103, 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/sphinx/parsers.py", line 78, 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 2769, in underline
    self.section(title, 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 2769, in underline
    self.section(title, 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/ext/autodoc/directive.py", line 148, in run
    documenter.generate(more_content=self.content)
  File "/usr/lib/python3.8/site-packages/sphinx/ext/autodoc/__init__.py", line 1789, in generate
    return super().generate(more_content=more_content,
  File "/usr/lib/python3.8/site-packages/sphinx/ext/autodoc/__init__.py", line 952, in generate
    self.add_content(more_content)
  File "/usr/lib/python3.8/site-packages/sphinx_toolbox/more_autodoc/autoprotocol.py", line 276, in add_content
    super().add_content(more_content=more_content, no_docstring=no_docstring)
TypeError: add_content() got an unexpected keyword argument 'no_docstring'

Exception occurred:
  File "/usr/lib/python3.8/site-packages/sphinx_toolbox/more_autodoc/autoprotocol.py", line 276, in add_content
    super().add_content(more_content=more_content, no_docstring=no_docstring)
TypeError: add_content() got an unexpected keyword argument 'no_docstring'
The full traceback has been saved in /tmp/sphinx-err-kz2fkoxe.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!
[tkloczko@devel-g2v SPECS]$ cat /tmp/sphinx-err-kz2fkoxe.log
# Sphinx version: 5.0.2
# Python version: 3.8.13 (CPython)
# Docutils version: 0.17.1 release
# Jinja2 version: 3.1.1
# Last messages:
#   Running Sphinx v5.0.2
#   making output directory...
#   done
#   loading intersphinx inventory from https://docs.python.org/3/objects.inv...
#   building [mo]: targets for 0 po files that are out of date
#   building [man]: all manpages
#   updating environment:
#   [new config]
#   22 added, 0 changed, 0 removed
#   reading sources... [  4%] api
# Loaded extensions:
#   sphinx.ext.mathjax (5.0.2) from /usr/lib/python3.8/site-packages/sphinx/ext/mathjax.py
#   sphinxcontrib.applehelp (1.0.2) from /usr/lib/python3.8/site-packages/sphinxcontrib/applehelp/__init__.py
#   sphinxcontrib.devhelp (1.0.2) from /usr/lib/python3.8/site-packages/sphinxcontrib/devhelp/__init__.py
#   sphinxcontrib.htmlhelp (2.0.0) from /usr/lib/python3.8/site-packages/sphinxcontrib/htmlhelp/__init__.py
#   sphinxcontrib.serializinghtml (1.1.5) from /usr/lib/python3.8/site-packages/sphinxcontrib/serializinghtml/__init__.py
#   sphinxcontrib.qthelp (1.0.3) from /usr/lib/python3.8/site-packages/sphinxcontrib/qthelp/__init__.py
#   alabaster (0.7.12) from /usr/lib/python3.8/site-packages/alabaster/__init__.py
#   sphinx.ext.autodoc.preserve_defaults (1.0) from /usr/lib/python3.8/site-packages/sphinx/ext/autodoc/preserve_defaults.py
#   sphinx.ext.autodoc.type_comment (5.0.2) from /usr/lib/python3.8/site-packages/sphinx/ext/autodoc/type_comment.py
#   sphinx.ext.autodoc (5.0.2) from /usr/lib/python3.8/site-packages/sphinx/ext/autodoc/__init__.py
#   sphinx.ext.doctest (5.0.2) from /usr/lib/python3.8/site-packages/sphinx/ext/doctest.py
#   sphinx.ext.intersphinx (5.0.2) from /usr/lib/python3.8/site-packages/sphinx/ext/intersphinx.py
#   sphinx.ext.viewcode (5.0.2) from /usr/lib/python3.8/site-packages/sphinx/ext/viewcode.py
#   sphinx_toolbox.more_autodoc.autoprotocol (3.1.2) from /usr/lib/python3.8/site-packages/sphinx_toolbox/more_autodoc/autoprotocol.py
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 329, in build
    self.builder.build_update()
  File "/usr/lib/python3.8/site-packages/sphinx/builders/__init__.py", line 285, in build_update
    self.build(['__all__'], to_build)
  File "/usr/lib/python3.8/site-packages/sphinx/builders/__init__.py", line 302, in build
    updated_docnames = set(self.read())
  File "/usr/lib/python3.8/site-packages/sphinx/builders/__init__.py", line 409, in read
    self._read_serial(docnames)
  File "/usr/lib/python3.8/site-packages/sphinx/builders/__init__.py", line 430, in _read_serial
    self.read_doc(docname)
  File "/usr/lib/python3.8/site-packages/sphinx/builders/__init__.py", line 483, in read_doc
    publisher.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 103, 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/sphinx/parsers.py", line 78, 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 2769, in underline
    self.section(title, 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 2769, in underline
    self.section(title, 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/ext/autodoc/directive.py", line 148, in run
    documenter.generate(more_content=self.content)
  File "/usr/lib/python3.8/site-packages/sphinx/ext/autodoc/__init__.py", line 1789, in generate
    return super().generate(more_content=more_content,
  File "/usr/lib/python3.8/site-packages/sphinx/ext/autodoc/__init__.py", line 952, in generate
    self.add_content(more_content)
  File "/usr/lib/python3.8/site-packages/sphinx_toolbox/more_autodoc/autoprotocol.py", line 276, in add_content
    super().add_content(more_content=more_content, no_docstring=no_docstring)
TypeError: add_content() got an unexpected keyword argument 'no_docstring'

So definittelly that is not all to be able use sphinx-toolbox with sphinx 5.x.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants