From cc212c7467feaa710f0ed792820e824d07e4e23d Mon Sep 17 00:00:00 2001 From: Andreas Kloeckner Date: Tue, 1 Dec 2020 22:43:15 -0600 Subject: [PATCH 1/2] Flake8 doc/conf --- doc/source/conf.py | 117 +++++++++++++++++++++++---------------------- 1 file changed, 59 insertions(+), 58 deletions(-) diff --git a/doc/source/conf.py b/doc/source/conf.py index ff2ca2d9..5f1cf09b 100644 --- a/doc/source/conf.py +++ b/doc/source/conf.py @@ -1,7 +1,3 @@ -# -*- coding: utf-8 -*- - -from __future__ import absolute_import - # PyCUDA documentation build configuration file, created by # sphinx-quickstart on Fri Jun 13 00:51:19 2008. # @@ -13,12 +9,12 @@ from __future__ import absolute_import # All configuration values have a default value; values that are commented out # serve to show the default value. -#import sys, os +# import sys, os # If your extensions are in another directory, add it here. If the directory # is relative to the documentation root, use os.path.abspath to make it # absolute, like shown here. -#sys.path.append(os.path.abspath('some/directory')) +# sys.path.append(os.path.abspath('some/directory')) # General configuration # --------------------- @@ -26,59 +22,64 @@ from __future__ import absolute_import # 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.intersphinx', - 'sphinx.ext.mathjax', - ] + "sphinx.ext.intersphinx", + "sphinx.ext.mathjax", +] # 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 master toctree document. -master_doc = 'index' +master_doc = "index" # General substitutions. -project = 'PyCUDA' -copyright = '2008, Andreas Kloeckner' +project = "PyCUDA" +copyright = "2008, Andreas Kloeckner" # The default replacements for |version| and |release|, also used in various # other places throughout the built documents. # # The short X.Y version. ver_dic = {} -exec(compile(open("../../pycuda/__init__.py").read(), "../../pycuda/__init__.py", 'exec'), ver_dic) +exec( + compile( + open("../../pycuda/__init__.py").read(), "../../pycuda/__init__.py", "exec" + ), + ver_dic, +) version = ".".join(str(x) for x in ver_dic["VERSION"]) # The full version, including alpha/beta/rc tags. release = ver_dic["VERSION_TEXT"] # 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 documents that shouldn't be included in the build. -#unused_docs = [] +# unused_docs = [] # List of directories, relative to source directories, that shouldn't be searched # for source files. -#exclude_dirs = [] +# exclude_dirs = [] # 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. -pygments_style = 'sphinx' +pygments_style = "sphinx" # Options for HTML output @@ -87,106 +88,106 @@ pygments_style = 'sphinx' html_theme = "alabaster" html_theme_options = { - "extra_nav_links": { - "🚀 Github": "https://github.com/inducer/pycuda", - "💾 Download Releases": "https://pypi.python.org/pypi/pycuda", - } - } + "extra_nav_links": { + "🚀 Github": "https://github.com/inducer/pycuda", + "💾 Download Releases": "https://pypi.python.org/pypi/pycuda", + } +} html_sidebars = { - '**': [ - 'about.html', - 'navigation.html', - 'relations.html', - 'searchbox.html', + "**": [ + "about.html", + "navigation.html", + "relations.html", + "searchbox.html", ] } # 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 = 'default.css' +# html_style = 'default.css' # The name for this set of Sphinx documents. If None, it defaults to # " v documentation". -#html_title = None +# html_title = None # The name of an image file (within the static path) to place at the top of # the sidebar. -#html_logo = None +# html_logo = None # 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_use_modindex = True +# html_use_modindex = True # If true, the reST sources are included in the HTML build as _sources/. -#html_copy_source = True +# html_copy_source = True # If true, an OpenSearch description file will be output, and all pages will # contain a 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 = '' # If nonempty, this is the file name suffix for HTML files (e.g. ".xhtml"). -#html_file_suffix = '' +# html_file_suffix = '' # Output file base name for HTML help builder. -htmlhelp_basename = 'PyCudadoc' +htmlhelp_basename = "PyCudadoc" # Options for LaTeX output # ------------------------ # The paper size ('letter' or 'a4'). -#latex_paper_size = 'letter' +# latex_paper_size = 'letter' # The font size ('10pt', '11pt' or '12pt'). -#latex_font_size = '10pt' +# 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]). latex_documents = [ - ('index', 'pycdua.tex', 'PyCUDA Documentation', 'Andreas Kloeckner', 'manual'), + ("index", "pycdua.tex", "PyCUDA Documentation", "Andreas Kloeckner", "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 # Additional stuff for the LaTeX preamble. -#latex_preamble = '' +# latex_preamble = '' # Documents to append as an appendix to all manuals. -#latex_appendices = [] +# latex_appendices = [] # If false, no module index is generated. -#latex_use_modindex = True +# latex_use_modindex = True intersphinx_mapping = { - 'http://docs.python.org/dev': None, - 'http://docs.scipy.org/doc/numpy/': None, - 'https://documen.tician.de/codepy/': None, - } + "http://docs.python.org/dev": None, + "http://docs.scipy.org/doc/numpy/": None, + "https://documen.tician.de/codepy/": None, +} -- GitLab From b4a3987c74ffa0c461e1e004e5c713dc97f02699 Mon Sep 17 00:00:00 2001 From: Andreas Kloeckner Date: Tue, 1 Dec 2020 22:45:38 -0600 Subject: [PATCH 2/2] Switch to furo doc theme --- doc/source/conf.py | 22 +++++----------------- doc/source/index.rst | 10 ++++++---- 2 files changed, 11 insertions(+), 21 deletions(-) diff --git a/doc/source/conf.py b/doc/source/conf.py index 5f1cf09b..8d54717f 100644 --- a/doc/source/conf.py +++ b/doc/source/conf.py @@ -24,6 +24,7 @@ extensions = [ "sphinx.ext.intersphinx", "sphinx.ext.mathjax", + "sphinx_copybutton", ] # Add any paths that contain templates here, relative to this directory. @@ -85,23 +86,10 @@ pygments_style = "sphinx" # Options for HTML output # ----------------------- -html_theme = "alabaster" +html_theme = "furo" html_theme_options = { - "extra_nav_links": { - "🚀 Github": "https://github.com/inducer/pycuda", - "💾 Download Releases": "https://pypi.python.org/pypi/pycuda", - } -} - -html_sidebars = { - "**": [ - "about.html", - "navigation.html", - "relations.html", - "searchbox.html", - ] -} + } # 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 @@ -187,7 +175,7 @@ latex_documents = [ # latex_use_modindex = True intersphinx_mapping = { - "http://docs.python.org/dev": None, - "http://docs.scipy.org/doc/numpy/": None, + "https://docs.python.org/3": None, + "https://numpy.org/doc/stable/": None, "https://documen.tician.de/codepy/": None, } diff --git a/doc/source/index.rst b/doc/source/index.rst index 63f7db58..e5c0c45c 100644 --- a/doc/source/index.rst +++ b/doc/source/index.rst @@ -6,7 +6,7 @@ PyCUDA gives you easy, Pythonic access to `Nvidia `_'s `CUDA CUDA API already exist--so why the need for PyCUDA? * Object cleanup tied to lifetime of objects. This idiom, - often called + often called `RAII `_ in C++, makes it much easier to write correct, leak- and crash-free code. PyCUDA knows about dependencies, too, so (for example) @@ -18,7 +18,7 @@ CUDA API already exist--so why the need for PyCUDA? than with Nvidia's C-based runtime. * Completeness. PyCUDA puts the full power of CUDA's driver API at your - disposal, if you wish. + disposal, if you wish. * Automatic Error Checking. All CUDA errors are automatically translated into Python exceptions. @@ -61,8 +61,8 @@ source distribution.) On the surface, this program will print a screenful of zeros. Behind the scenes, a lot more interesting stuff is going on: -* PyCUDA has compiled the CUDA source code and uploaded it to the card. - +* PyCUDA has compiled the CUDA source code and uploaded it to the card. + .. note:: This code doesn't have to be a constant--you can easily have Python generate the code you want to compile. See :ref:`metaprog`. @@ -93,6 +93,8 @@ Contents array metaprog misc + 🚀 Github + 💾 Download Releases Note that this guide will not explain CUDA programming and technology. Please refer to Nvidia's `programming documentation -- GitLab