Skip to content

[JOSS REVIEW] Unit tests have missing dependency #243

@finsberg

Description

@finsberg

When trying to install the test as outlined here I get the following failures

python3 -m pytest --json-report -v tests/ | tee unit_tests.txt
============================= test session starts ==============================
platform darwin -- Python 3.12.9, pytest-9.0.2, pluggy-1.6.0 -- /Users/finsberg/local/src/pySEMTools/venv/bin/python3
cachedir: .pytest_cache
metadata: {'Python': '3.12.9', 'Platform': 'macOS-26.3-arm64-arm-64bit', 'Packages': {'pytest': '9.0.2', 'pluggy': '1.6.0'}, 'Plugins': {'anyio': '4.12.1', 'json-report': '1.5.0', 'metadata': '3.1.1'}}
rootdir: /Users/finsberg/local/src/pySEMTools
configfile: pyproject.toml
plugins: anyio-4.12.1, json-report-1.5.0, metadata-3.1.1
collecting ... collected 39 items

tests/test_autograd.py::test_autograd PASSED                             [  2%]
tests/test_coef.py::test_coef_2d PASSED                                  [  5%]
tests/test_coef.py::test_coef_3d PASSED                                  [  7%]
tests/test_dssum.py::test_dssum PASSED                                   [ 10%]
tests/test_examples.py::test_data_types FAILED                           [ 12%]
tests/test_examples.py::test_calculus FAILED                             [ 15%]
tests/test_examples.py::test_interpolation FAILED                        [ 17%]
tests/test_examples.py::test_reduced_order_modelling FAILED              [ 20%]
tests/test_examples.py::test_statistics FAILED                           [ 23%]
tests/test_interpolator.py::test_single_point_interpolator PASSED        [ 25%]
tests/test_interpolator.py::test_multiple_point_interpolator_numpy PASSED [ 28%]
tests/test_interpolator.py::test_multiple_point_interpolator_torch PASSED [ 30%]
tests/test_interpolator.py::test_multiple_point_interpolator_torch_autograd SKIPPED [ 33%]
tests/test_io_data_types.py::test_read_data_single PASSED                [ 35%]
tests/test_io_data_types.py::test_wrapper PASSED                         [ 38%]
tests/test_io_data_types.py::test_read_data_double PASSED                [ 41%]
tests/test_io_data_types.py::test_write_data_single PASSED               [ 43%]
tests/test_io_data_types.py::test_write_data_double PASSED               [ 46%]
tests/test_io_data_types.py::test_write_data_single_no_mesh PASSED       [ 48%]
tests/test_io_data_types.py::test_write_data_double_no_mesh PASSED       [ 51%]
tests/test_io_data_types_2D.py::test_read_data_single PASSED             [ 53%]
tests/test_io_data_types_2D.py::test_read_data_double PASSED             [ 56%]
tests/test_io_data_types_2D.py::test_write_data_single PASSED            [ 58%]
tests/test_io_data_types_2D.py::test_write_data_double PASSED            [ 61%]
tests/test_io_data_types_2D.py::test_write_data_single_no_mesh PASSED    [ 64%]
tests/test_io_data_types_2D.py::test_write_data_double_no_mesh PASSED    [ 66%]
tests/test_io_hdf5.py::test_io_hdf5 PASSED                               [ 69%]
tests/test_ppymech.py::test_read_double PASSED                           [ 71%]
tests/test_ppymech.py::test_read_single PASSED                           [ 74%]
tests/test_ppymech.py::test_write_double PASSED                          [ 76%]
tests/test_ppymech.py::test_write_single PASSED                          [ 79%]
tests/test_probes.py::test_probes_msh_single PASSED                      [ 82%]
tests/test_probes.py::test_probes_msh_double PASSED                      [ 84%]
tests/test_rom.py::test_POD PASSED                                       [ 87%]
tests/test_rotations.py::test_cartesian_to_cylindrical PASSED            [ 89%]
tests/test_statistics.py::test_time_averaging_1_batches PASSED           [ 92%]
tests/test_statistics.py::test_time_averaging_2_batches PASSED           [ 94%]
tests/test_statistics.py::test_space_averaging PASSED                    [ 97%]
tests/test_uq.py::test_NOBM PASSED                                       [100%]

