1# -*- coding: utf-8 -*- 2# Protocol Buffers - Google's data interchange format 3# Copyright 2019 Google LLC. All rights reserved. 4# https://developers.google.com/protocol-buffers/ 5# 6# Redistribution and use in source and binary forms, with or without 7# modification, are permitted provided that the following conditions are 8# met: 9# 10# * Redistributions of source code must retain the above copyright 11# notice, this list of conditions and the following disclaimer. 12# * Redistributions in binary form must reproduce the above 13# copyright notice, this list of conditions and the following disclaimer 14# in the documentation and/or other materials provided with the 15# distribution. 16# * Neither the name of Google Inc. nor the names of its 17# contributors may be used to endorse or promote products derived from 18# this software without specific prior written permission. 19# 20# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 21# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 22# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 23# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 24# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 25# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 26# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 27# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 28# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 29# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 30# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 31 32# Configuration file for the Sphinx documentation builder. 33# 34# This file does only contain a selection of the most common options. For a 35# full list see the documentation: 36# http://www.sphinx-doc.org/en/master/config 37 38# -- Path setup -------------------------------------------------------------- 39 40# If extensions (or modules to document with autodoc) are in another directory, 41# add these directories to sys.path here. If the directory is relative to the 42# documentation root, use os.path.abspath to make it absolute, like shown here. 43# 44import os 45# import sys 46# sys.path.insert(0, os.path.abspath('.')) 47import google.protobuf 48 49# -- Project information ----------------------------------------------------- 50 51project = u"Protocol Buffers" 52copyright = u"2008, Google LLC" 53author = u"Google LLC" 54 55# The short X.Y version 56version = u"" 57# The full version, including alpha/beta/rc tags 58release = google.protobuf.__version__ 59 60 61# -- General configuration --------------------------------------------------- 62 63# If your documentation needs a minimal Sphinx version, state it here. 64# 65# needs_sphinx = '1.0' 66 67# Add any Sphinx extension module names here, as strings. They can be 68# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom 69# ones. 70extensions = [ 71 "sphinx.ext.autosummary", 72 "sphinx.ext.ifconfig", 73 "sphinx.ext.intersphinx", 74 "sphinx.ext.napoleon", 75] 76 77# Add any paths that contain templates here, relative to this directory. 78templates_path = ["_templates"] 79 80# The suffix(es) of source filenames. 81# You can specify multiple suffix as a list of string: 82# 83# source_suffix = ['.rst', '.md'] 84source_suffix = ".rst" 85 86# The master toctree document. 87master_doc = "index" 88 89# The language for content autogenerated by Sphinx. Refer to documentation 90# for a list of supported languages. 91# 92# This is also used if you do content translation via gettext catalogs. 93# Usually you set "language" from the command line for these cases. 94language = None 95 96# List of patterns, relative to source directory, that match files and 97# directories to ignore when looking for source files. 98# This pattern also affects html_static_path and html_extra_path. 99exclude_patterns = [u"_build", "Thumbs.db", ".DS_Store"] 100 101# The name of the Pygments (syntax highlighting) style to use. 102pygments_style = None 103 104 105# -- Options for HTML output ------------------------------------------------- 106 107# The theme to use for HTML and HTML Help pages. See the documentation for 108# a list of builtin themes. 109# 110html_theme = "alabaster" 111 112# Remove JavaScript. 113html_js_files = [] 114 115# Theme options are theme-specific and customize the look and feel of a theme 116# further. For a list of options available for each theme, see the 117# documentation. 118# 119# html_theme_options = {} 120 121# Add any paths that contain custom static files (such as style sheets) here, 122# relative to this directory. They are copied after the builtin static files, 123# so a file named "default.css" will overwrite the builtin "default.css". 124html_static_path = ["_static"] 125 126html_show_sourcelink = True 127 128# Custom sidebar templates, must be a dictionary that maps document names 129# to template names. 130# 131# The default sidebars (for documents that don't match any pattern) are 132# defined by theme itself. Builtin themes are using these templates by 133# default: ``['localtoc.html', 'relations.html', 'sourcelink.html', 134# 'searchbox.html']``. 135 136# Remove searchbox.html to avoid embedded JavaScript. 137html_sidebars = { 138 "**": [ 139 "globaltoc.html", "localtoc.html", "relations.html", "sourcelink.html", 140 ], 141} 142 143 144# -- Options for HTMLHelp output --------------------------------------------- 145 146# Output file base name for HTML help builder. 147htmlhelp_basename = "ProtocolBuffersdoc" 148 149 150# -- Options for LaTeX output ------------------------------------------------ 151 152latex_elements = { 153 # The paper size ('letterpaper' or 'a4paper'). 154 # 155 # 'papersize': 'letterpaper', 156 # The font size ('10pt', '11pt' or '12pt'). 157 # 158 # 'pointsize': '10pt', 159 # Additional stuff for the LaTeX preamble. 160 # 161 # 'preamble': '', 162 # Latex figure (float) alignment 163 # 164 # 'figure_align': 'htbp', 165} 166 167# Grouping the document tree into LaTeX files. List of tuples 168# (source start file, target name, title, 169# author, documentclass [howto, manual, or own class]). 170latex_documents = [ 171 ( 172 master_doc, 173 "ProtocolBuffers.tex", 174 "Protocol Buffers Documentation", 175 "Google LLC", 176 "manual", 177 ) 178] 179 180 181# -- Options for manual page output ------------------------------------------ 182 183# One entry per manual page. List of tuples 184# (source start file, name, description, authors, manual section). 185man_pages = [ 186 ( 187 master_doc, # source start file 188 "protocolbuffers", # name 189 "Protocol Buffers Documentation", # description 190 [author], # authors 191 1, # manual section 192 ) 193] 194 195 196# -- Options for Texinfo output ---------------------------------------------- 197 198# Grouping the document tree into Texinfo files. List of tuples 199# (source start file, target name, title, author, 200# dir menu entry, description, category) 201texinfo_documents = [ 202 ( 203 master_doc, 204 "ProtocolBuffers", 205 u"Protocol Buffers Documentation", 206 author, 207 "ProtocolBuffers", 208 "One line description of project.", 209 "Miscellaneous", 210 ) 211] 212 213 214# -- Options for Epub output ------------------------------------------------- 215 216# Bibliographic Dublin Core info. 217epub_title = project 218 219# The unique identifier of the text. This can be a ISBN number 220# or the project homepage. 221# 222# epub_identifier = '' 223 224# A unique identification for the text. 225# 226# epub_uid = '' 227 228# A list of files that should not be packed into the epub file. 229epub_exclude_files = ["search.html"] 230 231 232# -- Extension configuration ------------------------------------------------- 233 234# -- Options for autosummary extension --------------------------------------- 235autosummary_generate = True 236 237# -- Options for intersphinx extension --------------------------------------- 238 239# Example configuration for intersphinx: refer to the Python standard library. 240intersphinx_mapping = {"https://docs.python.org/": None} 241 242# -- Config values ----------------------------------------------------------- 243# The setup() function is needed to add configuration values to the Sphinx 244# builder. We use this to show a banner when built on Read the Docs. 245# https://www.sphinx-doc.org/en/master/usage/extensions/ifconfig.html 246 247def setup(app): 248 app.add_config_value( 249 "build_env", 250 # Read the Docs sets a READTHEDOCS environment during builds. 251 # https://docs.readthedocs.io/en/stable/builds.html#build-environment 252 "readthedocs" if os.getenv("READTHEDOCS") else "", 253 "env" 254 ) 255