274 lines
8.6 KiB
Python
Executable file
274 lines
8.6 KiB
Python
Executable file
# -*- coding: utf-8 -*-
|
|
|
|
import sys, os, re
|
|
|
|
# Check Sphinx version
|
|
import sphinx
|
|
if sphinx.__version__ < "0.5":
|
|
raise RuntimeError("Sphinx 0.5.dev or newer required")
|
|
|
|
# -----------------------------------------------------------------------------
|
|
# General configuration
|
|
# -----------------------------------------------------------------------------
|
|
|
|
# Add any Sphinx extension module names here, as strings. They can be extensions
|
|
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
|
|
|
|
sys.path.insert(0, os.path.abspath('../sphinxext'))
|
|
|
|
extensions = ['sphinx.ext.autodoc', 'sphinx.ext.pngmath', 'numpydoc',
|
|
'sphinx.ext.intersphinx', 'sphinx.ext.coverage',
|
|
'sphinx.ext.doctest',
|
|
'plot_directive']
|
|
|
|
if sphinx.__version__ >= "0.7":
|
|
extensions.append('sphinx.ext.autosummary')
|
|
else:
|
|
extensions.append('autosummary')
|
|
extensions.append('only_directives')
|
|
|
|
# Add any paths that contain templates here, relative to this directory.
|
|
templates_path = ['_templates']
|
|
|
|
# The suffix of source filenames.
|
|
source_suffix = '.rst'
|
|
|
|
# The master toctree document.
|
|
#master_doc = 'index'
|
|
|
|
# General substitutions.
|
|
project = 'NumPy'
|
|
copyright = '2008-2009, The Scipy community'
|
|
|
|
# The default replacements for |version| and |release|, also used in various
|
|
# other places throughout the built documents.
|
|
#
|
|
import numpy
|
|
# The short X.Y version (including .devXXXX, rcX, b1 suffixes if present)
|
|
version = re.sub(r'(\d+\.\d+)\.\d+(.*)', r'\1\2', numpy.__version__)
|
|
version = re.sub(r'(\.dev\d+).*?$', r'\1', version)
|
|
# The full version, including alpha/beta/rc tags.
|
|
release = numpy.__version__
|
|
print version, release
|
|
|
|
# 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 documents that shouldn't be included in the build.
|
|
#unused_docs = []
|
|
|
|
# The reST default role (used for this markup: `text`) to use for all documents.
|
|
default_role = "autolink"
|
|
|
|
# List of directories, relative to source directories, that shouldn't be searched
|
|
# for source files.
|
|
exclude_dirs = []
|
|
|
|
# If true, '()' will be appended to :func: etc. cross-reference text.
|
|
add_function_parentheses = False
|
|
|
|
# If true, the current module name will be prepended to all description
|
|
# unit titles (such as .. function::).
|
|
#add_module_names = True
|
|
|
|
# If true, sectionauthor and moduleauthor directives will be shown in the
|
|
# output. They are ignored by default.
|
|
#show_authors = False
|
|
|
|
# The name of the Pygments (syntax highlighting) style to use.
|
|
pygments_style = 'sphinx'
|
|
|
|
|
|
# -----------------------------------------------------------------------------
|
|
# HTML output
|
|
# -----------------------------------------------------------------------------
|
|
|
|
# The style sheet to use for HTML and HTML Help pages. A file of that name
|
|
# must exist either in Sphinx' static/ path, or in one of the custom paths
|
|
# given in html_static_path.
|
|
html_style = 'scipy.css'
|
|
|
|
# The name for this set of Sphinx documents. If None, it defaults to
|
|
# "<project> v<release> documentation".
|
|
html_title = "%s v%s Manual (DRAFT)" % (project, version)
|
|
|
|
# The name of an image file (within the static path) to place at the top of
|
|
# the sidebar.
|
|
html_logo = 'scipyshiny_small.png'
|
|
|
|
# Add any paths that contain custom static files (such as style sheets) here,
|
|
# relative to this directory. They are copied after the builtin static files,
|
|
# so a file named "default.css" will overwrite the builtin "default.css".
|
|
html_static_path = ['_static']
|
|
|
|
# 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, maps document names to template names.
|
|
html_sidebars = {
|
|
'index': 'indexsidebar.html'
|
|
}
|
|
|
|
# Additional templates that should be rendered to pages, maps page names to
|
|
# template names.
|
|
html_additional_pages = {
|
|
'index': 'indexcontent.html',
|
|
}
|
|
|
|
# If false, no module index is generated.
|
|
html_use_modindex = True
|
|
|
|
# If true, the reST sources are included in the HTML build as _sources/<name>.
|
|
#html_copy_source = True
|
|
|
|
# If true, an OpenSearch description file will be output, and all pages will
|
|
# contain a <link> tag referring to it. The value of this option must be the
|
|
# base URL from which the finished HTML is served.
|
|
#html_use_opensearch = ''
|
|
|
|
# If nonempty, this is the file name suffix for HTML files (e.g. ".html").
|
|
#html_file_suffix = '.html'
|
|
|
|
# Output file base name for HTML help builder.
|
|
htmlhelp_basename = 'numpy'
|
|
|
|
# Pngmath should try to align formulas properly
|
|
pngmath_use_preview = True
|
|
|
|
|
|
# -----------------------------------------------------------------------------
|
|
# LaTeX output
|
|
# -----------------------------------------------------------------------------
|
|
|
|
# The paper size ('letter' or 'a4').
|
|
#latex_paper_size = 'letter'
|
|
|
|
# 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 = 'Written by the NumPy community'
|
|
latex_documents = [
|
|
('reference/index', 'numpy-ref.tex', 'NumPy Reference',
|
|
_stdauthor, 'manual'),
|
|
('user/index', 'numpy-user.tex', 'NumPy User Guide',
|
|
_stdauthor, 'manual'),
|
|
]
|
|
|
|
# The name of an image file (relative to this directory) to place at the top of
|
|
# the title page.
|
|
#latex_logo = None
|
|
|
|
# For "manual" documents, if this is true, then toplevel headings are parts,
|
|
# not chapters.
|
|
#latex_use_parts = False
|
|
|
|
# Additional stuff for the LaTeX preamble.
|
|
latex_preamble = r'''
|
|
\usepackage{amsmath}
|
|
\DeclareUnicodeCharacter{00A0}{\nobreakspace}
|
|
|
|
% In the parameters section, place a newline after the Parameters
|
|
% header
|
|
\usepackage{expdlist}
|
|
\let\latexdescription=\description
|
|
\def\description{\latexdescription{}{} \breaklabel}
|
|
|
|
% Make Examples/etc section headers smaller and more compact
|
|
\makeatletter
|
|
\titleformat{\paragraph}{\normalsize\py@HeaderFamily}%
|
|
{\py@TitleColor}{0em}{\py@TitleColor}{\py@NormalColor}
|
|
\titlespacing*{\paragraph}{0pt}{1ex}{0pt}
|
|
\makeatother
|
|
|
|
% Fix footer/header
|
|
\renewcommand{\chaptermark}[1]{\markboth{\MakeUppercase{\thechapter.\ #1}}{}}
|
|
\renewcommand{\sectionmark}[1]{\markright{\MakeUppercase{\thesection.\ #1}}}
|
|
'''
|
|
|
|
# Documents to append as an appendix to all manuals.
|
|
#latex_appendices = []
|
|
|
|
# If false, no module index is generated.
|
|
latex_use_modindex = False
|
|
|
|
|
|
# -----------------------------------------------------------------------------
|
|
# Intersphinx configuration
|
|
# -----------------------------------------------------------------------------
|
|
intersphinx_mapping = {'http://docs.python.org/dev': None}
|
|
|
|
|
|
# -----------------------------------------------------------------------------
|
|
# Numpy extensions
|
|
# -----------------------------------------------------------------------------
|
|
|
|
# If we want to do a phantom import from an XML file for all autodocs
|
|
phantom_import_file = 'dump.xml'
|
|
|
|
# Make numpydoc to generate plots for example sections
|
|
numpydoc_use_plots = True
|
|
|
|
# -----------------------------------------------------------------------------
|
|
# Autosummary
|
|
# -----------------------------------------------------------------------------
|
|
|
|
if sphinx.__version__ >= "0.7":
|
|
import glob
|
|
autosummary_generate = glob.glob("reference/*.rst")
|
|
|
|
# -----------------------------------------------------------------------------
|
|
# Coverage checker
|
|
# -----------------------------------------------------------------------------
|
|
coverage_ignore_modules = r"""
|
|
""".split()
|
|
coverage_ignore_functions = r"""
|
|
test($|_) (some|all)true bitwise_not cumproduct pkgload
|
|
generic\.
|
|
""".split()
|
|
coverage_ignore_classes = r"""
|
|
""".split()
|
|
|
|
coverage_c_path = []
|
|
coverage_c_regexes = {}
|
|
coverage_ignore_c_items = {}
|
|
|
|
|
|
# -----------------------------------------------------------------------------
|
|
# Plots
|
|
# -----------------------------------------------------------------------------
|
|
plot_pre_code = """
|
|
import numpy as np
|
|
np.random.seed(0)
|
|
"""
|
|
plot_include_source = True
|
|
plot_formats = [('png', 100), 'pdf']
|
|
|
|
import math
|
|
phi = (math.sqrt(5) + 1)/2
|
|
|
|
import matplotlib
|
|
matplotlib.rcParams.update({
|
|
'font.size': 8,
|
|
'axes.titlesize': 8,
|
|
'axes.labelsize': 8,
|
|
'xtick.labelsize': 8,
|
|
'ytick.labelsize': 8,
|
|
'legend.fontsize': 8,
|
|
'figure.figsize': (3*phi, 3),
|
|
'figure.subplot.bottom': 0.2,
|
|
'figure.subplot.left': 0.2,
|
|
'figure.subplot.right': 0.9,
|
|
'figure.subplot.top': 0.85,
|
|
'figure.subplot.wspace': 0.4,
|
|
'text.usetex': False,
|
|
})
|