Skip to content

Change doc-build CI install order #23541

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

Merged
merged 1 commit into from
Aug 3, 2022

Conversation

oscargus
Copy link
Member

@oscargus oscargus commented Aug 3, 2022

PR Summary

The dependencies install the pip version of matplotlib. By installing it before installing the dependencies, the burden should be marginally less.

Seems to be a saving of a magnificent five seconds or so. But if nothing else, no redundant download and install.

PR Checklist

Tests and Styling

  • Has pytest style unit tests (and pytest passes).
  • Is Flake 8 compliant (install flake8-docstrings and run flake8 --docstring-convention=all).

Documentation

  • New features are documented, with examples if plot related.
  • New features have an entry in doc/users/next_whats_new/ (follow instructions in README.rst there).
  • API changes documented in doc/api/next_api_changes/ (follow instructions in README.rst there).
  • Documentation is sphinx and numpydoc compliant (the docs should build without error).

@oscargus oscargus force-pushed the docbuildreordering branch from 15f76d1 to e16a730 Compare August 3, 2022 10:40
Copy link
Member

@timhoffm timhoffm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe rename to doc-deps-install to make clear that these are not dependencies of Matplotlib itself, but only needed for the doc build. - Otherwise it looks awkward to install dependencies after the package itself.

On a side note: Which of our doc dependencies requires matplotlib? I'm not aware of any.

@oscargus oscargus force-pushed the docbuildreordering branch from e16a730 to 332abf9 Compare August 3, 2022 13:26
@tacaswell tacaswell added this to the v3.6.0 milestone Aug 3, 2022
@tacaswell
Copy link
Member

@oscargus can self-merge on green.

@oscargus
Copy link
Member Author

oscargus commented Aug 3, 2022

I have renamed the stage.

On a side note: Which of our doc dependencies requires matplotlib? I'm not aware of any.

I think it is mpl-sphinx-theme.

@oscargus oscargus merged commit 9041766 into matplotlib:main Aug 3, 2022
@oscargus oscargus deleted the docbuildreordering branch August 3, 2022 14:28
@tacaswell
Copy link
Member

Which of our doc dependencies requires matplotlib?

From a conversation in gitter yesterday @melissawm identified it as sphinx-gallery (which makes perfect sense for every other user of sphinx gallery!).

@oscargus
Copy link
Member Author

oscargus commented Aug 3, 2022

I may not have the latest version, but:

oscar@oscar ~/dev/matplotlib (main)$ /home/oscar/.local/bin/pipdeptree -p sphinx-gallery
sphinx-gallery==0.11.0
  - sphinx [required: >=1.8.3, installed: 5.1.1]
    - alabaster [required: >=0.7,<0.8, installed: 0.7.12]
    - babel [required: >=1.3, installed: 2.10.3]
      - pytz [required: >=2015.7, installed: 2022.1]
    - docutils [required: >=0.14,<0.20, installed: 0.19]
    - imagesize [required: Any, installed: 1.4.1]
    - Jinja2 [required: >=2.3, installed: 3.1.2]
      - MarkupSafe [required: >=2.0, installed: 2.1.1]
    - packaging [required: Any, installed: 21.3]
      - pyparsing [required: >=2.0.2,!=3.0.5, installed: 2.4.7]
    - Pygments [required: >=2.0, installed: 2.12.0]
    - requests [required: >=2.5.0, installed: 2.28.1]
      - idna [required: >=2.5,<4, installed: 3.3]
      - urllib3 [required: >=1.21.1,<1.27, installed: 1.26.9]
    - snowballstemmer [required: >=1.1, installed: 2.2.0]
    - sphinxcontrib-applehelp [required: Any, installed: 1.0.2]
    - sphinxcontrib-devhelp [required: Any, installed: 1.0.2]
    - sphinxcontrib-htmlhelp [required: >=2.0.0, installed: 2.0.0]
    - sphinxcontrib-jsmath [required: Any, installed: 1.0.1]
    - sphinxcontrib-qthelp [required: Any, installed: 1.0.3]
    - sphinxcontrib-serializinghtml [required: >=1.1.5, installed: 1.1.5]