=================================== FAILURES ===================================
_______________________________ test_data_types ________________________________

    def test_data_types():
    
    
        examples_path = "examples/1-datatypes_and_io/"
        notebook_files = ["1-datatypes_io.ipynb",
                          "2-sem_subdomains.ipynb"]
    
        passed = []
        for notebook in notebook_files:
            notebook_path = os.path.join(examples_path, notebook)
    
            print(f"Executing notebook: {notebook_path}")
            _path=os.path.abspath(notebook_path)
            _name=os.path.basename(notebook_path)
            command = f"jupyter nbconvert --to notebook --execute {notebook_path} --output ./executed_{_name}"
            process = subprocess.run(command, capture_output=True, shell=True)
            if process.returncode != 0:
                print("Error executing notebook:")
                print(process.stdout.decode())
                print(process.stderr.decode())
                _passed = False
            else:
                print("Notebook executed successfully.")
                _passed = True
    
            passed.append(_passed)
    
>       assert all(passed)
E       assert False
E        +  where False = all([False, False])

tests/test_examples.py:54: AssertionError
----------------------------- Captured stdout call -----------------------------
Executing notebook: examples/1-datatypes_and_io/1-datatypes_io.ipynb
Error executing notebook:

[NbConvertApp] WARNING | Config option `template_path` not recognized by `NotebookExporter`.
Traceback (most recent call last):
  File "/Users/finsberg/local/src/pySEMTools/venv/bin/jupyter-nbconvert", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/jupyter_core/application.py", line 284, in launch_instance
    super().launch_instance(argv=argv, **kwargs)
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/traitlets/config/application.py", line 1075, in launch_instance
    app.start()
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/nbconvertapp.py", line 420, in start
    self.convert_notebooks()
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/nbconvertapp.py", line 585, in convert_notebooks
    cls = get_exporter(self.export_format)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/exporters/base.py", line 110, in get_exporter
    if getattr(exporter(config=config), "enabled", True):
               ^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/exporters/exporter.py", line 123, in __init__
    self._init_preprocessors()
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/exporters/exporter.py", line 294, in _init_preprocessors
    self.register_preprocessor(preprocessor, enabled=True)
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/exporters/exporter.py", line 253, in register_preprocessor
    preprocessor_cls = import_item(preprocessor)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/traitlets/utils/importstring.py", line 33, in import_item
    module = __import__(package, fromlist=[obj])
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ModuleNotFoundError: No module named 'jupyter_contrib_nbextensions'

Executing notebook: examples/1-datatypes_and_io/2-sem_subdomains.ipynb
Error executing notebook:

[NbConvertApp] WARNING | Config option `template_path` not recognized by `NotebookExporter`.
Traceback (most recent call last):
  File "/Users/finsberg/local/src/pySEMTools/venv/bin/jupyter-nbconvert", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/jupyter_core/application.py", line 284, in launch_instance
    super().launch_instance(argv=argv, **kwargs)
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/traitlets/config/application.py", line 1075, in launch_instance
    app.start()
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/nbconvertapp.py", line 420, in start
    self.convert_notebooks()
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/nbconvertapp.py", line 585, in convert_notebooks
    cls = get_exporter(self.export_format)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/exporters/base.py", line 110, in get_exporter
    if getattr(exporter(config=config), "enabled", True):
               ^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/exporters/exporter.py", line 123, in __init__
    self._init_preprocessors()
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/exporters/exporter.py", line 294, in _init_preprocessors
    self.register_preprocessor(preprocessor, enabled=True)
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/exporters/exporter.py", line 253, in register_preprocessor
    preprocessor_cls = import_item(preprocessor)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/traitlets/utils/importstring.py", line 33, in import_item
    module = __import__(package, fromlist=[obj])
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ModuleNotFoundError: No module named 'jupyter_contrib_nbextensions'

________________________________ test_calculus _________________________________

    def test_calculus():
    
    
        examples_path = "examples/3-calculus_in_sem_mesh/"
        if have_torch:
            notebook_files = ["1-differentiation.ipynb",
                              "1.5-differentiation_torch.ipynb",
                              "2-integration.ipynb"]
        else:
            notebook_files = ["1-differentiation.ipynb",
                              "2-integration.ipynb"]
    
        passed = []
        for notebook in notebook_files:
            notebook_path = os.path.join(examples_path, notebook)
    
            print(f"Executing notebook: {notebook_path}")
            _path=os.path.abspath(notebook_path)
            _name=os.path.basename(notebook_path)
            command = f"jupyter nbconvert --to notebook --execute {notebook_path} --output ./executed_{_name}"
            process = subprocess.run(command, capture_output=True, shell=True)
            if process.returncode != 0:
                print("Error executing notebook:")
                print(process.stdout.decode())
                print(process.stderr.decode())
                _passed = False
            else:
                print("Notebook executed successfully.")
                _passed = True
    
            passed.append(_passed)
    
