[Suggestion] Use .. plot::
directive to test code examples
#13179
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Blocked by #13178
Summary
This PR switches code examples to use Matplotlib's
.. plot::
directive. This runs those code examples during documentation builds, failing the build if any code examples raise an exception.Details
We replace code blocks with the plot directive, using the
:nofigs:
option. Any code inside the directive is run at build time. This doesn't change the appearance of the rendered docs.We can also use the
:context:
option to share state between code examples. This is helpful to avoid duplicating imports and for interspersing code examples with prose.Advantages:
.. plot::
in lots of places across the docsPotential problems:
plot
may be confusing to contributors since we're not plotting anything.:include-source:
,:nofig:
) everywhere.Fixes Qiskit/documentation#1893