• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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