>       assert all(passed)
E       assert False
E        +  where False = all([False, False, False])

tests/test_examples.py:88: AssertionError
----------------------------- Captured stdout call -----------------------------
Executing notebook: examples/3-calculus_in_sem_mesh/1-differentiation.ipynb
Error executing notebook:

[NbConvertApp] WARNING | Config option `template_path` not recognized by `NotebookExporter`.
Traceback (most recent call last):
  File "/Users/finsberg/local/src/pySEMTools/venv/bin/jupyter-nbconvert", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/jupyter_core/application.py", line 284, in launch_instance
    super().launch_instance(argv=argv, **kwargs)
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/traitlets/config/application.py", line 1075, in launch_instance
    app.start()
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/nbconvertapp.py", line 420, in start
    self.convert_notebooks()
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/nbconvertapp.py", line 585, in convert_notebooks
    cls = get_exporter(self.export_format)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/exporters/base.py", line 110, in get_exporter
    if getattr(exporter(config=config), "enabled", True):
               ^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/exporters/exporter.py", line 123, in __init__
    self._init_preprocessors()
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/exporters/exporter.py", line 294, in _init_preprocessors
    self.register_preprocessor(preprocessor, enabled=True)
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/exporters/exporter.py", line 253, in register_preprocessor
    preprocessor_cls = import_item(preprocessor)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/traitlets/utils/importstring.py", line 33, in import_item
    module = __import__(package, fromlist=[obj])
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ModuleNotFoundError: No module named 'jupyter_contrib_nbextensions'

Executing notebook: examples/3-calculus_in_sem_mesh/1.5-differentiation_torch.ipynb
Error executing notebook:

[NbConvertApp] WARNING | Config option `template_path` not recognized by `NotebookExporter`.
Traceback (most recent call last):
  File "/Users/finsberg/local/src/pySEMTools/venv/bin/jupyter-nbconvert", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/jupyter_core/application.py", line 284, in launch_instance
    super().launch_instance(argv=argv, **kwargs)
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/traitlets/config/application.py", line 1075, in launch_instance
    app.start()
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/nbconvertapp.py", line 420, in start
    self.convert_notebooks()
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/nbconvertapp.py", line 585, in convert_notebooks
    cls = get_exporter(self.export_format)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/exporters/base.py", line 110, in get_exporter
    if getattr(exporter(config=config), "enabled", True):
               ^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/exporters/exporter.py", line 123, in __init__
    self._init_preprocessors()
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/exporters/exporter.py", line 294, in _init_preprocessors
    self.register_preprocessor(preprocessor, enabled=True)
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/exporters/exporter.py", line 253, in register_preprocessor
    preprocessor_cls = import_item(preprocessor)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/traitlets/utils/importstring.py", line 33, in import_item
    module = __import__(package, fromlist=[obj])
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ModuleNotFoundError: No module named 'jupyter_contrib_nbextensions'

Executing notebook: examples/3-calculus_in_sem_mesh/2-integration.ipynb
Error executing notebook:

[NbConvertApp] WARNING | Config option `template_path` not recognized by `NotebookExporter`.
Traceback (most recent call last):
  File "/Users/finsberg/local/src/pySEMTools/venv/bin/jupyter-nbconvert", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/jupyter_core/application.py", line 284, in launch_instance
    super().launch_instance(argv=argv, **kwargs)
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/traitlets/config/application.py", line 1075, in launch_instance
    app.start()
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/nbconvertapp.py", line 420, in start
    self.convert_notebooks()
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/nbconvertapp.py", line 585, in convert_notebooks
    cls = get_exporter(self.export_format)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/exporters/base.py", line 110, in get_exporter
    if getattr(exporter(config=config), "enabled", True):
               ^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/exporters/exporter.py", line 123, in __init__
    self._init_preprocessors()
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/exporters/exporter.py", line 294, in _init_preprocessors
    self.register_preprocessor(preprocessor, enabled=True)
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/exporters/exporter.py", line 253, in register_preprocessor
    preprocessor_cls = import_item(preprocessor)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/traitlets/utils/importstring.py", line 33, in import_item
    module = __import__(package, fromlist=[obj])
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ModuleNotFoundError: No module named 'jupyter_contrib_nbextensions'

______________________________ test_interpolation ______________________________

sem_data_path = 'examples/data/sem_data'

    def test_interpolation(sem_data_path):
    
    
        examples_path = "examples/4-interpolation/"
        notebook_files = ["1-interpolation_to_query_points.ipynb",
                          "2-element_interpolation.ipynb",
                          "3-interpolation_from_2d_sem_mesh.ipynb",
                          "5-structured_mesh.ipynb",
                          "6-interpolating_file_sequences.ipynb",
                          "8-mirroring_fields.ipynb"]
    
        passed = []
        for notebook in notebook_files:
            notebook_path = os.path.join(examples_path, notebook)
    
            print(f"Executing notebook: {notebook_path}")
            _path=os.path.abspath(notebook_path)
            _name=os.path.basename(notebook_path)
            command = f"jupyter nbconvert --to notebook --execute {notebook_path} --output ./executed_{_name}"
            process = subprocess.run(command, capture_output=True, shell=True)
            if process.returncode != 0:
                print("Error executing notebook:")
                print(process.stdout.decode())
                print(process.stderr.decode())
                _passed = False
            else:
                print("Notebook executed successfully.")
                _passed = True
    
            passed.append(_passed)
    
>       assert all(passed)
E       assert False
E        +  where False = all([False, False, False, False, False, False])

tests/test_examples.py:121: AssertionError
---------------------------- Captured stdout setup -----------------------------
Sem data found.
----------------------------- Captured stdout call -----------------------------
Executing notebook: examples/4-interpolation/1-interpolation_to_query_points.ipynb
Error executing notebook:

[NbConvertApp] WARNING | Config option `template_path` not recognized by `NotebookExporter`.
Traceback (most recent call last):
  File "/Users/finsberg/local/src/pySEMTools/venv/bin/jupyter-nbconvert", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/jupyter_core/application.py", line 284, in launch_instance
    super().launch_instance(argv=argv, **kwargs)
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/traitlets/config/application.py", line 1075, in launch_instance
    app.start()
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/nbconvertapp.py", line 420, in start
    self.convert_notebooks()
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/nbconvertapp.py", line 585, in convert_notebooks
    cls = get_exporter(self.export_format)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/exporters/base.py", line 110, in get_exporter
    if getattr(exporter(config=config), "enabled", True):
               ^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/exporters/exporter.py", line 123, in __init__
    self._init_preprocessors()
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/exporters/exporter.py", line 294, in _init_preprocessors
    self.register_preprocessor(preprocessor, enabled=True)
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/exporters/exporter.py", line 253, in register_preprocessor
    preprocessor_cls = import_item(preprocessor)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/traitlets/utils/importstring.py", line 33, in import_item
    module = __import__(package, fromlist=[obj])
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ModuleNotFoundError: No module named 'jupyter_contrib_nbextensions'

Executing notebook: examples/4-interpolation/2-element_interpolation.ipynb
Error executing notebook:

[NbConvertApp] WARNING | Config option `template_path` not recognized by `NotebookExporter`.
Traceback (most recent call last):
  File "/Users/finsberg/local/src/pySEMTools/venv/bin/jupyter-nbconvert", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/jupyter_core/application.py", line 284, in launch_instance
    super().launch_instance(argv=argv, **kwargs)
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/traitlets/config/application.py", line 1075, in launch_instance
    app.start()
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/nbconvertapp.py", line 420, in start
    self.convert_notebooks()
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/nbconvertapp.py", line 585, in convert_notebooks
    cls = get_exporter(self.export_format)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/exporters/base.py", line 110, in get_exporter
    if getattr(exporter(config=config), "enabled", True):
               ^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/exporters/exporter.py", line 123, in __init__
    self._init_preprocessors()
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/exporters/exporter.py", line 294, in _init_preprocessors
    self.register_preprocessor(preprocessor, enabled=True)
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/exporters/exporter.py", line 253, in register_preprocessor
    preprocessor_cls = import_item(preprocessor)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/traitlets/utils/importstring.py", line 33, in import_item
    module = __import__(package, fromlist=[obj])
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ModuleNotFoundError: No module named 'jupyter_contrib_nbextensions'

Executing notebook: examples/4-interpolation/3-interpolation_from_2d_sem_mesh.ipynb
Error executing notebook:

[NbConvertApp] WARNING | Config option `template_path` not recognized by `NotebookExporter`.
Traceback (most recent call last):
  File "/Users/finsberg/local/src/pySEMTools/venv/bin/jupyter-nbconvert", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/jupyter_core/application.py", line 284, in launch_instance
    super().launch_instance(argv=argv, **kwargs)
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/traitlets/config/application.py", line 1075, in launch_instance
    app.start()
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/nbconvertapp.py", line 420, in start
    self.convert_notebooks()
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/nbconvertapp.py", line 585, in convert_notebooks
    cls = get_exporter(self.export_format)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/exporters/base.py", line 110, in get_exporter
    if getattr(exporter(config=config), "enabled", True):
               ^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/exporters/exporter.py", line 123, in __init__
    self._init_preprocessors()
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/exporters/exporter.py", line 294, in _init_preprocessors
    self.register_preprocessor(preprocessor, enabled=True)
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/exporters/exporter.py", line 253, in register_preprocessor
    preprocessor_cls = import_item(preprocessor)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/traitlets/utils/importstring.py", line 33, in import_item
    module = __import__(package, fromlist=[obj])
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ModuleNotFoundError: No module named 'jupyter_contrib_nbextensions'

Executing notebook: examples/4-interpolation/5-structured_mesh.ipynb
Error executing notebook:

[NbConvertApp] WARNING | Config option `template_path` not recognized by `NotebookExporter`.
Traceback (most recent call last):
  File "/Users/finsberg/local/src/pySEMTools/venv/bin/jupyter-nbconvert", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/jupyter_core/application.py", line 284, in launch_instance
    super().launch_instance(argv=argv, **kwargs)
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/traitlets/config/application.py", line 1075, in launch_instance
    app.start()
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/nbconvertapp.py", line 420, in start
    self.convert_notebooks()
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/nbconvertapp.py", line 585, in convert_notebooks
    cls = get_exporter(self.export_format)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/exporters/base.py", line 110, in get_exporter
    if getattr(exporter(config=config), "enabled", True):
               ^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/exporters/exporter.py", line 123, in __init__
    self._init_preprocessors()
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/exporters/exporter.py", line 294, in _init_preprocessors
    self.register_preprocessor(preprocessor, enabled=True)
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/exporters/exporter.py", line 253, in register_preprocessor
    preprocessor_cls = import_item(preprocessor)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/traitlets/utils/importstring.py", line 33, in import_item
    module = __import__(package, fromlist=[obj])
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ModuleNotFoundError: No module named 'jupyter_contrib_nbextensions'

Executing notebook: examples/4-interpolation/6-interpolating_file_sequences.ipynb
Error executing notebook:

[NbConvertApp] WARNING | Config option `template_path` not recognized by `NotebookExporter`.
Traceback (most recent call last):
  File "/Users/finsberg/local/src/pySEMTools/venv/bin/jupyter-nbconvert", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/jupyter_core/application.py", line 284, in launch_instance
    super().launch_instance(argv=argv, **kwargs)
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/traitlets/config/application.py", line 1075, in launch_instance
    app.start()
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/nbconvertapp.py", line 420, in start
    self.convert_notebooks()
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/nbconvertapp.py", line 585, in convert_notebooks
    cls = get_exporter(self.export_format)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/exporters/base.py", line 110, in get_exporter
    if getattr(exporter(config=config), "enabled", True):
               ^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/exporters/exporter.py", line 123, in __init__
    self._init_preprocessors()
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/exporters/exporter.py", line 294, in _init_preprocessors
    self.register_preprocessor(preprocessor, enabled=True)
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/exporters/exporter.py", line 253, in register_preprocessor
    preprocessor_cls = import_item(preprocessor)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/traitlets/utils/importstring.py", line 33, in import_item
    module = __import__(package, fromlist=[obj])
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ModuleNotFoundError: No module named 'jupyter_contrib_nbextensions'

Executing notebook: examples/4-interpolation/8-mirroring_fields.ipynb
Error executing notebook:

[NbConvertApp] WARNING | Config option `template_path` not recognized by `NotebookExporter`.
Traceback (most recent call last):
  File "/Users/finsberg/local/src/pySEMTools/venv/bin/jupyter-nbconvert", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/jupyter_core/application.py", line 284, in launch_instance
    super().launch_instance(argv=argv, **kwargs)
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/traitlets/config/application.py", line 1075, in launch_instance
    app.start()
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/nbconvertapp.py", line 420, in start
    self.convert_notebooks()
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/nbconvertapp.py", line 585, in convert_notebooks
    cls = get_exporter(self.export_format)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/exporters/base.py", line 110, in get_exporter
    if getattr(exporter(config=config), "enabled", True):
               ^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/exporters/exporter.py", line 123, in __init__
    self._init_preprocessors()
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/exporters/exporter.py", line 294, in _init_preprocessors
    self.register_preprocessor(preprocessor, enabled=True)
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/exporters/exporter.py", line 253, in register_preprocessor
    preprocessor_cls = import_item(preprocessor)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/traitlets/utils/importstring.py", line 33, in import_item
    module = __import__(package, fromlist=[obj])
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ModuleNotFoundError: No module named 'jupyter_contrib_nbextensions'

_________________________ test_reduced_order_modelling _________________________

    def test_reduced_order_modelling():
    
    
        examples_path = "examples/5-reduced_order_modelling/"
        notebook_files = ["1-POD_from_pointclouds.ipynb",
                          "2-POD_fft_from_pointclouds.ipynb"]
    
        passed = []
        for notebook in notebook_files:
            notebook_path = os.path.join(examples_path, notebook)
    
            print(f"Executing notebook: {notebook_path}")
            _path=os.path.abspath(notebook_path)
            _name=os.path.basename(notebook_path)
            command = f"jupyter nbconvert --to notebook --execute {notebook_path} --output ./executed_{_name}"
            process = subprocess.run(command, capture_output=True, shell=True)
            if process.returncode != 0:
                print("Error executing notebook:")
                print(process.stdout.decode())
                print(process.stderr.decode())
                _passed = False
            else:
                print("Notebook executed successfully.")
                _passed = True
    
            passed.append(_passed)
    
>       assert all(passed)
E       assert False
E        +  where False = all([False, False])

tests/test_examples.py:150: AssertionError
----------------------------- Captured stdout call -----------------------------
Executing notebook: examples/5-reduced_order_modelling/1-POD_from_pointclouds.ipynb
Error executing notebook:

[NbConvertApp] WARNING | Config option `template_path` not recognized by `NotebookExporter`.
Traceback (most recent call last):
  File "/Users/finsberg/local/src/pySEMTools/venv/bin/jupyter-nbconvert", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/jupyter_core/application.py", line 284, in launch_instance
    super().launch_instance(argv=argv, **kwargs)
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/traitlets/config/application.py", line 1075, in launch_instance
    app.start()
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/nbconvertapp.py", line 420, in start
    self.convert_notebooks()
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/nbconvertapp.py", line 585, in convert_notebooks
    cls = get_exporter(self.export_format)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/exporters/base.py", line 110, in get_exporter
    if getattr(exporter(config=config), "enabled", True):
               ^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/exporters/exporter.py", line 123, in __init__
    self._init_preprocessors()
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/exporters/exporter.py", line 294, in _init_preprocessors
    self.register_preprocessor(preprocessor, enabled=True)
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/exporters/exporter.py", line 253, in register_preprocessor
    preprocessor_cls = import_item(preprocessor)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/traitlets/utils/importstring.py", line 33, in import_item
    module = __import__(package, fromlist=[obj])
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ModuleNotFoundError: No module named 'jupyter_contrib_nbextensions'

Executing notebook: examples/5-reduced_order_modelling/2-POD_fft_from_pointclouds.ipynb
Error executing notebook:

