Skip to content
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

Add binder configuration and dependencies #142

Merged
merged 2 commits into from
Mar 15, 2024
Merged

Conversation

niksirbi
Copy link
Member

@niksirbi niksirbi commented Mar 14, 2024

Description

What is this PR

  • Bug fix
  • Addition of a new feature
  • Other

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 the pyproject.toml or the docs/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 in docs/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 latest movement 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 of movement.

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).

Screenshot 2024-03-14 at 14 54 04

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:

  • The code has been tested locally
  • Tests have been added to cover all new functionality
  • The documentation has been updated to reflect any changes
  • The code has been formatted with pre-commit

Copy link

codecov bot commented Mar 14, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 99.28%. Comparing base (a1afeef) to head (e9691bd).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #142   +/-   ##
=======================================
  Coverage   99.28%   99.28%           
=======================================
  Files           9        9           
  Lines         556      556           
=======================================
  Hits          552      552           
  Misses          4        4           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Copy link

sonarcloud bot commented Mar 14, 2024

Quality Gate Passed Quality Gate passed

Issues
0 New issues
0 Accepted issues

Measures
0 Security Hotspots
No data about Coverage
0.0% Duplication on New Code

See analysis details on SonarCloud

@niksirbi niksirbi marked this pull request as ready for review March 14, 2024 17:41
Copy link
Member

@adamltyson adamltyson left a comment

Choose a reason for hiding this comment

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

As you say, not sure how to test this, so going to merge & release.

@adamltyson adamltyson merged commit 4f4e7ee into main Mar 15, 2024
26 checks passed
@adamltyson
Copy link
Member

The binder image took a couple of tries to build, but looks to be working now 🎉

@niksirbi niksirbi mentioned this pull request Mar 15, 2024
7 tasks
@niksirbi niksirbi deleted the examples-to-binder branch May 10, 2024 12:54
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.

Make sphinx-gallery examples in docs executable with binder
2 participants