Source code for mpi_array.rtd

"""
======================================
The :mod:`mpi_array.rtd` Module
======================================

Sets up :samp:`mock` modules for readthedocs.org sphinx builds.
See `this FAQ <http://read-the-docs.readthedocs.io/en/latest/faq.html
#i-get-import-errors-on-libraries-that-depend-on-c-modules>`_.

Functions
=========

.. autosummary::
   :toctree: generated/

   initialise_mock_modules - Replaces/initialise mock modules in :obj:`sys.modules`.

Attributes
==========

.. autodata:: MOCK_MODULES

"""
from __future__ import absolute_import
import os as _os

#: List of module names
MOCK_MODULES = ['mpi4py', "mpi4py.MPI"]


[docs]def initialise_mock_modules(module_name_list): """ Updates system modules (:func:`sys.modules.update`) with :samp:`unittest.mock.MagicMock` objects. :type module_name_list: sequence of :obj:`str` :param module_name_list: List of module names to be replaced/initialised with :samp:`MagicMock` instances in :obj:`sys.modules`. """ import sys as _sys try: from unittest.mock import MagicMock as _MagicMock except (ImportError,): from mock import Mock as _MagicMock class Mock(_MagicMock): @classmethod def __getattr__(cls, name): return _MagicMock() _sys.modules.update((mod_name, Mock()) for mod_name in module_name_list)
if "READTHEDOCS" in _os.environ.keys(): initialise_mock_modules(MOCK_MODULES) from .license import license as _license, copyright as _copyright # noqa: E402,F401 from .license import version as _version # noqa: E402,F401 __author__ = "Shane J. Latham" __license__ = _license() __copyright__ = _copyright() __version__ = _version() __all__ = [s for s in dir() if not s.startswith('_')]