[NbConvertApp] WARNING | Config option `template_path` not recognized by `NotebookExporter`.
Traceback (most recent call last):
  File "/Users/finsberg/local/src/pySEMTools/venv/bin/jupyter-nbconvert", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/jupyter_core/application.py", line 284, in launch_instance
    super().launch_instance(argv=argv, **kwargs)
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/traitlets/config/application.py", line 1075, in launch_instance
    app.start()
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/nbconvertapp.py", line 420, in start
    self.convert_notebooks()
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/nbconvertapp.py", line 585, in convert_notebooks
    cls = get_exporter(self.export_format)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/exporters/base.py", line 110, in get_exporter
    if getattr(exporter(config=config), "enabled", True):
               ^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/exporters/exporter.py", line 123, in __init__
    self._init_preprocessors()
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/exporters/exporter.py", line 294, in _init_preprocessors
    self.register_preprocessor(preprocessor, enabled=True)
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/exporters/exporter.py", line 253, in register_preprocessor
    preprocessor_cls = import_item(preprocessor)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/traitlets/utils/importstring.py", line 33, in import_item
    module = __import__(package, fromlist=[obj])
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ModuleNotFoundError: No module named 'jupyter_contrib_nbextensions'

_______________________________ test_statistics ________________________________

sem_data_path = 'examples/data/sem_data'

    def test_statistics(sem_data_path):
    
        examples_path = "examples/6-statistics/"
        if have_torch:
            notebook_files = ["1-post_processing_mean_fields.ipynb",
                          "4-Budgets.ipynb",
                          "5-homogeneous_direction_averaging.ipynb",
                          "6-Stats_from_fld.ipynb"]
        else:
            notebook_files = ["1-post_processing_mean_fields.ipynb",
                          "4-Budgets.ipynb",
                          "5-homogeneous_direction_averaging.ipynb",]
    
        passed = []
        for notebook in notebook_files:
            notebook_path = os.path.join(examples_path, notebook)
    
            print(f"Executing notebook: {notebook_path}")
            _path=os.path.abspath(notebook_path)
            _name=os.path.basename(notebook_path)
            command = f"jupyter nbconvert --to notebook --execute {notebook_path} --output ./executed_{_name}"
            process = subprocess.run(command, capture_output=True, shell=True)
            if process.returncode != 0:
                print("Error executing notebook:")
                print(process.stdout.decode())
                print(process.stderr.decode())
                _passed = False
            else:
                print("Notebook executed successfully.")
                _passed = True
    
            passed.append(_passed)
    
>       assert all(passed)
E       assert False
E        +  where False = all([False, False, False, False])

tests/test_examples.py:185: AssertionError
----------------------------- Captured stdout call -----------------------------
Executing notebook: examples/6-statistics/1-post_processing_mean_fields.ipynb
Error executing notebook:

[NbConvertApp] WARNING | Config option `template_path` not recognized by `NotebookExporter`.
Traceback (most recent call last):
  File "/Users/finsberg/local/src/pySEMTools/venv/bin/jupyter-nbconvert", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/jupyter_core/application.py", line 284, in launch_instance
    super().launch_instance(argv=argv, **kwargs)
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/traitlets/config/application.py", line 1075, in launch_instance
    app.start()
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/nbconvertapp.py", line 420, in start
    self.convert_notebooks()
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/nbconvertapp.py", line 585, in convert_notebooks
    cls = get_exporter(self.export_format)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/exporters/base.py", line 110, in get_exporter
    if getattr(exporter(config=config), "enabled", True):
               ^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/exporters/exporter.py", line 123, in __init__
    self._init_preprocessors()
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/exporters/exporter.py", line 294, in _init_preprocessors
    self.register_preprocessor(preprocessor, enabled=True)
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/exporters/exporter.py", line 253, in register_preprocessor
    preprocessor_cls = import_item(preprocessor)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/traitlets/utils/importstring.py", line 33, in import_item
    module = __import__(package, fromlist=[obj])
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ModuleNotFoundError: No module named 'jupyter_contrib_nbextensions'

Executing notebook: examples/6-statistics/4-Budgets.ipynb
Error executing notebook:

