text: # -*- coding: utf-8 -*-
  #
  # scipp documentation build configuration file, created by
  # sphinx-quickstart on Thu Apr  4 13:29:59 2019.
  #
  # This file is execfile()d with the current directory set to its
  # containing dir.
  #
  # Note that not all possible configuration values are present in this
  # autogenerated file.
  #
  # All configuration values have a default; values that are commented out
  # serve to show the default.
  
  # If extensions (or modules to document with autodoc) are in another directory,
  # add these directories to sys.path here. If the directory is relative to the
  # documentation root, use os.path.abspath to make it absolute, like shown here.
  #
  # import os
  # import sys
  # sys.path.insert(0, os.path.abspath('.'))
  
  import doctest
  
  # -- Doxygen build configuration
  
  import os
  
  html_show_sourcelink = True
  
  # -- General configuration ------------------------------------------------
  
  # If your documentation needs a minimal Sphinx version, state it here.
  #
  # needs_sphinx = '1.0'
  
  # Add any Sphinx extension module names here, as strings. They can be
  # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
  # ones.
  extensions = [
      'sphinx.ext.autodoc',
      'sphinx.ext.autosummary',
      'sphinx.ext.intersphinx',
      'sphinx.ext.mathjax',
      'sphinx.ext.doctest',
      'sphinx_copybutton',
      'IPython.sphinxext.ipython_directive',
      'IPython.sphinxext.ipython_console_highlighting',
      'nbsphinx',
  ]
  
  autodoc_typehints = 'description'
  
  autodoc_type_aliases = {
      'VariableLike': 'VariableLike',
      'MetaDataMap': 'MetaDataMap',
      'array_like': 'array_like',
  }
  
  rst_epilog = f"""
  .. |SCIPP_RELEASE_MONTH| replace:: {os.popen("git show -s --format=%cd --date=format:'%B %Y'").read()}
  .. |SCIPP_VERSION| replace:: {os.popen("git describe --tags --abbrev=0").read()}
  """  # noqa: E501
  
  intersphinx_mapping = {
      'python': ('https://docs.python.org/3', None),
      'numpy': ('https://numpy.org/doc/stable/', None),
      'xarray': ('https://xarray.pydata.org/en/stable/', None)
  }
  
  # autodocs includes everything, even irrelevant API internals. autosummary
  # looks more suitable in the long run when the API grows.
  # For a nice example see how xarray handles its API documentation.
  autosummary_generate = True
  
  # Add any paths that contain templates here, relative to this directory.
  templates_path = ['_templates']
  
  # The suffix(es) of source filenames.
  # You can specify multiple suffix as a list of string:
  #
  # source_suffix = ['.rst', '.md']
  source_suffix = '.rst'
  html_sourcelink_suffix = ''  # Avoid .ipynb.txt extensions in sources
  
  # The master toctree document.
  master_doc = 'index'
  
  # General information about the project.
  project = u'scipp'
  copyright = u'2021 Scipp contributors'
  author = u'Scipp contributors'
  
  # The version info for the project you're documenting, acts as replacement for
  # |version| and |release|, also used in various other places throughout the
  # built documents.
  #
  # The short X.Y version.
  version = u''
  # The full version, including alpha/beta/rc tags.
  release = u''
  
  warning_is_error = True
  
  # The language for content autogenerated by Sphinx. Refer to documentation
  # for a list of supported languages.
  #
  # This is also used if you do content translation via gettext catalogs.
  # Usually you set "language" from the command line for these cases.
  language = None
  
  # List of patterns, relative to source directory, that match files and
  # directories to ignore when looking for source files.
  # This patterns also effect to html_static_path and html_extra_path
  exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store', '**.ipynb_checkpoints']
  
  # The name of the Pygments (syntax highlighting) style to use.
  pygments_style = 'sphinx'
  
  # If true, `todo` and `todoList` produce output, else they produce nothing.
  todo_include_todos = False
  
  # -- Options for HTML output ----------------------------------------------
  
  # The theme to use for HTML and HTML Help pages.  See the documentation for
  # a list of builtin themes.
  #
  
  html_theme = 'sphinx_book_theme'
  
  # Theme options are theme-specific and customize the look and feel of a theme
  # further.  For a list of options available for each theme, see the
  # documentation.
  #
  html_theme_options = {
      "logo_only": True,
      "repository_url": "https://github.com/scipp/scipp",
      "repository_branch": "main",
      "path_to_docs": "docs",
      "use_repository_button": True,
      "use_issues_button": True,
      "use_edit_page_button": True,
      "show_toc_level": 2,  # Show subheadings in secondary sidebar
  }
  html_logo = "_static/logo-large-v4.png"
  html_favicon = "_static/favicon.ico"
  
  # Add any paths that contain custom static files (such as style sheets) here,
  # relative to this directory. They are copied after the builtin static files,
  # so a file named "default.css" will overwrite the builtin "default.css".
  html_static_path = ['_static']
  
  # -- Options for HTMLHelp output ------------------------------------------
  
  # Output file base name for HTML help builder.
  htmlhelp_basename = 'scippdoc'
  
  # -- Options for LaTeX output ---------------------------------------------
  
  latex_elements = {
      # The paper size ('letterpaper' or 'a4paper').
      #
      # 'papersize': 'letterpaper',
  
      # The font size ('10pt', '11pt' or '12pt').
      #
      # 'pointsize': '10pt',
  
      # Additional stuff for the LaTeX preamble.
      #
      # 'preamble': '',
  
      # Latex figure (float) alignment
      #
      # 'figure_align': 'htbp',
  }
  
  # Grouping the document tree into LaTeX files. List of tuples
  # (source start file, target name, title,
  #  author, documentclass [howto, manual, or own class]).
  latex_documents = [
      (master_doc, 'scipp.tex', u'scipp Documentation', u'Simon Heybrock', 'manual'),
  ]
  
  # -- Options for manual page output ---------------------------------------
  
  # One entry per manual page. List of tuples
  # (source start file, name, description, authors, manual section).
  man_pages = [(master_doc, 'scipp', u'scipp Documentation', [author], 1)]
  
  # -- Options for Texinfo output -------------------------------------------
  
  # Grouping the document tree into Texinfo files. List of tuples
  # (source start file, target name, title, author,
  #  dir menu entry, description, category)
  texinfo_documents = [
      (master_doc, 'scipp', u'scipp Documentation', author, 'scipp',
       'One line description of project.', 'Miscellaneous'),
  ]
  
  # -- Options for Matplotlib in notebooks ----------------------------------
  
  nbsphinx_execute_arguments = [
      "--Session.metadata=scipp_docs_build=True",
  ]
  
  # -- Options for doctest --------------------------------------------------
  
  doctest_global_setup = '''
  import numpy as np
  import scipp as sc
  '''
  
  # Using normalize whitespace because many __str__ functions in scipp produce
  # extraneous empty lines and it would look strange to include them in the docs.
  doctest_default_flags = doctest.ELLIPSIS | doctest.IGNORE_EXCEPTION_DETAIL | \
                          doctest.DONT_ACCEPT_TRUE_FOR_1 | \
                          doctest.NORMALIZE_WHITESPACE
  
  # -- Options for linkcheck ------------------------------------------------
  
  linkcheck_ignore = [
      # Specific lines in Github blobs cannot be found by linkcheck.
      r'https?://github\.com/.*?/blob/[a-f0-9]+/.+?#'
  ]
  