maxhoesel-ansible / ansible-collection-smallstep

Unofficial Ansible Collection for Smallstep CLI and the step-ca server
https://github.com/smallstep
GNU General Public License v3.0
76 stars 23 forks source link

chore(deps): update dependency sphinx to v8 #434

Open renovate[bot] opened 3 months ago

renovate[bot] commented 3 months ago

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
sphinx (changelog) ==7.4.7 -> ==8.1.3 age adoption passing confidence

Release Notes

sphinx-doc/sphinx (sphinx) ### [`v8.1.3`](https://redirect.github.com/sphinx-doc/sphinx/releases/tag/v8.1.3): Sphinx 8.1.3 [Compare Source](https://redirect.github.com/sphinx-doc/sphinx/compare/v8.1.2...v8.1.3) Changelog: https://www.sphinx-doc.org/en/master/changes/8.1.html ## Bugs fixed - [#​13013](https://redirect.github.com/sphinx-doc/sphinx/issues/13013): Restore support for `cut_lines()` with no object type. Patch by Adam Turner. ### [`v8.1.2`](https://redirect.github.com/sphinx-doc/sphinx/releases/tag/v8.1.2): Sphinx 8.1.2 [Compare Source](https://redirect.github.com/sphinx-doc/sphinx/compare/v8.1.1...v8.1.2) Changelog: https://www.sphinx-doc.org/en/master/changes.html ## Bugs fixed - [#​13012](https://redirect.github.com/sphinx-doc/sphinx/issues/13012): Expose `sphinx.errors.ExtensionError` in `sphinx.util` for backwards compatibility. This will be removed in Sphinx 9, as exposing the exception in `sphinx.util` was never intentional. `ExtensionError` has been part of `sphinx.errors` since Sphinx 0.9. Patch by Adam Turner. ### [`v8.1.1`](https://redirect.github.com/sphinx-doc/sphinx/releases/tag/v8.1.1): Sphinx 8.1.1 [Compare Source](https://redirect.github.com/sphinx-doc/sphinx/compare/v8.1.0...v8.1.1) Changelog: https://www.sphinx-doc.org/en/master/changes.html ## Bugs fixed - [#​13006](https://redirect.github.com/sphinx-doc/sphinx/issues/13006): Use the preferred https://www.cve.org/ URL for the `:cve:` role. Patch by Hugo van Kemenade. - [#​13007](https://redirect.github.com/sphinx-doc/sphinx/issues/13007): LaTeX: Improve resiliency when the required `fontawesome` or `fontawesome5` packages are not installed. Patch by Jean-François B. ### [`v8.1.0`](https://redirect.github.com/sphinx-doc/sphinx/blob/HEAD/CHANGES.rst#Release-810-released-Oct-10-2024) [Compare Source](https://redirect.github.com/sphinx-doc/sphinx/compare/v8.0.2...v8.1.0) \===================================== ## Dependencies - [#​12756](https://redirect.github.com/sphinx-doc/sphinx/issues/12756): Add lower-bounds to the `sphinxcontrib-*` dependencies. Patch by Adam Turner. - [#​12833](https://redirect.github.com/sphinx-doc/sphinx/issues/12833): Update the LaTeX `parskip` package from 2001 to 2018. Patch by Jean-François B. ## Incompatible changes - [#​12763](https://redirect.github.com/sphinx-doc/sphinx/issues/12763): Remove unused internal class `sphinx.util.Tee`. Patch by Adam Turner. - [#​12822](https://redirect.github.com/sphinx-doc/sphinx/issues/12822): LaTeX: for Unicode engines, the :ref:`fvset` default is changed to `'\\fvset{fontsize=auto}'` from `'\\fvset{fontsize=\\small}'`. Code-blocks are unchanged as FreeMono is now loaded with `Scale=0.9`. An adjustment to existing projects is needed only if they used a custom :ref:`fontpkg` configuration and did not set :ref:`fvset`. Patch by Jean-François B. - [#​12875](https://redirect.github.com/sphinx-doc/sphinx/issues/12875): Disable smartquotes for languages: `zh_CN` and `zh_TW` by default. Patch by A. Rafey Khan. ## Deprecated - [#​12762](https://redirect.github.com/sphinx-doc/sphinx/issues/12762): Deprecate `sphinx.util.import_object`. Use :py:func:`importlib.import_module` instead. Patch by Adam Turner. - [#​12766](https://redirect.github.com/sphinx-doc/sphinx/issues/12766): Deprecate `sphinx.util.FilenameUniqDict` and `sphinx.util.DownloadFiles`. Patch by Adam Turner. ## Features added - [#​11328](https://redirect.github.com/sphinx-doc/sphinx/issues/11328): Mention evaluation of templated content during production of static output files. Patch by James Addison. - [#​12704](https://redirect.github.com/sphinx-doc/sphinx/issues/12704): LaTeX: make :dudir:`contents `, :dudir:`topic`, and :dudir:`sidebar` directives separately customizable for PDF output. Patch by Jean-François B. and Bénédikt Tran. - [#​12474](https://redirect.github.com/sphinx-doc/sphinx/issues/12474): Support type-dependent search result highlighting via CSS. Patch by Tim Hoffmann. - [#​12652](https://redirect.github.com/sphinx-doc/sphinx/issues/12652): LaTeX: Add :confval:`math_numsep` support to latex builder. Patch by Thomas Fanning and Jean-François B. - [#​12743](https://redirect.github.com/sphinx-doc/sphinx/issues/12743): No longer exit on the first warning when :option:`--fail-on-warning ` is used. Instead, exit with a non-zero status if any warnings were generated during the build. Patch by Adam Turner. - [#​12743](https://redirect.github.com/sphinx-doc/sphinx/issues/12743): Add :option:`sphinx-build --exception-on-warning`, to raise an exception when warnings are emitted during the build. Patch by Adam Turner and Jeremy Maitin-Shepard. - [#​12907](https://redirect.github.com/sphinx-doc/sphinx/issues/12907): Add :confval:`html_last_updated_use_utc` to allow using universal time (GMT/UTC) instead of local time for the date-time supplied to :confval:`html_last_updated_fmt`. Patch by Adam Turner. - [#​12910](https://redirect.github.com/sphinx-doc/sphinx/issues/12910): Copyright entries now support the `'%Y'` placeholder to substitute the current year. This is helpful for reducing the reliance on Python modules such as :py:mod:`time` or :py:mod:`datetime` in :file:`conf.py`. See :ref:`the docs ` for further detail. Patch by Adam Turner. - [#​11781](https://redirect.github.com/sphinx-doc/sphinx/issues/11781): Add roles for referencing CVEs (:rst:role:`:cve: `) and CWEs (:rst:role:`:cwe: `). Patch by Hugo van Kemenade. - [#​11809](https://redirect.github.com/sphinx-doc/sphinx/issues/11809): Improve the formatting for RFC section anchors. Patch by Jakub Stasiak and Adam Turner. - [#​12852](https://redirect.github.com/sphinx-doc/sphinx/issues/12852): Support a :attr:`.Builder.supported_linkcode` attribute for builders to enable use of :mod:`sphinx.ext.linkcode`-generated references. Patch by James Knight. - [#​12949](https://redirect.github.com/sphinx-doc/sphinx/issues/12949): Print configuration options that differ from the pickled environment. This can be helpful in diagnosing the cause of a full rebuild. Patch by Adam Turner. ## Bugs fixed - [#​12514](https://redirect.github.com/sphinx-doc/sphinx/issues/12514): intersphinx: fix the meaning of a negative value for :confval:`intersphinx_cache_limit`. Patch by Shengyu Zhang. - [#​12722](https://redirect.github.com/sphinx-doc/sphinx/issues/12722): LaTeX: avoid TeX reporting `Overfull \hbox` from too long strings in a codeline when the problem has actually been solved thanks to :ref:`latexsphinxsetupforcewraps`. Patch by Jean-François B. - [#​12730](https://redirect.github.com/sphinx-doc/sphinx/issues/12730): The `UnreferencedFootnotesDetector` transform has been improved to more consistently detect unreferenced footnotes. Note, the priority of the transform has been changed from 200 to 622, so that it now runs after the docutils `Footnotes` resolution transform. Patch by Chris Sewell. - [#​12778](https://redirect.github.com/sphinx-doc/sphinx/issues/12778): LaTeX: let :ref:`'sphinxsetup' ` `div.topic_box-shadow` key if used with only one dimension set both x-offset and y-offset as per documentation. Patch by Jean-François B. - [#​12587](https://redirect.github.com/sphinx-doc/sphinx/issues/12587): Do not warn when potential ambiguity detected during Intersphinx resolution occurs due to duplicate targets that differ case-insensitively. Patch by James Addison. - [#​12639](https://redirect.github.com/sphinx-doc/sphinx/issues/12639): Fix singular and plural search results text. Patch by Hugo van Kemenade. - [#​12645](https://redirect.github.com/sphinx-doc/sphinx/issues/12645): Correctly support custom gettext output templates. Patch by Jeremy Bowman. - [#​12717](https://redirect.github.com/sphinx-doc/sphinx/issues/12717): LaTeX: let :option:`-q ` (quiet) option for :program:`sphinx-build -M latexpdf` or :program:`make latexpdf` (`O=-q`) get passed to :program:`latexmk`. Let :option:`-Q ` (silent) apply as well to the PDF build phase. Patch by Jean-François B. - [#​12744](https://redirect.github.com/sphinx-doc/sphinx/issues/12744): LaTeX: Classes injected by a custom interpreted text role now give rise to nested `\DUrole`'s, rather than a single one with comma separated classes. Patch by Jean-François B. - [#​12831](https://redirect.github.com/sphinx-doc/sphinx/issues/12831): LaTeX: avoid large voids sometimes occurring at page bottoms. Patch by Jean-François B. - [#​11970](https://redirect.github.com/sphinx-doc/sphinx/issues/11970), [#​12551](https://redirect.github.com/sphinx-doc/sphinx/issues/12551): singlehtml builder: make target URIs to be same-document references in the sense of :rfc:`RFC 3986, §4.4 <3986#section-4.4>`, e.g., `index.html#foo` becomes `#foo`. (note: continuation of a partial fix added in Sphinx 7.3.0) Patch by James Addison (with reference to prior work by Eric Norige). - [#​12735](https://redirect.github.com/sphinx-doc/sphinx/issues/12735): Fix :pep:`695` generic classes LaTeX output formatting. Patch by Jean-François B. and Bénédikt Tran. - [#​12782](https://redirect.github.com/sphinx-doc/sphinx/issues/12782): intersphinx: fix double forward slashes when generating the inventory file URL (user-defined base URL of an intersphinx project are left untouched even if they end with double forward slashes). Patch by Bénédikt Tran. - [#​12796](https://redirect.github.com/sphinx-doc/sphinx/issues/12796): Enable parallel reading if requested, even if there are fewer than 6 documents. Patch by Matthias Geier. - [#​12844](https://redirect.github.com/sphinx-doc/sphinx/issues/12844): Restore support for `:noindex:` for the :rst:dir:`js:module` and :rst:dir:`py:module` directives. Patch by Stephen Finucane. - [#​12916](https://redirect.github.com/sphinx-doc/sphinx/issues/12916): Restore support for custom templates named with the legacy `_t` suffix during `apidoc` RST rendering (regression in 7.4.0). Patch by James Addison. - [#​12451](https://redirect.github.com/sphinx-doc/sphinx/issues/12451): Only substitute copyright notice years with values from `SOURCE_DATE_EPOCH` for entries that match the current system clock year, and disallow substitution of future years. Patch by James Addison and Adam Turner. - [#​12905](https://redirect.github.com/sphinx-doc/sphinx/issues/12905): intersphinx: fix flipped use of :confval:`intersphinx_cache_limit`, which always kept the cache for positive values, and always refreshed it for negative ones. Patch by Nico Madysa. - [#​12888](https://redirect.github.com/sphinx-doc/sphinx/issues/12888): Add a warning when document is included in multiple toctrees and ensure deterministic resolution of global toctree in parallel builds by choosing the lexicographically greatest parent document. Patch by A. Rafey Khan - [#​12995](https://redirect.github.com/sphinx-doc/sphinx/issues/12995): Significantly improve performance when building the search index for Chinese languages. Patch by Adam Turner. - [#​12767](https://redirect.github.com/sphinx-doc/sphinx/issues/12767): :py:meth:`.Builder.write` is typed as `final`, meaning that the :event:`write-started` event may be relied upon by extensions. A new :py:meth:`.Builder.write_documents` method has been added to control how documents are written. This is intended for builders that do not output a file for each document. Patch by Adam Turner. ## Testing - [#​12141](https://redirect.github.com/sphinx-doc/sphinx/issues/12141): Migrate from the deprecated `karma` JavaScript test framework to the actively-maintained `jasmine` framework. Test coverage is unaffected. Patch by James Addison. ### [`v8.0.2`](https://redirect.github.com/sphinx-doc/sphinx/releases/tag/v8.0.2): Sphinx 8.0.2 [Compare Source](https://redirect.github.com/sphinx-doc/sphinx/compare/v8.0.1...v8.0.2) Changelog: https://www.sphinx-doc.org/en/master/changes.html ### [`v8.0.1`](https://redirect.github.com/sphinx-doc/sphinx/releases/tag/v8.0.1): Sphinx 8.0.1 [Compare Source](https://redirect.github.com/sphinx-doc/sphinx/compare/v8.0.0...v8.0.1) Changelog: https://www.sphinx-doc.org/en/master/changes.html ### [`v8.0.0`](https://redirect.github.com/sphinx-doc/sphinx/releases/tag/v8.0.0): Sphinx 8.0.0 [Compare Source](https://redirect.github.com/sphinx-doc/sphinx/compare/v7.4.7...v8.0.0) Changelog: https://www.sphinx-doc.org/en/master/changes.html ## Dependencies - [#​12633](https://redirect.github.com/sphinx-doc/sphinx/issues/12633): Drop Python 3.9 support. ## Incompatible changes - Remove deprecated functions from `sphinx.util`: - Removed `sphinx.util.path_stabilize` (use `sphinx.util.osutil.path_stabilize`). - Removed `sphinx.util.display_chunk` (use `sphinx.util.display.display_chunk`). - Removed `sphinx.util.status_iterator` (use `sphinx.util.display.status_iterator`). - Removed `sphinx.util.SkipProgressMessage` (use `sphinx.util.display.SkipProgressMessage`). - Removed `sphinx.util.progress_message` (use `sphinx.util.display.progress_message`). - Removed `sphinx.util.epoch_to_rfc1123` (use `sphinx.http_date.epoch_to_rfc1123`). - Removed `sphinx.util.rfc1123_to_epoch` (use `sphinx.http_date.rfc1123_to_epoch`). - Removed `sphinx.util.save_traceback` (use `sphinx.exceptions.save_traceback`). - Removed `sphinx.util.format_exception_cut_frames` (use `sphinx.exceptions.format_exception_cut_frames`). - Removed `sphinx.util.xmlname_checker` (use `sphinx.builders.epub3._XML_NAME_PATTERN`). Patch by Adam Turner. - Removed `sphinx.util.osutil.cd` (use `contextlib.chdir`). Patch by Adam Turner. - Removed `sphinx.util.typing.stringify` (use `sphinx.util.typing.stringify_annotation`). Patch by Adam Turner. - [#​12593](https://redirect.github.com/sphinx-doc/sphinx/issues/12593): Raise an error for invalid `html_sidebars` values. Patch by Adam Turner. - [#​12593](https://redirect.github.com/sphinx-doc/sphinx/issues/12593): Raise an error in `Theme.get_config` for invalid sections. Patch by Adam Turner. - [#​11693](https://redirect.github.com/sphinx-doc/sphinx/issues/11693): Remove support for old-style `Makefile` and `make.bat` output in `sphinx-quickstart`. - [#​11693](https://redirect.github.com/sphinx-doc/sphinx/issues/11693): Remove the `--no-use-make-mode`, `-M`, `--use-make-mode`, and `-m` options from `sphinx-quickstart`. Patch by Adam Turner. - Removed the tuple interface to `sphinx.ext.autodoc.ObjectMember`. Patch by Adam Turner. - [#​12630](https://redirect.github.com/sphinx-doc/sphinx/issues/12630): Sphinx 8 makes two changes to the `linkcheck` configuration defaults: - `linkcheck_allow_unauthorized` is now `False` by default. - `linkcheck_report_timeouts_as_broken` is now `False` by default. Patch by James Addison. - [#​12597](https://redirect.github.com/sphinx-doc/sphinx/issues/12597): Change the default of `show_warning_types` from `False` to `True`. Patch by Chris Sewell. - [#​12083](https://redirect.github.com/sphinx-doc/sphinx/issues/12083): Remove support for the old (2008--2010) Sphinx 0.5 and Sphinx 0.6 `intersphinx_mapping` format. Patch by Bénédikt Tran and Adam Turner. - [#​12096](https://redirect.github.com/sphinx-doc/sphinx/issues/12096): Do not overwrite user-supplied files when copying assets unless forced with `force=True`. Patch by Adam Turner. - [#​12646](https://redirect.github.com/sphinx-doc/sphinx/issues/12646): Remove `sphinx.util.inspect.isNewType`. Use `isinstance(obj, typing.NewType)` instead on Python 3.10 and newer. Patch by Adam Turner. - Remove the long-deprecated (since Sphinx 2) alias to `VersionChange` in `sphinx.directives.other` (Deprecated since Sphinx 2). Use `sphinx.domains.changeset.VersionChange` directly. Patch by Adam Turner. ## Deprecated - [#​12643](https://redirect.github.com/sphinx-doc/sphinx/issues/12643): Renamed `sphinx.ext.intersphinx.normalize_intersphinx_mapping` to `sphinx.ext.intersphinx.validate_intersphinx_mapping`. The old name will be removed in Sphinx 10. Patch by Adam Turner. - [#​12650](https://redirect.github.com/sphinx-doc/sphinx/issues/12650), [#​12686](https://redirect.github.com/sphinx-doc/sphinx/issues/12686), [#​12690](https://redirect.github.com/sphinx-doc/sphinx/issues/12690): Extend the deprecation for string methods on `pathlib.Path` objects to Sphinx 9. Use `os.fspath` to convert :py:class:`~pathlib.Path` objects to strings, or `pathlib.Path`'s methods to work with path objects. Patch by Adam Turner.

Configuration

📅 Schedule: Branch creation - "before 4am" (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.



This PR was generated by Mend Renovate. View the repository job log.

renovate[bot] commented 3 months ago

⚠️ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

The artifact failure details are included below:

File name: requirements.txt
Command failed: pip-compile requirements.in
  ERROR: Cannot install -r requirements.in (line 34), -r requirements.in (line 37), sphinx-ansible-theme and sphinx==8.1.3 because these package versions have conflicting dependencies.
Traceback (most recent call last):
  File "/opt/containerbase/tools/pip-tools/7.4.1/3.12.7/lib/python3.12/site-packages/pip/_vendor/resolvelib/resolvers.py", line 316, in _backjump
    name, candidate = broken_state.mapping.popitem()
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
KeyError: 'dictionary is empty'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/containerbase/tools/pip-tools/7.4.1/3.12.7/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/resolver.py", line 95, in resolve
    result = self._result = resolver.resolve(
                            ^^^^^^^^^^^^^^^^^
  File "/opt/containerbase/tools/pip-tools/7.4.1/3.12.7/lib/python3.12/site-packages/pip/_vendor/resolvelib/resolvers.py", line 546, in resolve
    state = resolution.resolve(requirements, max_rounds=max_rounds)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/containerbase/tools/pip-tools/7.4.1/3.12.7/lib/python3.12/site-packages/pip/_vendor/resolvelib/resolvers.py", line 434, in resolve
    success = self._backjump(causes)
              ^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/containerbase/tools/pip-tools/7.4.1/3.12.7/lib/python3.12/site-packages/pip/_vendor/resolvelib/resolvers.py", line 318, in _backjump
    raise ResolutionImpossible(causes)
pip._vendor.resolvelib.resolvers.ResolutionImpossible: [RequirementInformation(requirement=SpecifierRequirement('sphinx==8.1.3'), parent=None), RequirementInformation(requirement=SpecifierRequirement('sphinx'), parent=LinkCandidate('https://files.pythonhosted.org/packages/21/95/86be7e782440ee683a2852d76c332c82992fe019c59e39e40bf75a8dabf2/antsibull_docs-2.14.0-py3-none-any.whl (from https://pypi.org/simple/antsibull-docs/) (requires-python:>=3.9)')), RequirementInformation(requirement=SpecifierRequirement('sphinx>=5.3.0'), parent=LinkCandidate('https://files.pythonhosted.org/packages/4f/2a/766f6ba0c891e7c16129461c4e1341d7cd235ed6181023d0664bafb7de0a/sphinx_ansible_theme-0.10.3-py3-none-any.whl (from https://pypi.org/simple/sphinx-ansible-theme/) (requires-python:>=3.8)')), RequirementInformation(requirement=SpecifierRequirement('sphinx<8,>=5'), parent=LinkCandidate('https://files.pythonhosted.org/packages/ea/46/00fda84467815c29951a9c91e3ae7503c409ddad04373e7cfc78daad4300/sphinx_rtd_theme-2.0.0-py2.py3-none-any.whl (from https://pypi.org/simple/sphinx-rtd-theme/) (requires-python:>=3.6)'))]

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

Traceback (most recent call last):
  File "/opt/containerbase/tools/pip-tools/7.4.1/3.12.7/bin/pip-compile", line 8, in <module>
    sys.exit(cli())
             ^^^^^
  File "/opt/containerbase/tools/pip-tools/7.4.1/3.12.7/lib/python3.12/site-packages/click/core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/containerbase/tools/pip-tools/7.4.1/3.12.7/lib/python3.12/site-packages/click/core.py", line 1078, in main
    rv = self.invoke(ctx)
         ^^^^^^^^^^^^^^^^
  File "/opt/containerbase/tools/pip-tools/7.4.1/3.12.7/lib/python3.12/site-packages/click/core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/containerbase/tools/pip-tools/7.4.1/3.12.7/lib/python3.12/site-packages/click/core.py", line 783, in invoke
    return __callback(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/containerbase/tools/pip-tools/7.4.1/3.12.7/lib/python3.12/site-packages/click/decorators.py", line 33, in new_func
    return f(get_current_context(), *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/containerbase/tools/pip-tools/7.4.1/3.12.7/lib/python3.12/site-packages/piptools/scripts/compile.py", line 470, in cli
    results = resolver.resolve(max_rounds=max_rounds)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/containerbase/tools/pip-tools/7.4.1/3.12.7/lib/python3.12/site-packages/piptools/resolver.py", line 604, in resolve
    is_resolved = self._do_resolve(
                  ^^^^^^^^^^^^^^^^^
  File "/opt/containerbase/tools/pip-tools/7.4.1/3.12.7/lib/python3.12/site-packages/piptools/resolver.py", line 636, in _do_resolve
    resolver.resolve(
  File "/opt/containerbase/tools/pip-tools/7.4.1/3.12.7/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/resolver.py", line 104, in resolve
    raise error from e
pip._internal.exceptions.DistributionNotFound: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts