Skip to content
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

handle Sphinx 6.x #884

Closed
jmckenna opened this issue Jan 16, 2023 · 11 comments · Fixed by #887
Closed

handle Sphinx 6.x #884

jmckenna opened this issue Jan 16, 2023 · 11 comments · Fixed by #887

Comments

@jmckenna
Copy link

  • Sphinx stable is now at version 6.1.3
  • however other packages that rely on Sphinx and breathe, throw an error with Sphinx 6.x
breathe 4.34.0 requires Sphinx!=5.0.0,<6,>=4.0, but you have sphinx 6.1.3 which is incompatible.
@michaeljones
Copy link
Collaborator

Thanks for flagging this. I can see that it is an important this to resolve. I'm not in touch with the Sphinx development but we can update CI and see how it goes.

@jmckenna
Copy link
Author

@michaeljones great, thanks

@kloczek
Copy link

kloczek commented Jan 19, 2023

Just tested build with sphinx 6.1.3 and I see some pytest warnings

+ PYTHONPATH=/home/tkloczko/rpmbuild/BUILDROOT/python-breathe-4.34.0-4.fc35.x86_64/usr/lib64/python3.8/site-packages:/home/tkloczko/rpmbuild/BUILDROOT/python-breathe-4.34.0-4.fc35.x86_64/usr/lib/python3.8/site-packages
+ /usr/bin/pytest -ra -m 'not network'
==================================================================================== test session starts ====================================================================================
platform linux -- Python 3.8.16, pytest-7.2.1, pluggy-1.0.0
rootdir: /home/tkloczko/rpmbuild/BUILD/breathe-4.34.0
collected 21 items

tests/test_renderer.py ..................                                                                                                                                             [ 85%]
tests/test_utils.py ...                                                                                                                                                               [100%]

===================================================================================== warnings summary ======================================================================================
tests/test_renderer.py::test_render_func
tests/test_renderer.py::test_render_func
  /usr/lib64/python3.8/importlib/__init__.py:127: RemovedInSphinx80Warning: The alias 'sphinx.util.SkipProgressMessage' is deprecated, use 'sphinx.util.display.SkipProgressMessage' instead. Check CHANGES for Sphinx API modifications.
    return _bootstrap._gcd_import(name[level:], package, level)

tests/test_renderer.py::test_render_func
tests/test_renderer.py::test_render_func
tests/test_renderer.py::test_render_func
tests/test_renderer.py::test_render_func
  /usr/lib64/python3.8/importlib/__init__.py:127: RemovedInSphinx80Warning: The alias 'sphinx.util.progress_message' is deprecated, use 'sphinx.util.display.progress_message' instead. Check CHANGES for Sphinx API modifications.
    return _bootstrap._gcd_import(name[level:], package, level)

tests/test_renderer.py: 18 warnings
  /home/tkloczko/rpmbuild/BUILD/breathe-4.34.0/tests/test_renderer.py:128: DeprecationWarning: The frontend.OptionParser class will be replaced by a subclass of argparse.ArgumentParser in Docutils 0.21 or later.
    settings = frontend.OptionParser(components=(parsers.rst.Parser,)).get_default_values()

tests/test_renderer.py: 1224 warnings
  /usr/lib64/python3.8/optparse.py:1000: DeprecationWarning: The frontend.Option class will be removed in Docutils 0.21 or later.
    option = self.option_class(*args, **kwargs)

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
============================================================================= 21 passed, 1248 warnings in 1.13s =============================================================================

@michaeljones
Copy link
Collaborator

Thanks for raising it. I've looked around a little and the Sphinx warnings are about things which will be removed in Sphinx 8 which is not pressingly soon and similarly the docutils warnings are for 0.21 which looking at the release cadence will not be soon.

That isn't a reason to not adjust for them but the sphinx ones seem to be coming from the applehelp sphinx extension so I'm not sure we can control that and I'm not sure of the general approach for managing them otherwise. I guess if-statements around imports? I'd be happy to receive a PR for it but I'm not sufficiently up to date on my Python knowledge to know the best way to handle this.

@t-b
Copy link
Contributor

t-b commented Feb 6, 2023

I've created #887 which IMHO should fix this issue here. I'm not fixing the warnings though.

@kartben
Copy link

kartben commented Feb 24, 2023

Hi,
Any chance the dependency update (plus other recent additions of course) could be worthy of a new release? Would love to be able to switch to Sphinx 6 as it brings improvements our project could really benefit from.
Thanks in advance!

@michaeljones
Copy link
Collaborator

Thanks for the reminder. I have message our release handler about the current situation. We'll try to get it resolved.

@michaeljones
Copy link
Collaborator

michaeljones commented Feb 28, 2023

I have not heard from our release handler. I've attempted to do a release myself so 4.35.0 is out.

@hsarbia
Copy link

hsarbia commented Mar 2, 2023

@michaeljones Thanks a lot Michael! I could generate our documentation using Sphinx-6.1.3, breathe-4.35.0 and furo-2022.12.7.

@vermeeren
Copy link
Collaborator

@michaeljones Thoughts on splitting this issue into one per deprecation warning we get? Might be easier to that and fix that way. #884 (comment)

@LecrisUT
Copy link

Resolved by #885? Should close #887?

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

Successfully merging a pull request may close this issue.

8 participants