1#!/usr/bin/env python3
2# -*- coding: utf-8 -*-
3#
4# aioquic documentation build configuration file, created by
5# sphinx-quickstart on Thu Feb  8 17:22:14 2018.
6#
7# This file is execfile()d with the current directory set to its
8# containing dir.
9#
10# Note that not all possible configuration values are present in this
11# autogenerated file.
12#
13# All configuration values have a default; values that are commented out
14# serve to show the default.
15
16import sys, os
17
18# If extensions (or modules to document with autodoc) are in another directory,
19# add these directories to sys.path here. If the directory is relative to the
20# documentation root, use os.path.abspath to make it absolute, like shown here.
21sys.path.insert(0, os.path.abspath('..'))
22
23
24class MockBuffer:
25    Buffer = None
26    BufferReadError = None
27    BufferWriteError = None
28
29
30class MockCrypto:
31    AEAD = None
32    CryptoError = ValueError
33    HeaderProtection = None
34
35
36class MockPylsqpack:
37    Decoder = None
38    Encoder = None
39    StreamBlocked = None
40
41
42sys.modules.update({
43    "aioquic._buffer": MockBuffer(),
44    "aioquic._crypto": MockCrypto(),
45    "pylsqpack": MockPylsqpack(),
46})
47
48# -- General configuration ------------------------------------------------
49
50# If your documentation needs a minimal Sphinx version, state it here.
51#
52# needs_sphinx = '1.0'
53
54# Add any Sphinx extension module names here, as strings. They can be
55# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
56# ones.
57extensions = [
58    'sphinx.ext.autodoc',
59    'sphinx.ext.intersphinx',
60    'sphinx_autodoc_typehints',
61    'sphinxcontrib.asyncio',
62]
63intersphinx_mapping = {
64    'cryptography': ('https://cryptography.io/en/latest', None),
65    'python': ('https://docs.python.org/3', None),
66}
67
68# Add any paths that contain templates here, relative to this directory.
69templates_path = ['_templates']
70
71# The suffix(es) of source filenames.
72# You can specify multiple suffix as a list of string:
73#
74# source_suffix = ['.rst', '.md']
75source_suffix = '.rst'
76
77# The master toctree document.
78master_doc = 'index'
79
80# General information about the project.
81project = 'aioquic'
82copyright = u'2019, Jeremy Lainé'
83author = u'Jeremy Lainé'
84
85# The version info for the project you're documenting, acts as replacement for
86# |version| and |release|, also used in various other places throughout the
87# built documents.
88#
89# The short X.Y version.
90version = ''
91# The full version, including alpha/beta/rc tags.
92release = ''
93
94# The language for content autogenerated by Sphinx. Refer to documentation
95# for a list of supported languages.
96#
97# This is also used if you do content translation via gettext catalogs.
98# Usually you set "language" from the command line for these cases.
99language = None
100
101# List of patterns, relative to source directory, that match files and
102# directories to ignore when looking for source files.
103# This patterns also effect to html_static_path and html_extra_path
104exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']
105
106# The name of the Pygments (syntax highlighting) style to use.
107pygments_style = 'sphinx'
108
109# If true, `todo` and `todoList` produce output, else they produce nothing.
110todo_include_todos = False
111
112
113# -- Options for HTML output ----------------------------------------------
114
115# The theme to use for HTML and HTML Help pages.  See the documentation for
116# a list of builtin themes.
117#
118html_theme = 'alabaster'
119
120# Theme options are theme-specific and customize the look and feel of a theme
121# further.  For a list of options available for each theme, see the
122# documentation.
123#
124html_theme_options = {
125    'description': 'A library for QUIC in Python.',
126    'github_button': True,
127    'github_user': 'aiortc',
128    'github_repo': 'aioquic',
129}
130
131# Add any paths that contain custom static files (such as style sheets) here,
132# relative to this directory. They are copied after the builtin static files,
133# so a file named "default.css" will overwrite the builtin "default.css".
134html_static_path = ['_static']
135
136# Custom sidebar templates, must be a dictionary that maps document names
137# to template names.
138#
139# This is required for the alabaster theme
140# refs: http://alabaster.readthedocs.io/en/latest/installation.html#sidebars
141html_sidebars = {
142    '**': [
143        'about.html',
144        'navigation.html',
145        'relations.html',
146        'searchbox.html',
147    ]
148}
149
150
151# -- Options for HTMLHelp output ------------------------------------------
152
153# Output file base name for HTML help builder.
154htmlhelp_basename = 'aioquicdoc'
155
156
157# -- Options for LaTeX output ---------------------------------------------
158
159latex_elements = {
160    # The paper size ('letterpaper' or 'a4paper').
161    #
162    # 'papersize': 'letterpaper',
163
164    # The font size ('10pt', '11pt' or '12pt').
165    #
166    # 'pointsize': '10pt',
167
168    # Additional stuff for the LaTeX preamble.
169    #
170    # 'preamble': '',
171
172    # Latex figure (float) alignment
173    #
174    # 'figure_align': 'htbp',
175}
176
177# Grouping the document tree into LaTeX files. List of tuples
178# (source start file, target name, title,
179#  author, documentclass [howto, manual, or own class]).
180latex_documents = [
181    (master_doc, 'aioquic.tex', 'aioquic Documentation',
182     author, 'manual'),
183]
184
185
186# -- Options for manual page output ---------------------------------------
187
188# One entry per manual page. List of tuples
189# (source start file, name, description, authors, manual section).
190man_pages = [
191    (master_doc, 'aioquic', 'aioquic Documentation',
192     [author], 1)
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    (master_doc, 'aioquic', 'aioquic Documentation',
203     author, 'aioquic', 'One line description of project.',
204     'Miscellaneous'),
205]
206