Add binder configuration and dependencies #142
Merged
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.
Description
What is this PR
Why is this PR needed?
Would be nice for people to be able to interactively run our sphinx-gallery examples in the browser, without the need for installing anything.
What does this PR do?
It configures
sphinx-gallery
to integrate with binder, as described in the relevant section of sphinx-gallery docs.It also adds an
environment.yml
file which specifies the dependencies needed for binder to run the examples. It was not possible to simply reuse thepyproject.toml
or thedocs/requirements.txt
file for this purpose. This is probably not a bad thing, since the examples may rely on additional packages that are not among our dependencies, and sphinx-related dependencies (found indocs/requirements.txt
) are not needed for binder to run the notebooks. So we have to live with (and maintain) an additional dependency file.Note
Moreover, the binder
environment.yml
file will install the latestmovement
version from pip, which is probably fine, since the environment will be instantiated when someone fires up a binder instance (not during the docs build). This is fine I think, since we anyway want all examples to work with every latest release ofmovement
.References
Closes #134
How has this PR been tested?
I'm not sure how to test it without merging this PR and releasing a new version.
By building the examples locally, I could verify that the built jupyter notebooks are placed in the correct folder in the docs, and that the binder link appears within the examples (see screenshot).
To actually run the examples, binder needs to get the notebooks from the
gh-pages
branch, which gets updated only when the docs are built anew (typically triggered by a new release)Is this a breaking change?
No.
Does this PR require an update to the documentation?
If any features have changed, or have been added. Please explain how the
documentation has been updated.
Checklist: