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

Dependencies: update requirement sphinx~=4.0 #5369

Closed
wants to merge 2 commits into from

Conversation

sphuber
Copy link
Contributor

@sphuber sphuber commented Feb 20, 2022

Fixes #5373

The builds on ReadTheDocs started failing. This was due to release v2.1
of markupsafe that removed the module markup_safe. The version of
jinja==2.11.3 that was getting installed still imported this. This
version is no longer supported and so they won't be fixing this
incompatibility but instead one should use jinja>3.0. This is already
a requirement for aiida-core, but the version of sphinx~=3.2.1 that
we were installing had an upper limit on jinja to not install v3
causing the version of jinja to be downgraded. The solution is to update
the version of sphinx which no longer has this limitation of jinja.

Finally, we need to require sphinx~=4.1, because v4.0.x puts an
upper limit markupsafe<2.0 which is incompatible with jinja~3.0 but
this upper limit was removed later on.

@sphuber sphuber force-pushed the fix/sphinx-dependency branch 4 times, most recently from 8fcf819 to c0ace7a Compare February 20, 2022 21:17
@sphuber
Copy link
Contributor Author

sphuber commented Feb 20, 2022

Dependency hell 😢 think this solves the dependency requirement mess, but in upgrading sphinx, there are now 800 freaking warnings in the docs for some reason. WIll have to look into those later

@chrisjsewell
Copy link
Member

but in upgrading sphinx, there are now 800 freaking warnings in the docs for some reason.

You don't think I'd tried this before, and aborted for the same reason 😅

The builds on ReadTheDocs started failing. This was due to release `v2.1`
of `markupsafe` that removed the module `markup_safe`. The version of
`jinja==2.11.3` that was getting installed still imported this. This
version is no longer supported and so they won't be fixing this
incompatibility but instead one should use `jinja>3.0`. This is already
a requirement for `aiida-core`, but the version of `sphinx~=3.2.1` that
we were installing had an upper limit on `jinja` to not install v3
causing the version of jinja to be downgraded. The solution is to update
the version of sphinx which no longer has this limitation of `jinja`.

Finally, we need to require `sphinx~=4.1`, because `v4.0.x` puts an
upper limit `markupsafe<2.0` which is incompatible with `jinja~3.0` but
this upper limit was removed later on.
@sphuber
Copy link
Contributor Author

sphuber commented Feb 21, 2022

With sphinx~-4.0 we are getting the following class of new warnings that fail the build because we use the nitpick option:

  1. WARNING: more than one target found for cross-reference: most if not all of these are simply our own aliases in module init files such as aiida.manage.Config, aiida.manage.configuration.config.Config, aiida.manage.configuration.Config. For some reason Sphinx v4 no longer understands these aliases. Seems to be an unsolved issue. See [1][2]
  2. WARNING: py:class reference target not found These include external as well as internal references.
  3. WARNING: duplicate object description of aiida.tools.data.orbital.orbital.Orbital, other instance in reference/apidoc/aiida.tools.data, use :noindex: for one of them quick scan seems to suggest that it basically is just the reference/apidoc folder being the problem, which is the autogenerated API docs through sphinx-apidoc.

@sphuber sphuber added the pr/on-hold PR should not be merged label Feb 22, 2022
@sphuber
Copy link
Contributor Author

sphuber commented Feb 22, 2022

Closing this for now

@sphuber sphuber closed this Feb 22, 2022
@sphuber sphuber deleted the fix/sphinx-dependency branch March 9, 2022 08:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
pr/on-hold PR should not be merged
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Dependencies: update Sphinx requirement
2 participants