mirror of
https://github.com/python/cpython.git
synced 2024-11-28 08:20:55 +01:00
f7614d55a2
- based on pip and other PyPA tools - includes references to the new Python Packaging User Guide where appropriate (and the relevant section is at least partially filled in) - started new FAQ sections - both guides aim to introduce users to basic open source concepts if they aren't aware of them - existing guides have been relocated (now linked from the distutils docs) rather then removed, since there is some needed material that has yet to be relocated to the distutils docs as a reference for the legacy formats
199 lines
5.9 KiB
Python
199 lines
5.9 KiB
Python
#
|
|
# Python documentation build configuration file
|
|
#
|
|
# This file is execfile()d with the current directory set to its containing dir.
|
|
#
|
|
# The contents of this file are pickled, so don't put values in the namespace
|
|
# that aren't pickleable (module imports are okay, they're removed automatically).
|
|
|
|
import sys, os, time
|
|
sys.path.append(os.path.abspath('tools/sphinxext'))
|
|
|
|
# General configuration
|
|
# ---------------------
|
|
|
|
extensions = ['sphinx.ext.coverage', 'sphinx.ext.doctest',
|
|
'pyspecific', 'c_annotations']
|
|
templates_path = ['tools/sphinxext']
|
|
|
|
# General substitutions.
|
|
project = 'Python'
|
|
copyright = '1990-%s, Python Software Foundation' % time.strftime('%Y')
|
|
|
|
# The default replacements for |version| and |release|.
|
|
#
|
|
# The short X.Y version.
|
|
# version = '2.6'
|
|
# The full version, including alpha/beta/rc tags.
|
|
# release = '2.6a0'
|
|
|
|
# We look for the Include/patchlevel.h file in the current Python source tree
|
|
# and replace the values accordingly.
|
|
import patchlevel
|
|
version, release = patchlevel.get_version_info()
|
|
|
|
# There are two options for replacing |today|: either, you set today to some
|
|
# non-false value, then it is used:
|
|
today = ''
|
|
# Else, today_fmt is used as the format for a strftime call.
|
|
today_fmt = '%B %d, %Y'
|
|
|
|
# List of files that shouldn't be included in the build.
|
|
unused_docs = [
|
|
'maclib/scrap',
|
|
'library/xmllib',
|
|
'library/xml.etree',
|
|
]
|
|
|
|
# Ignore .rst in Sphinx its self.
|
|
exclude_trees = ['tools/sphinx']
|
|
|
|
# Relative filename of the reference count data file.
|
|
refcount_file = 'data/refcounts.dat'
|
|
|
|
# If true, '()' will be appended to :func: etc. cross-reference text.
|
|
add_function_parentheses = True
|
|
|
|
# If true, the current module name will be prepended to all description
|
|
# unit titles (such as .. function::).
|
|
add_module_names = True
|
|
|
|
# By default, highlight as Python 3.
|
|
highlight_language = 'python3'
|
|
|
|
needs_sphinx = '1.1'
|
|
|
|
|
|
# Options for HTML output
|
|
# -----------------------
|
|
|
|
html_theme = 'pydoctheme'
|
|
html_theme_path = ['tools/sphinxext']
|
|
html_theme_options = {'collapsiblesidebar': True}
|
|
|
|
html_short_title = '%s Documentation' % release
|
|
|
|
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
|
|
# using the given strftime format.
|
|
html_last_updated_fmt = '%b %d, %Y'
|
|
|
|
# If true, SmartyPants will be used to convert quotes and dashes to
|
|
# typographically correct entities.
|
|
html_use_smartypants = True
|
|
|
|
# Custom sidebar templates, filenames relative to this file.
|
|
html_sidebars = {
|
|
'index': 'indexsidebar.html',
|
|
}
|
|
|
|
# Additional templates that should be rendered to pages.
|
|
html_additional_pages = {
|
|
'download': 'download.html',
|
|
'index': 'indexcontent.html',
|
|
}
|
|
|
|
# Output an OpenSearch description file.
|
|
html_use_opensearch = 'http://docs.python.org/' + version
|
|
|
|
# Additional static files.
|
|
html_static_path = ['tools/sphinxext/static']
|
|
|
|
# Output file base name for HTML help builder.
|
|
htmlhelp_basename = 'python' + release.replace('.', '')
|
|
|
|
# Split the index
|
|
html_split_index = True
|
|
|
|
|
|
# Options for LaTeX output
|
|
# ------------------------
|
|
|
|
# The paper size ('letter' or 'a4').
|
|
latex_paper_size = 'a4'
|
|
|
|
# The font size ('10pt', '11pt' or '12pt').
|
|
latex_font_size = '10pt'
|
|
|
|
# Grouping the document tree into LaTeX files. List of tuples
|
|
# (source start file, target name, title, author, document class [howto/manual]).
|
|
_stdauthor = r'Guido van Rossum\\Fred L. Drake, Jr., editor'
|
|
latex_documents = [
|
|
('c-api/index', 'c-api.tex',
|
|
'The Python/C API', _stdauthor, 'manual'),
|
|
('distributing/index', 'distributing.tex',
|
|
'Distributing Python Modules', _stdauthor, 'manual'),
|
|
('extending/index', 'extending.tex',
|
|
'Extending and Embedding Python', _stdauthor, 'manual'),
|
|
('installing/index', 'installing.tex',
|
|
'Installing Python Modules', _stdauthor, 'manual'),
|
|
('library/index', 'library.tex',
|
|
'The Python Library Reference', _stdauthor, 'manual'),
|
|
('reference/index', 'reference.tex',
|
|
'The Python Language Reference', _stdauthor, 'manual'),
|
|
('tutorial/index', 'tutorial.tex',
|
|
'Python Tutorial', _stdauthor, 'manual'),
|
|
('using/index', 'using.tex',
|
|
'Python Setup and Usage', _stdauthor, 'manual'),
|
|
('faq/index', 'faq.tex',
|
|
'Python Frequently Asked Questions', _stdauthor, 'manual'),
|
|
('whatsnew/' + version, 'whatsnew.tex',
|
|
'What\'s New in Python', 'A. M. Kuchling', 'howto'),
|
|
]
|
|
# Collect all HOWTOs individually
|
|
latex_documents.extend(('howto/' + fn[:-4], 'howto-' + fn[:-4] + '.tex',
|
|
'', _stdauthor, 'howto')
|
|
for fn in os.listdir('howto')
|
|
if fn.endswith('.rst') and fn != 'index.rst')
|
|
|
|
# Additional stuff for the LaTeX preamble.
|
|
latex_preamble = r'''
|
|
\authoraddress{
|
|
\strong{Python Software Foundation}\\
|
|
Email: \email{docs@python.org}
|
|
}
|
|
\let\Verbatim=\OriginalVerbatim
|
|
\let\endVerbatim=\endOriginalVerbatim
|
|
'''
|
|
|
|
# Documents to append as an appendix to all manuals.
|
|
latex_appendices = ['glossary', 'about', 'license', 'copyright']
|
|
|
|
# Get LaTeX to handle Unicode correctly
|
|
latex_elements = {'inputenc': r'\usepackage[utf8x]{inputenc}', 'utf8extra': ''}
|
|
|
|
# Options for the coverage checker
|
|
# --------------------------------
|
|
|
|
# The coverage checker will ignore all modules/functions/classes whose names
|
|
# match any of the following regexes (using re.match).
|
|
coverage_ignore_modules = [
|
|
r'[T|t][k|K]',
|
|
r'Tix',
|
|
r'distutils.*',
|
|
]
|
|
|
|
coverage_ignore_functions = [
|
|
'test($|_)',
|
|
]
|
|
|
|
coverage_ignore_classes = [
|
|
]
|
|
|
|
# Glob patterns for C source files for C API coverage, relative to this directory.
|
|
coverage_c_path = [
|
|
'../Include/*.h',
|
|
]
|
|
|
|
# Regexes to find C items in the source files.
|
|
coverage_c_regexes = {
|
|
'cfunction': (r'^PyAPI_FUNC\(.*\)\s+([^_][\w_]+)'),
|
|
'data': (r'^PyAPI_DATA\(.*\)\s+([^_][\w_]+)'),
|
|
'macro': (r'^#define ([^_][\w_]+)\(.*\)[\s|\\]'),
|
|
}
|
|
|
|
# The coverage checker will ignore all C items whose names match these regexes
|
|
# (using re.match) -- the keys must be the same as in coverage_c_regexes.
|
|
coverage_ignore_c_items = {
|
|
# 'cfunction': [...]
|
|
}
|