-
-
Notifications
You must be signed in to change notification settings - Fork 7.9k
FIX: Avoid copying source script when plot_html_show_source_link
is False in plot directive
#20814
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
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for opening your first PR into Matplotlib!
If you have not heard from us in a while, please feel free to ping @matplotlib/developers
or anyone who has commented on the PR. Most of our reviewers are volunteers and sometimes things fall through the cracks.
You can also join us on gitter for real-time discussion.
For details on testing, writing docs, and our review process, please see the developer guide
We strive to be a welcoming and open project. Please follow our Code of Conduct.
This seems reasonable and correct to me. Could you possibly add a few more asserts to https://github.com/matplotlib/matplotlib/blob/master/lib/matplotlib/tests/test_sphinxext.py to make sure the source is and is not copied in the relevant cases? The rst we are running against is https://github.com/matplotlib/matplotlib/blob/master/lib/matplotlib/tests/tinypages/some_plots.rst |
Thank you for working on this and welcome 😄 (sorry should have lead with that!). |
@tacaswell Added a few asserts. Could you take another look? |
# `plot_html_show_source_link=0` is equivalent to | ||
# `plot_html_show_source_link=False` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
# `plot_html_show_source_link=False` | ||
build_sphinx_html(source_dir, doctree_dir, html_dir, | ||
extra_args=["-D", "plot_html_show_source_link=0"]) | ||
assert "some_plots-1.py" not in [p.name for p in html_dir.iterdir()] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should I make this more strict?
This seems reasonable, however I have a concern that this is going to add time to the test process as tinypages was already the slowest test: On a recent default-branch run: https://github.com/matplotlib/matplotlib/runs/3301881275?check_suite_focus=true#step:12:149
and on this PR https://github.com/matplotlib/matplotlib/pull/20814/checks?check_run_id=3301939622#step:12:149
I assume we are hitting some caching in sphinx so the second run does not double the run time, but are still adding 5s (I'm a bit torn how much to trust these times though as CI runtime is notoriously variable). I think it would be better to add another plot to the example file? |
Can we create a directory containing an RST file, perform sphinx-build against this directory with |
Signed-off-by: harupy <hkawamura0130@gmail.com>
🐑 Sorry for being wrong about that and pushing you to test something impossible! |
Co-authored-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
Co-authored-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
@QuLogic Could you take another review? |
Thanks @harupy! Congratulations on your first PR to Matplotlib 🎉 We hope to hear from you again. |
PR Summary
In the plot directive, if
plot_html_show_source_link
isFalse
, it's not necessary to copy the source scripts (sorry if I'm missing something). This change slightly decreases disk usage.PR Checklist
pytest
passes).flake8
on changed files to check).flake8-docstrings
and runflake8 --docstring-convention=all
).doc/users/next_whats_new/
(follow instructions in README.rst there).doc/api/next_api_changes/
(follow instructions in README.rst there).