Spaces:
Runtime error
Runtime error
# Copyright (c) Facebook, Inc. and its affiliates. All rights reserved. | |
# | |
# This source code is licensed under the BSD license found in the | |
# LICENSE file in the root directory of this source tree. | |
# type: ignore | |
# Configuration file for the Sphinx documentation builder. | |
# | |
# This file only contains a selection of the most common options. For a full | |
# list see the documentation: | |
# https://www.sphinx-doc.org/en/master/usage/configuration.html | |
# -- Path setup -------------------------------------------------------------- | |
# 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. | |
# | |
import os | |
import sys | |
from pathlib import Path | |
from typing import Any, List | |
# The theme to use for HTML and HTML Help pages. See the documentation for | |
# a list of builtin themes. | |
# | |
from recommonmark.transform import AutoStructify | |
sys.path.insert(0, os.path.abspath("../..")) | |
# -- Project information ----------------------------------------------------- | |
project = "xFormers" | |
copyright = "Copyright © 2021 Meta Platforms, Inc" | |
author = "Facebook AI Research" | |
root_dir = Path(__file__).resolve().parent.parent.parent | |
# The full version, including alpha/beta/rc tags | |
release = (root_dir / "version.txt").read_text().strip() | |
# -- 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. | |
extensions = [ | |
"sphinx.ext.autodoc", | |
"sphinx.ext.autosectionlabel", | |
"sphinx.ext.napoleon", # support NumPy and Google style docstrings | |
"recommonmark", | |
"sphinx.ext.intersphinx", | |
"sphinx.ext.todo", | |
"sphinx.ext.coverage", | |
"sphinx.ext.mathjax", | |
"sphinx.ext.viewcode", | |
"sphinx.ext.githubpages", | |
"sphinx.ext.doctest", | |
"sphinx.ext.ifconfig", | |
] | |
# autosectionlabel throws warnings if section names are duplicated. | |
# The following tells autosectionlabel to not throw a warning for | |
# duplicated section names that are in different documents. | |
autosectionlabel_prefix_document = True | |
# -- Configurations for plugins ------------ | |
napoleon_google_docstring = True | |
napoleon_include_init_with_doc = True | |
napoleon_include_special_with_doc = True | |
napoleon_numpy_docstring = False | |
napoleon_use_rtype = False | |
autodoc_inherit_docstrings = False | |
autodoc_member_order = "bysource" | |
intersphinx_mapping = { | |
"python": ("https://docs.python.org/3.6", None), | |
"numpy": ("https://numpy.org/doc/stable/", None), | |
"torch": ("https://pytorch.org/docs/master", None), | |
} | |
# ------------------------- | |
# Add any paths that contain templates here, relative to this directory. | |
templates_path = ["_templates"] | |
# List of patterns, relative to source directory, that match files and | |
# directories to ignore when looking for source files. | |
# This pattern also affects html_static_path and html_extra_path. | |
exclude_patterns: List[Any] = [] | |
# The suffix(es) of source filenames. | |
# You can specify multiple suffix as a list of string: | |
# | |
source_suffix = [".rst", ".md"] | |
# The master toctree document. | |
master_doc = "index" | |
# If true, `todo` and `todoList` produce output, else they produce nothing. | |
todo_include_todos = True | |
# -- Options for HTML output ------------------------------------------------- | |
html_theme = "pytorch_sphinx_theme" | |
templates_path = ["_templates"] | |
# Add any paths that contain custom static files (such as style sheets) here, | |
# 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 = { | |
"includehidden": True, | |
"canonical_url": "https://facebookresearch.github.io/xformers", | |
"pytorch_project": "docs", | |
"logo_only": True, # default = False | |
} | |
# 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"] | |
# setting custom stylesheets https://stackoverflow.com/a/34420612 | |
html_context = {"css_files": ["_static/css/customize.css"]} | |
# -- Options for HTMLHelp output ------------------------------------------ | |
# Output file base name for HTML help builder. | |
htmlhelp_basename = "xformersdocs" | |
github_doc_root = "https://github.com/facebookresearch/xformers/tree/main/docs/" | |
# Over-ride PyTorch Sphinx css | |
def setup(app): | |
app.add_config_value( | |
"recommonmark_config", | |
{ | |
"url_resolver": lambda url: github_doc_root + url, | |
"auto_toc_tree_section": "Contents", | |
"enable_math": True, | |
"enable_inline_math": True, | |
"enable_eval_rst": True, | |
"enable_auto_toc_tree": True, | |
}, | |
True, | |
) | |
app.add_transform(AutoStructify) | |
app.add_css_file("css/customize.css") | |