[NbConvertApp] WARNING | Config option `template_path` not recognized by `NotebookExporter`.
Traceback (most recent call last):
  File "/Users/finsberg/local/src/pySEMTools/venv/bin/jupyter-nbconvert", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/jupyter_core/application.py", line 284, in launch_instance
    super().launch_instance(argv=argv, **kwargs)
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/traitlets/config/application.py", line 1075, in launch_instance
    app.start()
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/nbconvertapp.py", line 420, in start
    self.convert_notebooks()
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/nbconvertapp.py", line 585, in convert_notebooks
    cls = get_exporter(self.export_format)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/exporters/base.py", line 110, in get_exporter
    if getattr(exporter(config=config), "enabled", True):
               ^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/exporters/exporter.py", line 123, in __init__
    self._init_preprocessors()
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/exporters/exporter.py", line 294, in _init_preprocessors
    self.register_preprocessor(preprocessor, enabled=True)
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/exporters/exporter.py", line 253, in register_preprocessor
    preprocessor_cls = import_item(preprocessor)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/traitlets/utils/importstring.py", line 33, in import_item
    module = __import__(package, fromlist=[obj])
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ModuleNotFoundError: No module named 'jupyter_contrib_nbextensions'

Executing notebook: examples/6-statistics/5-homogeneous_direction_averaging.ipynb
Error executing notebook:

[NbConvertApp] WARNING | Config option `template_path` not recognized by `NotebookExporter`.
Traceback (most recent call last):
  File "/Users/finsberg/local/src/pySEMTools/venv/bin/jupyter-nbconvert", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/jupyter_core/application.py", line 284, in launch_instance
    super().launch_instance(argv=argv, **kwargs)
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/traitlets/config/application.py", line 1075, in launch_instance
    app.start()
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/nbconvertapp.py", line 420, in start
    self.convert_notebooks()
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/nbconvertapp.py", line 585, in convert_notebooks
    cls = get_exporter(self.export_format)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/exporters/base.py", line 110, in get_exporter
    if getattr(exporter(config=config), "enabled", True):
               ^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/exporters/exporter.py", line 123, in __init__
    self._init_preprocessors()
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/exporters/exporter.py", line 294, in _init_preprocessors
    self.register_preprocessor(preprocessor, enabled=True)
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/exporters/exporter.py", line 253, in register_preprocessor
    preprocessor_cls = import_item(preprocessor)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/traitlets/utils/importstring.py", line 33, in import_item
    module = __import__(package, fromlist=[obj])
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ModuleNotFoundError: No module named 'jupyter_contrib_nbextensions'

Executing notebook: examples/6-statistics/6-Stats_from_fld.ipynb
Error executing notebook:

[NbConvertApp] WARNING | Config option `template_path` not recognized by `NotebookExporter`.
Traceback (most recent call last):
  File "/Users/finsberg/local/src/pySEMTools/venv/bin/jupyter-nbconvert", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/jupyter_core/application.py", line 284, in launch_instance
    super().launch_instance(argv=argv, **kwargs)
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/traitlets/config/application.py", line 1075, in launch_instance
    app.start()
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/nbconvertapp.py", line 420, in start
    self.convert_notebooks()
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/nbconvertapp.py", line 585, in convert_notebooks
    cls = get_exporter(self.export_format)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/exporters/base.py", line 110, in get_exporter
    if getattr(exporter(config=config), "enabled", True):
               ^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/exporters/exporter.py", line 123, in __init__
    self._init_preprocessors()
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/exporters/exporter.py", line 294, in _init_preprocessors
    self.register_preprocessor(preprocessor, enabled=True)
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/nbconvert/exporters/exporter.py", line 253, in register_preprocessor
    preprocessor_cls = import_item(preprocessor)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/finsberg/local/src/pySEMTools/venv/lib/python3.12/site-packages/traitlets/utils/importstring.py", line 33, in import_item
    module = __import__(package, fromlist=[obj])
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ModuleNotFoundError: No module named 'jupyter_contrib_nbextensions'

--------------------------------- JSON report ----------------------------------
report saved to: .report.json
=========================== short test summary info ============================
FAILED tests/test_examples.py::test_data_types - assert False
FAILED tests/test_examples.py::test_calculus - assert False
FAILED tests/test_examples.py::test_interpolation - assert False
FAILED tests/test_examples.py::test_reduced_order_modelling - assert False
FAILED tests/test_examples.py::test_statistics - assert False
============= 5 failed, 33 passed, 1 skipped in 457.59s (0:07:37) ==============

which indicates that jupyter_contrib_nbextensions is a missing test dependency.

This should have been caught by the unit tests workflow, but this has not been turned on, see https://github.com/ExtremeFLOW/pySEMTools/actions/workflows/check_unit_test.yml

I would recommend to turn on testing for both pushes and pull requests to the main branch.

This is related to the ongoing review at openjournals/joss-reviews#8767

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions