summaryrefslogtreecommitdiff
path: root/lib/spack/docs/conf.py
diff options
context:
space:
mode:
authorTodd Gamblin <tgamblin@llnl.gov>2022-07-30 15:19:18 -0700
committerTodd Gamblin <tgamblin@llnl.gov>2022-07-31 13:29:20 -0700
commitf52f6e99dbf1131886a80112b8c79dfc414afb7c (patch)
tree05cb7d64b2395922f2f24683da49f472075be12c /lib/spack/docs/conf.py
parent549ba1ed32372c67fc57271cde3797d58b7dec6e (diff)
downloadspack-f52f6e99dbf1131886a80112b8c79dfc414afb7c.tar.gz
spack-f52f6e99dbf1131886a80112b8c79dfc414afb7c.tar.bz2
spack-f52f6e99dbf1131886a80112b8c79dfc414afb7c.tar.xz
spack-f52f6e99dbf1131886a80112b8c79dfc414afb7c.zip
black: reformat entire repository with black
Diffstat (limited to 'lib/spack/docs/conf.py')
-rw-r--r--lib/spack/docs/conf.py237
1 files changed, 124 insertions, 113 deletions
diff --git a/lib/spack/docs/conf.py b/lib/spack/docs/conf.py
index 48746d149e..c29951154f 100644
--- a/lib/spack/docs/conf.py
+++ b/lib/spack/docs/conf.py
@@ -32,37 +32,39 @@ from sphinx.parsers import RSTParser
# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
-sys.path.insert(0, os.path.abspath('_spack_root/lib/spack/external'))
-sys.path.insert(0, os.path.abspath('_spack_root/lib/spack/external/pytest-fallback'))
+sys.path.insert(0, os.path.abspath("_spack_root/lib/spack/external"))
+sys.path.insert(0, os.path.abspath("_spack_root/lib/spack/external/pytest-fallback"))
if sys.version_info[0] < 3:
- sys.path.insert(
- 0, os.path.abspath('_spack_root/lib/spack/external/yaml/lib'))
+ sys.path.insert(0, os.path.abspath("_spack_root/lib/spack/external/yaml/lib"))
else:
- sys.path.insert(
- 0, os.path.abspath('_spack_root/lib/spack/external/yaml/lib3'))
+ sys.path.insert(0, os.path.abspath("_spack_root/lib/spack/external/yaml/lib3"))
-sys.path.append(os.path.abspath('_spack_root/lib/spack/'))
+sys.path.append(os.path.abspath("_spack_root/lib/spack/"))
# Add the Spack bin directory to the path so that we can use its output in docs.
-os.environ['SPACK_ROOT'] = os.path.abspath('_spack_root')
-os.environ['PATH'] += "%s%s" % (os.pathsep, os.path.abspath('_spack_root/bin'))
+os.environ["SPACK_ROOT"] = os.path.abspath("_spack_root")
+os.environ["PATH"] += "%s%s" % (os.pathsep, os.path.abspath("_spack_root/bin"))
# Set an environment variable so that colify will print output like it would to
# a terminal.
-os.environ['COLIFY_SIZE'] = '25x120'
-os.environ['COLUMNS'] = '120'
+os.environ["COLIFY_SIZE"] = "25x120"
+os.environ["COLUMNS"] = "120"
# Generate full package list if needed
-subprocess.call([
- 'spack', 'list', '--format=html', '--update=package_list.html'])
+subprocess.call(["spack", "list", "--format=html", "--update=package_list.html"])
# Generate a command index if an update is needed
-subprocess.call([
- 'spack', 'commands',
- '--format=rst',
- '--header=command_index.in',
- '--update=command_index.rst'] + glob('*rst'))
+subprocess.call(
+ [
+ "spack",
+ "commands",
+ "--format=rst",
+ "--header=command_index.in",
+ "--update=command_index.rst",
+ ]
+ + glob("*rst")
+)
#
# Run sphinx-apidoc
@@ -72,12 +74,12 @@ subprocess.call([
# Without this, the API Docs will never actually update
#
apidoc_args = [
- '--force', # Overwrite existing files
- '--no-toc', # Don't create a table of contents file
- '--output-dir=.', # Directory to place all output
+ "--force", # Overwrite existing files
+ "--no-toc", # Don't create a table of contents file
+ "--output-dir=.", # Directory to place all output
]
-sphinx_apidoc(apidoc_args + ['_spack_root/lib/spack/spack'])
-sphinx_apidoc(apidoc_args + ['_spack_root/lib/spack/llnl'])
+sphinx_apidoc(apidoc_args + ["_spack_root/lib/spack/spack"])
+sphinx_apidoc(apidoc_args + ["_spack_root/lib/spack/llnl"])
# Enable todo items
todo_include_todos = True
@@ -87,10 +89,12 @@ todo_include_todos = True
#
class PatchedPythonDomain(PythonDomain):
def resolve_xref(self, env, fromdocname, builder, typ, target, node, contnode):
- if 'refspecific' in node:
- del node['refspecific']
+ if "refspecific" in node:
+ del node["refspecific"]
return super(PatchedPythonDomain, self).resolve_xref(
- env, fromdocname, builder, typ, target, node, contnode)
+ env, fromdocname, builder, typ, target, node, contnode
+ )
+
#
# Disable tabs to space expansion in code blocks
@@ -103,51 +107,57 @@ class NoTabExpansionRSTParser(RSTParser):
inputstring = StringList(lines, document.current_source)
super().parse(inputstring, document)
+
def setup(sphinx):
sphinx.add_domain(PatchedPythonDomain, override=True)
sphinx.add_source_parser(NoTabExpansionRSTParser, override=True)
+
# -- General configuration -----------------------------------------------------
# If your documentation needs a minimal Sphinx version, state it here.
-needs_sphinx = '3.4'
+needs_sphinx = "3.4"
# Add any Sphinx extension module names here, as strings. They can be extensions
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
extensions = [
- 'sphinx.ext.autodoc',
- 'sphinx.ext.graphviz',
- 'sphinx.ext.intersphinx',
- 'sphinx.ext.napoleon',
- 'sphinx.ext.todo',
- 'sphinx.ext.viewcode',
- 'sphinxcontrib.programoutput',
+ "sphinx.ext.autodoc",
+ "sphinx.ext.graphviz",
+ "sphinx.ext.intersphinx",
+ "sphinx.ext.napoleon",
+ "sphinx.ext.todo",
+ "sphinx.ext.viewcode",
+ "sphinxcontrib.programoutput",
]
# Set default graphviz options
graphviz_dot_args = [
- '-Grankdir=LR', '-Gbgcolor=transparent',
- '-Nshape=box', '-Nfontname=monaco', '-Nfontsize=10']
+ "-Grankdir=LR",
+ "-Gbgcolor=transparent",
+ "-Nshape=box",
+ "-Nfontname=monaco",
+ "-Nfontsize=10",
+]
# Get nice vector graphics
graphviz_output_format = "svg"
# Add any paths that contain templates here, relative to this directory.
-templates_path = ['_templates']
+templates_path = ["_templates"]
# The suffix of source filenames.
-source_suffix = '.rst'
+source_suffix = ".rst"
# The encoding of source files.
-source_encoding = 'utf-8-sig'
+source_encoding = "utf-8-sig"
# The master toctree document.
-master_doc = 'index'
+master_doc = "index"
# General information about the project.
-project = u'Spack'
-copyright = u'2013-2021, Lawrence Livermore National Laboratory.'
+project = u"Spack"
+copyright = u"2013-2021, Lawrence Livermore National Laboratory."
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
@@ -156,16 +166,16 @@ copyright = u'2013-2021, Lawrence Livermore National Laboratory.'
# The short X.Y version.
import spack
-version = '.'.join(str(s) for s in spack.spack_version_info[:2])
+version = ".".join(str(s) for s in spack.spack_version_info[:2])
# The full version, including alpha/beta/rc tags.
release = spack.spack_version
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
-#language = None
+# language = None
# Places to look for .po/.mo files for doc translations
-#locale_dirs = []
+# locale_dirs = []
# Sphinx gettext settings
gettext_compact = True
@@ -173,41 +183,41 @@ gettext_uuid = False
# There are two options for replacing |today|: either, you set today to some
# non-false value, then it is used:
-#today = ''
+# today = ''
# Else, today_fmt is used as the format for a strftime call.
-#today_fmt = '%B %d, %Y'
+# today_fmt = '%B %d, %Y'
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
-exclude_patterns = ['_build', '_spack_root', '.spack-env']
+exclude_patterns = ["_build", "_spack_root", ".spack-env"]
nitpicky = True
nitpick_ignore = [
# Python classes that intersphinx is unable to resolve
- ('py:class', 'argparse.HelpFormatter'),
- ('py:class', 'contextlib.contextmanager'),
- ('py:class', 'module'),
- ('py:class', '_io.BufferedReader'),
- ('py:class', 'unittest.case.TestCase'),
- ('py:class', '_frozen_importlib_external.SourceFileLoader'),
+ ("py:class", "argparse.HelpFormatter"),
+ ("py:class", "contextlib.contextmanager"),
+ ("py:class", "module"),
+ ("py:class", "_io.BufferedReader"),
+ ("py:class", "unittest.case.TestCase"),
+ ("py:class", "_frozen_importlib_external.SourceFileLoader"),
# Spack classes that are private and we don't want to expose
- ('py:class', 'spack.provider_index._IndexBase'),
- ('py:class', 'spack.repo._PrependFileLoader'),
+ ("py:class", "spack.provider_index._IndexBase"),
+ ("py:class", "spack.repo._PrependFileLoader"),
]
# The reST default role (used for this markup: `text`) to use for all documents.
-#default_role = None
+# default_role = None
# If true, '()' will be appended to :func: etc. cross-reference text.
-#add_function_parentheses = True
+# 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
+# add_module_names = True
# If true, sectionauthor and moduleauthor directives will be shown in the
# output. They are ignored by default.
-#show_authors = False
+# show_authors = False
# The name of the Pygments (syntax highlighting) style to use.
# We use our own extension of the default style with a few modifications
@@ -218,156 +228,151 @@ from pygments.token import Comment, Generic, Text
class SpackStyle(DefaultStyle):
styles = DefaultStyle.styles.copy()
- background_color = "#f4f4f8"
+ background_color = "#f4f4f8"
styles[Generic.Output] = "#355"
styles[Generic.Prompt] = "bold #346ec9"
+
import pkg_resources
dist = pkg_resources.Distribution(__file__)
-sys.path.append('.') # make 'conf' module findable
-ep = pkg_resources.EntryPoint.parse('spack = conf:SpackStyle', dist=dist)
-dist._ep_map = {'pygments.styles': {'plugin1': ep}}
+sys.path.append(".") # make 'conf' module findable
+ep = pkg_resources.EntryPoint.parse("spack = conf:SpackStyle", dist=dist)
+dist._ep_map = {"pygments.styles": {"plugin1": ep}}
pkg_resources.working_set.add(dist)
-pygments_style = 'spack'
+pygments_style = "spack"
# A list of ignored prefixes for module index sorting.
-#modindex_common_prefix = []
+# modindex_common_prefix = []
# -- Options for HTML output ---------------------------------------------------
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
-html_theme = 'sphinx_rtd_theme'
+html_theme = "sphinx_rtd_theme"
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
# documentation.
-html_theme_options = { 'logo_only' : True }
+html_theme_options = {"logo_only": True}
# Add any paths that contain custom themes here, relative to this directory.
# html_theme_path = ["_themes"]
# The name for this set of Sphinx documents. If None, it defaults to
# "<project> v<release> documentation".
-#html_title = None
+# html_title = None
# A shorter title for the navigation bar. Default is the same as html_title.
-#html_short_title = None
+# html_short_title = None
# The name of an image file (relative to this directory) to place at the top
# of the sidebar.
-html_logo = '_spack_root/share/spack/logo/spack-logo-white-text.svg'
+html_logo = "_spack_root/share/spack/logo/spack-logo-white-text.svg"
# The name of an image file (within the static path) to use as favicon of the
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
# pixels large.
-html_favicon = '_spack_root/share/spack/logo/favicon.ico'
+html_favicon = "_spack_root/share/spack/logo/favicon.ico"
# 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']
+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'
+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
+# html_use_smartypants = True
# Custom sidebar templates, maps document names to template names.
-#html_sidebars = {}
+# html_sidebars = {}
# Additional templates that should be rendered to pages, maps page names to
# template names.
-#html_additional_pages = {}
+# html_additional_pages = {}
# If false, no module index is generated.
-#html_domain_indices = True
+# html_domain_indices = True
# If false, no index is generated.
-#html_use_index = True
+# html_use_index = True
# If true, the index is split into individual pages for each letter.
-#html_split_index = False
+# html_split_index = False
# If true, links to the reST sources are added to the pages.
-#html_show_sourcelink = True
+# html_show_sourcelink = True
# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
-#html_show_sphinx = False
+# html_show_sphinx = False
# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
-#html_show_copyright = True
+# html_show_copyright = 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 = ''
+# html_use_opensearch = ''
# This is the file name suffix for HTML files (e.g. ".xhtml").
-#html_file_suffix = None
+# html_file_suffix = None
# Output file base name for HTML help builder.
-htmlhelp_basename = 'Spackdoc'
+htmlhelp_basename = "Spackdoc"
# -- Options for LaTeX output --------------------------------------------------
latex_elements = {
-# The paper size ('letterpaper' or 'a4paper').
-#'papersize': 'letterpaper',
-
-# The font size ('10pt', '11pt' or '12pt').
-#'pointsize': '10pt',
-
-# Additional stuff for the LaTeX preamble.
-#'preamble': '',
+ # The paper size ('letterpaper' or 'a4paper').
+ #'papersize': 'letterpaper',
+ # The font size ('10pt', '11pt' or '12pt').
+ #'pointsize': '10pt',
+ # Additional stuff for the LaTeX preamble.
+ #'preamble': '',
}
# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title, author, documentclass [howto/manual]).
latex_documents = [
- ('index', 'Spack.tex', u'Spack Documentation',
- u'Todd Gamblin', 'manual'),
+ ("index", "Spack.tex", u"Spack Documentation", u"Todd Gamblin", "manual"),
]
# The name of an image file (relative to this directory) to place at the top of
# the title page.
-#latex_logo = None
+# latex_logo = None
# For "manual" documents, if this is true, then toplevel headings are parts,
# not chapters.
-#latex_use_parts = False
+# latex_use_parts = False
# If true, show page references after internal links.
-#latex_show_pagerefs = False
+# latex_show_pagerefs = False
# If true, show URL addresses after external links.
-#latex_show_urls = False
+# latex_show_urls = False
# Documents to append as an appendix to all manuals.
-#latex_appendices = []
+# latex_appendices = []
# If false, no module index is generated.
-#latex_domain_indices = True
+# latex_domain_indices = True
# -- Options for manual page output --------------------------------------------
# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
-man_pages = [
- ('index', 'spack', u'Spack Documentation',
- [u'Todd Gamblin'], 1)
-]
+man_pages = [("index", "spack", u"Spack Documentation", [u"Todd Gamblin"], 1)]
# If true, show URL addresses after external links.
-#man_show_urls = False
+# man_show_urls = False
# -- Options for Texinfo output ------------------------------------------------
@@ -376,19 +381,25 @@ man_pages = [
# (source start file, target name, title, author,
# dir menu entry, description, category)
texinfo_documents = [
- ('index', 'Spack', u'Spack Documentation',
- u'Todd Gamblin', 'Spack', 'One line description of project.',
- 'Miscellaneous'),
+ (
+ "index",
+ "Spack",
+ u"Spack Documentation",
+ u"Todd Gamblin",
+ "Spack",
+ "One line description of project.",
+ "Miscellaneous",
+ ),
]
# Documents to append as an appendix to all manuals.
-#texinfo_appendices = []
+# texinfo_appendices = []
# If false, no module index is generated.
-#texinfo_domain_indices = True
+# texinfo_domain_indices = True
# How to display URL addresses: 'footnote', 'no', or 'inline'.
-#texinfo_show_urls = 'footnote'
+# texinfo_show_urls = 'footnote'
# -- Extension configuration -------------------------------------------------