libAtoms / matscipy

Materials science with Python at the atomic-scale
http://libatoms.github.io/matscipy/
GNU Lesser General Public License v2.1
188 stars 55 forks source link

Building documentation requires Fenics #221

Closed pastewka closed 10 months ago

pastewka commented 10 months ago

Build the documentation now requires Fenics, because there are Fenics examples in the documentation. While this is generally fine in the CI, the documentation should build without Fenics locally as installing Fenics is nontrivial.

pastewka commented 10 months ago

@jotelha - Can you take a look at this?

jotelha commented 10 months ago

Will do. Right now, we first get a warning,

WARNING: [autosummary] failed to import matscipy.electrochemistry.poisson_nernst_planck_solver_fenics.
Possible hints:
* ModuleNotFoundError: No module named 'fenics'
* AttributeError: module 'matscipy.electrochemistry' has no attribute 'poisson_nernst_planck_solver_fenics'
* ImportError: 

and then building the documentation will fail at executing electrochemistry_2.py

building [html]: targets for 30 source files that are out of date
updating environment: [new config] 102 added, 0 changed, 0 removed
/home/jotelha/git/matscipy/docs/applications/cylinder_configurations.ipynb: Executing notebook using local CWD [mystnb]                                                                                           
/home/jotelha/git/matscipy/docs/applications/cylinder_configurations.ipynb: Executed notebook in 10.51 seconds [mystnb]
/home/jotelha/git/matscipy/docs/applications/elastic_constants.ipynb: Executing notebook using local CWD [mystnb]                                                                                                 
/home/jotelha/git/matscipy/docs/applications/elastic_constants.ipynb: Executed notebook in 21.82 seconds [mystnb]
/home/jotelha/git/matscipy/docs/applications/electrochemistry_1.py: Executing notebook using local CWD [mystnb]                                                                                                   
/home/jotelha/git/matscipy/docs/applications/electrochemistry_1.py: Executed notebook in 35.99 seconds [mystnb]
/home/jotelha/git/matscipy/docs/applications/electrochemistry_2.py: Executing notebook using local CWD [mystnb]                                                                                                   
/home/jotelha/git/matscipy/docs/applications/electrochemistry_1.py:440002: WARNING: Non-consecutive header level increase; H1 to H3 [myst.header]
/home/jotelha/git/matscipy/docs/applications/electrochemistry_1.py:510002: WARNING: Non-consecutive header level increase; H1 to H3 [myst.header]
/home/jotelha/git/matscipy/docs/applications/electrochemistry_1.py:570002: WARNING: Non-consecutive header level increase; H1 to H3 [myst.header]

Exception occurred:
  File "/home/jotelha/git/matscipy/isolated-venv/lib/python3.8/site-packages/myst_nb/core/execute/direct.py", line 50, in start_client
    raise ExecutionError(str(self.path)) from result.err
myst_nb.core.execute.base.ExecutionError: /home/jotelha/git/matscipy/docs/applications/electrochemistry_2.py
The full traceback has been saved in /tmp/sphinx-err-6yytmx4r.log, if you want to report the issue to the developers.
Please also report this if it was a user error, so that a better error message can be provided next time.
A bug report can be filed in the tracker at <https://github.com/sphinx-doc/sphinx/issues>. Thanks!
make: *** [Makefile:55: html] Error 2

when fenics is not available. We want it to still build and conditionally ignore the fenics-dependent notebook if no fenics available.

jotelha commented 10 months ago

These four lines https://github.com/libAtoms/matscipy/pull/223 should suffice.

jameskermode commented 10 months ago

Closed by #223