diff --git a/.github/workflows/ci_tests.yml b/.github/workflows/ci_tests.yml index 66973e06..229c112c 100644 --- a/.github/workflows/ci_tests.yml +++ b/.github/workflows/ci_tests.yml @@ -33,6 +33,7 @@ jobs: python -m pip install wheel scipy IPython astropy extension-helpers mpmath python -m pip install git+https://github.com/FRBs/ne2001.git#egg=ne2001 python -m pip install git+https://github.com/FRBs/FRB.git#egg=frb + python -m pip install git+https://github.com/FRBs/astropath.git#egg=astropath - name: Test with tox run: | tox -e ${{ matrix.toxenv }} diff --git a/docs/conf.py b/docs/conf.py index c62812ac..3f2865a2 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -5,10 +5,34 @@ import os import sys +from unittest.mock import MagicMock # Add the project root to the path for autodoc sys.path.insert(0, os.path.abspath('..')) +# Inject mocks for GitHub-only packages directly into sys.modules. +# This must be done before Sphinx loads any extensions, because +# sphinx-automodapi's automodsumm handler fires at builder-inited — +# earlier than autodoc_mock_imports takes effect — and will fail with +# "No module named X" if the package is not installed. +# +# Packages mocked here: +# astropath: pip install git+https://github.com/FRBs/astropath.git +# frb: pip install git+https://github.com/FRBs/FRB.git +# ne2001: pip install git+https://github.com/FRBs/ne2001.git +_MOCK_MODULES = [ + 'astropath', + 'astropath.priors', + 'astropath.path', + 'frb', + 'frb.frb', + 'frb.dm', + 'frb.associate', + 'ne2001', +] +for _mod in _MOCK_MODULES: + sys.modules[_mod] = MagicMock() + # -- Project information ----------------------------------------------------- project = 'zdm' copyright = '2024, Clancy James and contributors'