# Configuration file for the Sphinx documentation builder. # # For the full list of built-in configuration values, see the documentation: # https://www.sphinx-doc.org/en/master/usage/configuration.html # -- Project information ----------------------------------------------------- # https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information import os import sys sys.path.insert(0, os.path.abspath('..')) print(sys.path) project = 'ews-coordinator' author = 'Gilligan lab' # -- General configuration --------------------------------------------------- # https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration extensions = [ 'sphinx.ext.duration', 'sphinx.ext.doctest', 'sphinx.ext.autodoc', 'sphinx.ext.autosummary', 'sphinx.ext.intersphinx', # Link to other project's documentation (see mapping below) 'sphinx.ext.viewcode', # Add a link to the Python source code for classes, functions etc. 'sphinx_autodoc_typehints', # Automatically document param types (less noise in class signature) 'IPython.sphinxext.ipython_console_highlighting' ] # Mappings for sphinx.ext.intersphinx. Projects have to have Sphinx-generated doc! (.inv file) intersphinx_mapping = { "python": ("https://docs.python.org/3/", None), } autodoc_default_options = { "private-members": True } autosummary_generate = True # Turn on sphinx.ext.autosummary autoclass_content = "both" # Add __init__ doc (ie. params) to class summaries html_show_sourcelink = False # Remove 'view source code' from top of page (for html, not python) autodoc_inherit_docstrings = True # If no docstring, inherit from base class autodoc_typehints_description_target = "documented" set_type_checking_flag = True # Enable 'expensive' imports for sphinx_autodoc_typehints nbsphinx_allow_errors = True autodoc_typehints = "description" # Sphinx-native method. Not as good as sphinx_autodoc_typehints add_module_names = False # Remove namespaces from class/method signatures templates_path = ['_templates'] exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] # Readthedocs theme # on_rtd is whether on readthedocs.org, this line of code grabbed from docs.readthedocs.org... on_rtd = os.environ.get("READTHEDOCS", None) == "True" if not on_rtd: # only import and set the theme if we're building docs locally import sphinx_rtd_theme html_theme = "sphinx_rtd_theme" html_theme_path = [sphinx_rtd_theme.get_html_theme_path()] html_css_files = ["readthedocs-custom.css"] # Override some CSS settings # html_theme = 'alabaster' html_static_path = ['_static'] # # This is the expected signature of the handler for this event, cf doc # def autodoc_skip_member_handler(app, what, name, obj, skip, options): # # Basic approach; you might want a regex instead # print("got it" + name) # return name.startswith("test_") # # # # Automatically called by sphinx at startup # def setup(app): # # Connect the autodoc-skip-member event from apidoc to the callback # app.connect('autodoc-skip-member', autodoc_skip_member_handler) # customised the css to make the pages wider def setup(app): app.add_css_file('css/extra.css')