andgoldschmidt / derivative

Optimal numerical differentiation of noisy time series data in python.
https://derivative.readthedocs.io/en/latest/
Other
55 stars 8 forks source link

Run Jupyter notebooks in documentation #32

Closed andgoldschmidt closed 1 year ago

andgoldschmidt commented 1 year ago

Current build config does not re-run the example jupyter notebook when building docs (It was causing an error that RTD ignores, see #30). This means the results from running notebook examples are no longer viewable in the docs, so this should be restored / the RTD error addressed or an alternative workflow should be introduced.

Jacob-Stevens-Haas commented 1 year ago

Ok, good point. I'll dig into this. How would you feel about committing the notebook outputs?

andgoldschmidt commented 1 year ago

Open to it, but definitely appreciated having the automated notebook runs. My current status is: I have no trouble compiling locally when I allow the the notebooks to run. Meanwhile, RTD fails whether I include the notebooks or not:

Extension error:
Could not import extension sphinx.builders.linkcheck (exception: urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with OpenSSL 1.0.2n  7 Dec 2017. See: https://github.com/urllib3/urllib3/issues/2168)

I think https://github.com/readthedocs/readthedocs.org/issues/10290 is perhaps what is needed, will try later.

Jacob-Stevens-Haas commented 1 year ago

Good troubleshooting on that issue! On my end I'm getting the error

TypeError: max_iter must be an instance of int, not float.

Whenever example.ipynb sets maxiter=1e6. So it's likely a version issue w/scikit-learn, but it's an easy fix to cast as int in the notebook. Just running into some issues refreshing the sphinx cache, then I'll PR a fix.

Another desiderata: add a doc build step to the CI to catch any PR that breaks the doc build. I can add this to the PR too. :laughing:

andgoldschmidt commented 1 year ago

Closed by #34

This should be taken care of now, docs build for me on RTD using the newer .readthedocs.yaml format.

CI for docs on pull requests has also been added and passes