| ################################################################################ | |
| # Licensed to the Apache Software Foundation (ASF) under one | |
| # or more contributor license agreements. See the NOTICE file | |
| # distributed with this work for additional information | |
| # regarding copyright ownership. The ASF licenses this file | |
| # to you under the Apache License, Version 2.0 (the | |
| # "License"); you may not use this file except in compliance | |
| # with the License. You may obtain a copy of the License at | |
| # | |
| # http://www.apache.org/licenses/LICENSE-2.0 | |
| # | |
| # Unless required by applicable law or agreed to in writing, software | |
| # distributed under the License is distributed on an "AS IS" BASIS, | |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| # See the License for the specific language governing permissions and | |
| # limitations under the License. | |
| ################################################################################ | |
| from __future__ import print_function | |
| import os | |
| import sys | |
| # -- 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. | |
| sys.path.insert(0, os.path.abspath('.')) | |
| sys.path.insert(0, os.path.abspath('..')) | |
| # -- Project information ----------------------------------------------------- | |
| # project = u'Flink Python Table API' | |
| project = u'PyFlink' | |
| copyright = u'' | |
| author = u'Author' | |
| version_file = os.path.join("..", 'pyflink/version.py') | |
| try: | |
| exec(open(version_file).read()) | |
| except IOError: | |
| print("Failed to load PyFlink version file for packaging. " + | |
| "'%s' not found!" % version_file, | |
| file=sys.stderr) | |
| sys.exit(-1) | |
| # The short X.Y version | |
| version = __version__ # noqa | |
| # The full version, including alpha/beta/rc tags | |
| release = os.environ.get('RELEASE_VERSION', version) | |
| # -- General configuration --------------------------------------------------- | |
| # If your documentation needs a minimal Sphinx version, state it here. | |
| # | |
| # needs_sphinx = '1.0' | |
| # 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.viewcode', | |
| 'sphinx.ext.mathjax', | |
| 'sphinx.ext.inheritance_diagram', | |
| 'sphinx.ext.doctest', | |
| 'sphinx.ext.autosummary', | |
| 'sphinx.ext.intersphinx', | |
| 'sphinx.ext.extlinks', | |
| 'sphinx_mdinclude' | |
| ] | |
| # 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 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' | |
| locale_dirs = ['locales/'] | |
| gettext_compact = False | |
| # 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 = ['_build', 'Thumbs.db', '.DS_Store', 'README.md', '.venv'] | |
| # If true, the current module name will be prepended to all description | |
| # unit titles (such as .. function::). | |
| add_module_names = False | |
| # The name of the Pygments (syntax highlighting) style to use. | |
| pygments_style = 'sphinx' | |
| # Look at the first line of the docstring for function and method signatures. | |
| autosummary_generate = True | |
| autodoc_docstring_signature = True | |
| # Map to external docs for type annotations | |
| intersphinx_mapping = { | |
| "pandas": ("https://pandas.pydata.org/docs/", None), | |
| } | |
| # External links to main Flink documentation | |
| # The base URL is configurable via FLINK_DOCS_BASE_URL for versioned builds | |
| # (e.g. flink-docs-release-2.2, flink-docs-stable, flink-docs-master) | |
| _flink_docs_base = os.environ.get( | |
| 'FLINK_DOCS_BASE_URL', | |
| 'https://nightlies.apache.org/flink/flink-docs-master') | |
| extlinks = { | |
| 'flinkdoc': (_flink_docs_base + '/%s', '%s'), | |
| } | |
| # -- 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 = 'pydata_sphinx_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 = { | |
| "collapse_navigation": False, | |
| "navigation_depth": 4, | |
| "show_nav_level": 1, | |
| "navbar_end": ["lang-switcher.html", "theme-switcher.html", "navbar-icon-links.html"] | |
| } | |
| # Base URL for canonical links, pointing to stable docs version | |
| html_baseurl = "https://nightlies.apache.org/flink/flink-docs-stable/api/python/" | |
| # The name of an image file (relative to this directory) to place at the top | |
| # of the sidebar. | |
| html_logo = "../../docs/static/navbar-brand-logo.jpg" | |
| # 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 = html_logo | |
| # If false, no module index is generated. | |
| html_domain_indices = False | |
| # If false, no index is generated. | |
| html_use_index = False | |
| # 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_css_files = ['pyflink.css'] | |
| # Custom sidebar templates, must be a dictionary that maps document names | |
| # to template names. | |
| # | |
| # The default sidebars (for documents that don't match any pattern) are | |
| # defined by theme itself. Builtin themes are using these templates by | |
| # default: ``['localtoc.html', 'relations.html', 'sourcelink.html', | |
| # 'searchbox.html']``. | |
| # | |
| # html_sidebars = {} | |
| # -- Options for HTMLHelp output --------------------------------------------- | |
| # Output file base name for HTML help builder. | |
| htmlhelp_basename = 'pyflinkdoc' | |
| # -- 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': '', | |
| # Latex figure (float) alignment | |
| # | |
| # 'figure_align': 'htbp', | |
| } | |
| # Grouping the document tree into LaTeX files. List of tuples | |
| # (source start file, target name, title, | |
| # author, documentclass [howto, manual, or own class]). | |
| latex_documents = [ | |
| (master_doc, 'pyflink.tex', u'pyflink Documentation', | |
| [author], 'manual'), | |
| ] | |
| # -- Options for manual page output ------------------------------------------ | |
| # One entry per manual page. List of tuples | |
| # (source start file, name, description, authors, manual section). | |
| man_pages = [ | |
| (master_doc, 'pyflink', u'pyflink Documentation', | |
| [author], 1) | |
| ] | |
| # -- Options for Texinfo output ---------------------------------------------- | |
| # Grouping the document tree into Texinfo files. List of tuples | |
| # (source start file, target name, title, author, | |
| # dir menu entry, description, category) | |
| texinfo_documents = [ | |
| (master_doc, 'pyflink', u'pyflink Documentation', | |
| author, 'pyflink', 'One line description of project.', | |
| 'Miscellaneous'), | |
| ] | |
| # -- Options for Epub output ------------------------------------------------- | |
| # Bibliographic Dublin Core info. | |
| epub_title = u'pyflink' | |
| epub_author = u'Author' | |
| epub_publisher = u'Author' | |
| epub_copyright = u'2019, Author' | |
| # The unique identifier of the text. This can be a ISBN number | |
| # or the project homepage. | |
| # | |
| # epub_identifier = '' | |
| # A unique identification for the text. | |
| # | |
| # epub_uid = '' | |
| # A list of files that should not be packed into the epub file. | |
| epub_exclude_files = ['search.html'] | |
| # -- Extension configuration ------------------------------------------------- | |
| def _set_zh_baseurl(app, config): | |
| # -D language=zh is applied after this file is read | |
| if config.language == 'zh': | |
| config.html_baseurl += 'zh/' | |
| def setup(app): | |
| app.connect('config-inited', _set_zh_baseurl) |