# 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: # http://www.sphinx-doc.org/en/master/config # -- 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 inspect import os import sys sys.path.insert(0, os.path.abspath("../")) # -- Project information ----------------------------------------------------- project = "virtex" copyright = "2021, Karan Desai and Justin Johnson" author = "Karan Desai" # The full version, including alpha/beta/rc tags release = "1.1" # -- 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.coverage", "sphinx.ext.doctest", "sphinx.ext.linkcode", "sphinx.ext.autosummary", "sphinx.ext.coverage", "sphinx.ext.intersphinx", "sphinx.ext.mathjax", "sphinx_copybutton", "numpydoc", ] # Add any paths that contain templates here, relative to this directory. templates_path = ["_templates"] # The suffix(es) of source filenames. # You can specify multiple suffix as a list of string: # # source_suffix = ['.rst', '.md'] source_suffix = ".rst" # The master toctree document. master_doc = "index" # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the # built documents. # # This version is used underneath the title on the index page. version = "1.1" # The following is used if you need to also include a more detailed version. release = "1.1" # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. # # This is also used if you do content translation via gettext catalogs. # Usually you set "language" from the command line for these cases. language = "en" # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. # This patterns also effect to html_static_path and html_extra_path exclude_patterns = ["_build"] # The name of the Pygments (syntax highlighting) style to use. pygments_style = "sphinx" # If true, `todo` and `todoList` produce output, else they produce nothing. todo_include_todos = False numpydoc_show_class_members = False # -- 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 = "alabaster" # html_theme_path = [sphinx_rtd_theme.get_html_theme_path()] # 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 = {"collapse_navigation": False, "display_version": True} # 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"] # -- Autodoc configuration ------------------------------------------------ autodoc_default_options = { "members": True, "member-order": "bysource", "private-members": True, "show-inheritance": True, } # -- Intersphinx configuration -------------------------------------------- intersphinx_mapping = { "torch": ("https://pytorch.org/docs/stable/", None), "albumentations": ("https://albumentations.readthedocs.io/en/latest/", None), } # -- Miscellaneous Extra Tweaks ------------------------------------------- # make github links resolve def linkcode_resolve(domain, info): """ Determine the URL corresponding to Python object This code is from https://github.com/numpy/numpy/blob/master/doc/source/conf.py#L290 and https://github.com/Lasagne/Lasagne/pull/262 """ if domain != "py": return None modname = info["module"] fullname = info["fullname"] submod = sys.modules.get(modname) if submod is None: return None obj = submod for part in fullname.split("."): try: obj = getattr(obj, part) except: # noqa: E722 return None try: fn = inspect.getsourcefile(obj) except: # noqa: E722 fn = None if not fn: return None try: source, lineno = inspect.getsourcelines(obj) except: # noqa: E722 lineno = None if lineno: linespec = "#L%d-L%d" % (lineno, lineno + len(source) - 1) else: linespec = "" filename = info["module"].replace(".", "/") return f"https://github.com/kdexd/virtex/blob/master/{filename}.py{linespec}"