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