| # Copyright 2018 The gRPC Authors | |
| # | |
| # Licensed 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. | |
| # -- Path setup -------------------------------------------------------------- | |
| import os | |
| import sys | |
| PYTHON_FOLDER = os.path.join(os.path.dirname(os.path.realpath(__file__)), '..', | |
| '..', '..', 'src', 'python') | |
| sys.path.insert(0, os.path.join(PYTHON_FOLDER, 'grpcio')) | |
| sys.path.insert(0, os.path.join(PYTHON_FOLDER, 'grpcio_channelz')) | |
| sys.path.insert(0, os.path.join(PYTHON_FOLDER, 'grpcio_health_checking')) | |
| sys.path.insert(0, os.path.join(PYTHON_FOLDER, 'grpcio_reflection')) | |
| sys.path.insert(0, os.path.join(PYTHON_FOLDER, 'grpcio_status')) | |
| sys.path.insert(0, os.path.join(PYTHON_FOLDER, 'grpcio_testing')) | |
| # -- Project information ----------------------------------------------------- | |
| project = 'gRPC Python' | |
| copyright = '2020, The gRPC Authors' | |
| author = 'The gRPC Authors' | |
| # Import generated grpc_version after the path been modified | |
| import grpc_version | |
| version = '.'.join(grpc_version.VERSION.split('.')[:3]) | |
| release = grpc_version.VERSION | |
| if 'dev' in grpc_version.VERSION: | |
| branch = 'master' | |
| else: | |
| branch = 'v%s.%s.x' % tuple(grpc_version.VERSION.split('.')[:2]) | |
| # -- General configuration --------------------------------------------------- | |
| templates_path = ['_templates'] | |
| source_suffix = ['.rst', '.md'] | |
| master_doc = 'index' | |
| language = 'en' | |
| exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] | |
| pygments_style = None | |
| # --- Extensions Configuration ----------------------------------------------- | |
| extensions = [ | |
| 'sphinx.ext.autodoc', | |
| 'sphinx.ext.viewcode', | |
| 'sphinx.ext.todo', | |
| 'sphinx.ext.napoleon', | |
| 'sphinx.ext.coverage', | |
| 'sphinx.ext.autodoc.typehints', | |
| ] | |
| napoleon_google_docstring = True | |
| napoleon_numpy_docstring = True | |
| napoleon_include_special_with_doc = True | |
| autodoc_default_options = { | |
| 'members': None, | |
| } | |
| autodoc_mock_imports = ["envoy"] | |
| autodoc_typehints = 'description' | |
| # -- HTML Configuration ------------------------------------------------- | |
| html_theme = 'alabaster' | |
| html_theme_options = { | |
| 'fixed_sidebar': True, | |
| 'page_width': '1140px', | |
| 'show_related': True, | |
| 'analytics_id': 'UA-60127042-1', | |
| 'description': grpc_version.VERSION, | |
| 'show_powered_by': False, | |
| } | |
| html_static_path = ["_static"] | |
| # -- Options for manual page output ------------------------------------------ | |
| man_pages = [(master_doc, 'grpcio', 'grpcio Documentation', [author], 1)] | |
| # -- Options for Texinfo output ---------------------------------------------- | |
| texinfo_documents = [ | |
| (master_doc, 'grpcio', 'grpcio Documentation', author, 'grpcio', | |
| 'One line description of project.', 'Miscellaneous'), | |
| ] | |
| # -- Options for Epub output ------------------------------------------------- | |
| epub_title = project | |
| epub_exclude_files = ['search.html'] | |
| # -- Options for todo extension ---------------------------------------------- | |
| todo_include_todos = True | |
| # -- Options for substitutions ----------------------------------------------- | |
| rst_epilog = '.. |grpc_types_link| replace:: https://github.com/grpc/grpc/blob/%s/include/grpc/impl/codegen/grpc_types.h' % branch |