oscar@oscar ~/dev/matplotlib (main)$ /home/oscar/.local/bin/pipdeptree -p mpl-sphinx-theme
mpl-sphinx-theme==3.5.0
  - matplotlib [required: Any, installed: 3.6.0.dev2959+g2716c82a86]
    - contourpy [required: >=1.0.1, installed: 1.0.2]
      - numpy [required: >=1.16, installed: 1.23.1]
    - cycler [required: >=0.10, installed: 0.11.0]
    - fonttools [required: >=4.22.0, installed: 4.34.4]
    - kiwisolver [required: >=1.0.1, installed: 1.4.3]
    - numpy [required: >=1.19, installed: 1.23.1]
    - packaging [required: >=20.0, installed: 21.3]
      - pyparsing [required: >=2.0.2,!=3.0.5, installed: 2.4.7]
    - pillow [required: >=6.2.0, installed: 9.2.0]
    - pyparsing [required: >=2.2.1, installed: 2.4.7]
    - python-dateutil [required: >=2.7, installed: 2.8.2]
      - six [required: >=1.5, installed: 1.16.0]
    - setuptools-scm [required: >=4, installed: 6.3.2]
      - packaging [required: >=20.0, installed: 21.3]
        - pyparsing [required: >=2.0.2,!=3.0.5, installed: 2.4.7]
      - setuptools [required: Any, installed: 62.3.2]
      - tomli [required: >=1.0.0, installed: 2.0.1]
  - pydata-sphinx-theme [required: >=0.9.0, installed: 0.9.0]
    - beautifulsoup4 [required: Any, installed: 4.11.1]
      - soupsieve [required: >1.2, installed: 2.3.2.post1]
    - docutils [required: !=0.17.0, installed: 0.19]
    - packaging [required: Any, installed: 21.3]
      - pyparsing [required: >=2.0.2,!=3.0.5, installed: 2.4.7]
    - sphinx [required: >=4.0.2, installed: 5.1.1]
      - alabaster [required: >=0.7,<0.8, installed: 0.7.12]
      - babel [required: >=1.3, installed: 2.10.3]
        - pytz [required: >=2015.7, installed: 2022.1]
      - docutils [required: >=0.14,<0.20, installed: 0.19]
      - imagesize [required: Any, installed: 1.4.1]
      - Jinja2 [required: >=2.3, installed: 3.1.2]
        - MarkupSafe [required: >=2.0, installed: 2.1.1]
      - packaging [required: Any, installed: 21.3]
        - pyparsing [required: >=2.0.2,!=3.0.5, installed: 2.4.7]
      - Pygments [required: >=2.0, installed: 2.12.0]
      - requests [required: >=2.5.0, installed: 2.28.1]
        - idna [required: >=2.5,<4, installed: 3.3]
        - urllib3 [required: >=1.21.1,<1.27, installed: 1.26.9]
      - snowballstemmer [required: >=1.1, installed: 2.2.0]
      - sphinxcontrib-applehelp [required: Any, installed: 1.0.2]
      - sphinxcontrib-devhelp [required: Any, installed: 1.0.2]
      - sphinxcontrib-htmlhelp [required: >=2.0.0, installed: 2.0.0]
      - sphinxcontrib-jsmath [required: Any, installed: 1.0.1]
      - sphinxcontrib-qthelp [required: Any, installed: 1.0.3]
      - sphinxcontrib-serializinghtml [required: >=1.1.5, installed: 1.1.5]

@melissawm
Copy link
Member

Interesting...

$ conda-tree depends sphinx-gallery
['matplotlib-base', 'pillow', 'python', 'sphinx']

@tacaswell
Copy link
Member

packaging is hard...... ☠️

@oscargus
Copy link
Member Author

oscargus commented Aug 3, 2022

I should probably note that this is on an Arch machine and many of the python packages are installed through pacman, so that may possibly be another source of inconsistency.

@melissawm
Copy link
Member

Mine is Manjaro so should be pretty similar - I think only texlive is installed outside of conda in my case.

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 this pull request may close these issues.

4 participants