xarray-contrib / sphinx-autosummary-accessors

sphinx extension to document pandas and xarray accessors
https://sphinx-autosummary-accessors.readthedocs.io/
MIT License
13 stars 5 forks source link

2022.04.0: documemtation build failis with sphinx 6.x + fix #91

Closed kloczek closed 1 year ago

kloczek commented 1 year ago

Looks like your module documemtation is affected by some recent changes in sphinx 6.x. trying build documetation using latet sphinx 6.x it fails with:

+ /usr/bin/sphinx-build -n -T -b man docs build/sphinx/man
Running Sphinx v6.1.3
sys.path: ['/usr/bin', '/usr/lib64/python38.zip', '/usr/lib64/python3.8', '/usr/lib64/python3.8/lib-dynload', '/usr/lib64/python3.8/site-packages', '/usr/lib/python3.8/site-packages', '/home/tkloczko/rpmbuild/BUILD/sphinx-autosummary-accessors-2022.04.0/docs', '/home/tkloczko/rpmbuild/BUILD/sphinx-autosummary-accessors-2022.04.0']
sphinx-autosummary-accessors: 2022.4.0
making output directory... done
[autosummary] generating autosummary for: examples.rst, index.rst, installing.rst, templates.rst, usage.rst, whats-new.rst
[autosummary] generating autosummary for: /home/tkloczko/rpmbuild/BUILD/sphinx-autosummary-accessors-2022.04.0/docs/generated/example.Example.rst, /home/tkloczko/rpmbuild/BUILD/sphinx-autosummary-accessors-2022.04.0/docs/generated/example.Example.test.double.rst, /home/tkloczko/rpmbuild/BUILD/sphinx-autosummary-accessors-2022.04.0/docs/generated/example.Example.test.multiply.rst, /home/tkloczko/rpmbuild/BUILD/sphinx-autosummary-accessors-2022.04.0/docs/generated/example.Example.test.rst, /home/tkloczko/rpmbuild/BUILD/sphinx-autosummary-accessors-2022.04.0/docs/generated/example.Example.test2.sub.func.rst, /home/tkloczko/rpmbuild/BUILD/sphinx-autosummary-accessors-2022.04.0/docs/generated/example.TestAccessor.rst
[autosummary] generating autosummary for: /home/tkloczko/rpmbuild/BUILD/sphinx-autosummary-accessors-2022.04.0/docs/generated/generated/example.TestAccessor.double.rst, /home/tkloczko/rpmbuild/BUILD/sphinx-autosummary-accessors-2022.04.0/docs/generated/generated/example.TestAccessor.multiply.rst
loading intersphinx inventory from https://docs.python.org/3/objects.inv...
building [mo]: targets for 0 po files that are out of date
writing output...
building [man]: all manpages
updating environment: [new config] 14 added, 0 changed, 0 removed
reading sources... [100%] whats-new
Traceback (most recent call last):
  File "/usr/lib/python3.8/site-packages/sphinx/cmd/build.py", line 284, in build_main
    app.build(args.force_all, args.filenames)
  File "/usr/lib/python3.8/site-packages/sphinx/application.py", line 347, in build
    self.builder.build_update()
  File "/usr/lib/python3.8/site-packages/sphinx/builders/__init__.py", line 308, in build_update
    self.build(['__all__'], to_build)
  File "/usr/lib/python3.8/site-packages/sphinx/builders/__init__.py", line 327, in build
    updated_docnames = set(self.read())
  File "/usr/lib/python3.8/site-packages/sphinx/builders/__init__.py", line 434, in read
    self._read_serial(docnames)
  File "/usr/lib/python3.8/site-packages/sphinx/builders/__init__.py", line 455, in _read_serial
    self.read_doc(docname)
  File "/usr/lib/python3.8/site-packages/sphinx/builders/__init__.py", line 511, in read_doc
    publisher.publish()
  File "/usr/lib/python3.8/site-packages/docutils/core.py", line 224, in publish
    self.document = self.reader.read(self.source, self.parser,
  File "/usr/lib/python3.8/site-packages/sphinx/io.py", line 105, in read
    self.parse()
  File "/usr/lib/python3.8/site-packages/docutils/readers/__init__.py", line 76, in parse
    self.parser.parse(self.input, document)
  File "/usr/lib/python3.8/site-packages/sphinx/parsers.py", line 80, in parse
    self.statemachine.run(inputlines, document, inliner=self.inliner)
  File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 169, in run
    results = StateMachineWS.run(self, input_lines, input_offset,
  File "/usr/lib/python3.8/site-packages/docutils/statemachine.py", line 233, in run
    context, next_state, result = self.check_line(
  File "/usr/lib/python3.8/site-packages/docutils/statemachine.py", line 445, in check_line
    return method(match, context, next_state)
  File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 2785, in underline
    self.section(title, source, style, lineno - 1, messages)
  File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 325, in section
    self.new_subsection(title, lineno, messages)
  File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 391, in new_subsection
    newabsoffset = self.nested_parse(
  File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 279, 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 195, in run
    results = StateMachineWS.run(self, input_lines, input_offset)
  File "/usr/lib/python3.8/site-packages/docutils/statemachine.py", line 233, in run
    context, next_state, result = self.check_line(
  File "/usr/lib/python3.8/site-packages/docutils/statemachine.py", line 445, in check_line
    return method(match, context, next_state)
  File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 2785, in underline
    self.section(title, source, style, lineno - 1, messages)
  File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 325, in section
    self.new_subsection(title, lineno, messages)
  File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 391, in new_subsection
    newabsoffset = self.nested_parse(
  File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 279, 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 195, in run
    results = StateMachineWS.run(self, input_lines, input_offset)
  File "/usr/lib/python3.8/site-packages/docutils/statemachine.py", line 233, in run
    context, next_state, result = self.check_line(
  File "/usr/lib/python3.8/site-packages/docutils/statemachine.py", line 445, in check_line
    return method(match, context, next_state)
  File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 1273, in bullet
    i, blank_finish = self.list_item(match.end())
  File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 1295, in list_item
    self.nested_parse(indented, input_offset=line_offset,
  File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 279, 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 195, in run
    results = StateMachineWS.run(self, input_lines, input_offset)
  File "/usr/lib/python3.8/site-packages/docutils/statemachine.py", line 233, in run
    context, next_state, result = self.check_line(
  File "/usr/lib/python3.8/site-packages/docutils/statemachine.py", line 445, in check_line
    return method(match, context, next_state)
  File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 2716, in blank
    paragraph, literalnext = self.paragraph(
  File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 416, in paragraph
    textnodes, messages = self.inline_text(text, lineno)
  File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 425, in inline_text
    nodes, messages = self.inliner.parse(text, lineno,
  File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 649, in parse
    before, inlines, remaining, sysmessages = method(self, match,
  File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 792, in interpreted_or_phrase_ref
    nodelist, messages = self.interpreted(rawsource, escaped, role,
  File "/usr/lib/python3.8/site-packages/docutils/parsers/rst/states.py", line 889, in interpreted
    nodes, messages2 = role_fn(role, rawsource, text, lineno, self)
  File "/usr/lib/python3.8/site-packages/sphinx/ext/extlinks.py", line 103, in role
    title = caption % part
TypeError: not all arguments converted during string formatting

Exception occurred:
  File "/usr/lib/python3.8/site-packages/sphinx/ext/extlinks.py", line 103, in role
    title = caption % part
TypeError: not all arguments converted during string formatting
The full traceback has been saved in /tmp/sphinx-err-cxo34u7i.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!

Here is the fix

--- a/docs/conf.py
+++ b/docs/conf.py
@@ -91,8 +91,8 @@
 # extlinks
 base_url = "https://github.com/xarray-contrib/sphinx-autosummary-accessors"
 extlinks = {
-    "issue": (f"{base_url}/issues/%s", "GH"),
-    "pull": (f"{base_url}/pull/%s", "PR"),
+    "issue": (f"{base_url}/issues/%s", "GH%s"),
+    "pull": (f"{base_url}/pull/%s", "PR%s"),
 }

 # napoleon

Please let me know if you want this as PR.

keewis commented 1 year ago

this has already been fixed by #77, but not released yet.

I will do that after fixing (or removing) the failing sphinx=3.5 CI.

kloczek commented 1 year ago

Thx 👍

keewis commented 1 year ago

it took me a while, but I just released the new version.