text: #!/usr/bin/env python3
  
  import sys
  import os
  from datetime import datetime
  sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..'))
  on_rtd = os.environ.get('READTHEDOCS', None) == 'True'
  import setup as _setup
  
  # Mock out certain modules while building documentation
  class Mock(object):
      __all__ = []
  
      def __init__(self, *args, **kw):
          pass
  
      def __call__(self, *args, **kw):
          return Mock()
  
      def __mul__(self, other):
          return Mock()
  
      def __and__(self, other):
          return Mock()
  
      def __bool__(self):
          return False
  
      def __nonzero__(self):
          return False
  
      @classmethod
      def __getattr__(cls, name):
          if name in ('__file__', '__path__'):
              return '/dev/null'
          else:
              return Mock()
  
  sys.modules['RPi'] = Mock()
  sys.modules['RPi.GPIO'] = sys.modules['RPi'].GPIO
  sys.modules['RPIO'] = Mock()
  sys.modules['RPIO.PWM'] = sys.modules['RPIO'].PWM
  sys.modules['RPIO.Exceptions'] = sys.modules['RPIO'].Exceptions
  sys.modules['pigpio'] = Mock()
  sys.modules['w1thermsensor'] = Mock()
  sys.modules['spidev'] = Mock()
  
  # -- General configuration ------------------------------------------------
  
  extensions = ['sphinx.ext.autodoc', 'sphinx.ext.viewcode', 'sphinx.ext.intersphinx']
  templates_path = ['_templates']
  source_suffix = '.rst'
  #source_encoding = 'utf-8-sig'
  master_doc = 'index'
  project = _setup.__project__.title()
  copyright = '2015-%s %s' % (datetime.now().year, _setup.__author__)
  version = _setup.__version__
  release = _setup.__version__
  #language = None
  #today_fmt = '%B %d, %Y'
  exclude_patterns = ['_build']
  highlight_language='python3'
  #default_role = None
  #add_function_parentheses = True
  #add_module_names = True
  #show_authors = False
  pygments_style = 'sphinx'
  #modindex_common_prefix = []
  #keep_warnings = False
  
  # -- Autodoc configuration ------------------------------------------------
  
  autodoc_member_order = 'groupwise'
  
  # -- Intersphinx configuration --------------------------------------------
  
  intersphinx_mapping = {
      'python': ('https://docs.python.org/3.5', None),
      'picamera': ('https://picamera.readthedocs.io/en/latest', None),
      }
  
  # -- Options for HTML output ----------------------------------------------
  
  if on_rtd:
      html_theme = 'sphinx_rtd_theme'
      #html_theme_options = {}
      #html_sidebars = {}
  else:
      html_theme = 'default'
      #html_theme_options = {}
      #html_sidebars = {}
  html_title = '%s %s Documentation' % (project, version)
  #html_theme_path = []
  #html_short_title = None
  #html_logo = None
  #html_favicon = None
  html_static_path = ['_static']
  #html_extra_path = []
  #html_last_updated_fmt = '%b %d, %Y'
  #html_use_smartypants = True
  #html_additional_pages = {}
  #html_domain_indices = True
  #html_use_index = True
  #html_split_index = False
  #html_show_sourcelink = True
  #html_show_sphinx = True
  #html_show_copyright = True
  #html_use_opensearch = ''
  #html_file_suffix = None
  htmlhelp_basename = '%sdoc' % _setup.__project__
  
  # Hack to make wide tables work properly in RTD
  # See https://github.com/snide/sphinx_rtd_theme/issues/117 for details
  #def setup(app):
  #    app.add_stylesheet('style_override.css')
  
  # -- Options for LaTeX output ---------------------------------------------
  
  latex_elements = {
      'papersize': 'a4paper',
      'pointsize': '10pt',
      'preamble': r'\def\thempfootnote{\arabic{mpfootnote}}', # workaround sphinx issue #2530
  }
  
  latex_documents = [
      (
          'index',                       # source start file
          '%s.tex' % _setup.__project__, # target filename
          '%s Documentation' % project,  # title
          _setup.__author__,             # author
          'manual',                      # documentclass
          True,                          # documents ref'd from toctree only
          ),
  ]
  
  #latex_logo = None
  #latex_use_parts = False
  latex_show_pagerefs = True
  latex_show_urls = 'footnote'
  #latex_appendices = []
  #latex_domain_indices = True
  
  # -- Options for epub output ----------------------------------------------
  
  epub_basename = _setup.__project__
  #epub_theme = 'epub'
  #epub_title = html_title
  epub_author = _setup.__author__
  epub_identifier = 'https://gpiozero.readthedocs.io/'
  #epub_tocdepth = 3
  epub_show_urls = 'no'
  #epub_use_index = True
  
  # -- Options for manual page output ---------------------------------------
  
  man_pages = [
      ('cli_pinout',  'pinout',      'GPIO Zero pinout tool',       [_setup.__author__], 1),
      ('remote_gpio', 'remote-gpio', 'GPIO Zero remote GPIO guide', [_setup.__author__], 7),
  ]
  
  man_show_urls = True
  
  # -- Options for Texinfo output -------------------------------------------
  
  texinfo_documents = []
  
  #texinfo_appendices = []
  #texinfo_domain_indices = True
  #texinfo_show_urls = 'footnote'
  #texinfo_no_detailmenu = False
  