diff options
author | Bu Sun Kim <8822365+busunkim96@users.noreply.github.com> | 2019-06-25 12:44:16 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-06-25 12:44:16 -0700 |
commit | bee4b07c6f53891ccc3d7298f8fd3a0cf25dc05a (patch) | |
tree | 2a2c1683f370c48ea05daa34e7b2a6710aa45458 /docs | |
parent | 6089ed54c435ffc94278183b0d75d680a2313471 (diff) | |
download | python-api-core-bee4b07c6f53891ccc3d7298f8fd3a0cf25dc05a.tar.gz |
All: Add docs job to publish to googleapis.dev. (#8464)
Diffstat (limited to 'docs')
-rw-r--r-- | docs/auth.rst | 301 | ||||
l--------- | docs/changelog.md | 1 | ||||
-rw-r--r-- | docs/client_info.rst | 11 | ||||
-rw-r--r-- | docs/conf.py | 366 | ||||
-rw-r--r-- | docs/exceptions.rst | 6 | ||||
-rw-r--r-- | docs/helpers.rst | 26 | ||||
-rw-r--r-- | docs/iam.rst | 7 | ||||
-rw-r--r-- | docs/index.rst | 28 | ||||
-rw-r--r-- | docs/operation.rst | 6 | ||||
-rw-r--r-- | docs/operations_client.rst | 6 | ||||
-rw-r--r-- | docs/page_iterator.rst | 6 | ||||
-rw-r--r-- | docs/path_template.rst | 6 | ||||
-rw-r--r-- | docs/retry.rst | 6 | ||||
-rw-r--r-- | docs/timeout.rst | 6 |
14 files changed, 782 insertions, 0 deletions
diff --git a/docs/auth.rst b/docs/auth.rst new file mode 100644 index 0000000..f309a3a --- /dev/null +++ b/docs/auth.rst @@ -0,0 +1,301 @@ +Authentication +************** + +.. _Overview: + +Overview +======== + +* **If you're running in Compute Engine or App Engine**, + authentication should "just work". + +* **If you're developing locally**, + the easiest way to authenticate is using the `Google Cloud SDK`_: + + .. code-block:: bash + + $ gcloud auth application-default login + + Note that this command generates credentials for client libraries. To authenticate the CLI itself, use: + + .. code-block:: bash + + $ gcloud auth login + + Previously, ``gcloud auth login`` was used for both use cases. If + your ``gcloud`` installation does not support the new command, + please update it: + + .. code-block:: bash + + $ gcloud components update + +.. _Google Cloud SDK: http://cloud.google.com/sdk + + +* **If you're running your application elsewhere**, + you should download a `service account`_ JSON keyfile + and point to it using an environment variable: + + .. code-block:: bash + + $ export GOOGLE_APPLICATION_CREDENTIALS="/path/to/keyfile.json" + +.. _service account: https://cloud.google.com/storage/docs/authentication#generating-a-private-key + +Client-Provided Authentication +============================== + +Every package uses a :class:`Client <google.cloud.client.Client>` +as a base for interacting with an API. +For example: + +.. code-block:: python + + from google.cloud import datastore + client = datastore.Client() + +Passing no arguments at all will "just work" if you've followed the +instructions in the :ref:`Overview`. +The credentials are inferred from your local environment by using +Google `Application Default Credentials`_. + +.. _Application Default Credentials: https://developers.google.com/identity/protocols/application-default-credentials + +.. _Precedence: + +Credential Discovery Precedence +------------------------------- + +When loading the `Application Default Credentials`_, +the library will check for credentials in your environment by following the +precedence outlined by :func:`google.auth.default`. + +Explicit Credentials +==================== + +The Application Default Credentials discussed above can be useful +if your code needs to run in many different environments or +if you just don't want authentication to be a focus in your code. + +However, you may want to be explicit because + +* your code will only run in one place +* you may have code which needs to be run as a specific service account + every time (rather than with the locally inferred credentials) +* you may want to use two separate accounts to simultaneously access data + from different projects + +In these situations, you can create an explicit +:class:`~google.auth.credentials.Credentials` object suited to your environment. +After creation, you can pass it directly to a :class:`Client <google.cloud.client.Client>`: + +.. code:: python + + client = Client(credentials=credentials) + +.. tip:: + To create a credentials object, follow the `google-auth-guide`_. + +.. _google-auth-guide: https://google-auth.readthedocs.io/en/latest/user-guide.html#service-account-private-key-files + + +Google App Engine Environment +----------------------------- + +To create +:class:`credentials <google.auth.app_engine.Credentials>` +just for Google App Engine: + +.. code:: python + + from google.auth import app_engine + credentials = app_engine.Credentials() + +Google Compute Engine Environment +--------------------------------- + +To create +:class:`credentials <google.auth.compute_engine.Credentials>` +just for Google Compute Engine: + +.. code:: python + + from google.auth import compute_engine + credentials = compute_engine.Credentials() + +Service Accounts +---------------- + +A `service account`_ is stored in a JSON keyfile. + +The +:meth:`from_service_account_json() <google.cloud.client.Client.from_service_account_json>` +factory can be used to create a :class:`Client <google.cloud.client.Client>` with +service account credentials. + +For example, with a JSON keyfile: + +.. code:: python + + client = Client.from_service_account_json('/path/to/keyfile.json') + +.. tip:: + + Previously the Google Cloud Console would issue a PKCS12/P12 key for your + service account. This library does not support that key format. You can + generate a new JSON key for the same service account from the console. + +User Accounts (3-legged OAuth 2.0) with a refresh token +------------------------------------------------------- + +The majority of cases are intended to authenticate machines or +workers rather than actual user accounts. However, it's also +possible to call Google Cloud APIs with a user account via +`OAuth 2.0`_. + +.. _OAuth 2.0: https://developers.google.com/identity/protocols/OAuth2 + +.. tip:: + + A production application should **use a service account**, + but you may wish to use your own personal user account when first + getting started with the ``google-cloud-python`` library. + +The simplest way to use credentials from a user account is via +Application Default Credentials using ``gcloud auth login`` +(as mentioned above) and :func:`google.auth.default`: + +.. code:: python + + import google.auth + + credentials, project = google.auth.default() + +This will still follow the :ref:`precedence <Precedence>` +described above, +so be sure none of the other possible environments conflict +with your user provided credentials. + +Advanced users of `oauth2client`_ can also use custom flows to +create credentials using `client secrets`_ or using a +`webserver flow`_. +After creation, :class:`Credentials <oauth2client.client.Credentials>` +can be serialized with +:meth:`to_json() <oauth2client.client.Credentials.to_json>` +and stored in a file and then and deserialized with +:meth:`from_json() <oauth2client.client.Credentials.from_json>`. In order +to use ``oauth2client``'s credentials with this library, you'll need to +`convert them`_. + +.. _oauth2client: https://github.com/Google/oauth2client. +.. _client secrets: https://developers.google.com/api-client-library/python/guide/aaa_oauth#flow_from_clientsecrets +.. _webserver flow: https://developers.google.com/api-client-library/python/guide/aaa_oauth#OAuth2WebServerFlow +.. _convert them: http://google-auth.readthedocs.io/en/stable/user-guide.html#user-credentials + +Troubleshooting +=============== + +Setting up a Service Account +---------------------------- + +If your application is not running on Google Compute Engine, +you need a `Google Developers Service Account`_. + +#. Visit the `Google Developers Console`_. + +#. Create a new project or click on an existing project. + +#. Navigate to **APIs & auth** > **APIs** and enable the APIs + that your application requires. + + .. raw:: html + + <img src="https://raw.githubusercontent.com/GoogleCloudPlatform/google-cloud-common/master/authentication/enable-apis.png"/> + + .. note:: + + You may need to enable billing in order to use these services. + + * **BigQuery** + + * BigQuery API + + * **Datastore** + + * Google Cloud Datastore API + + * **Pub/Sub** + + * Google Cloud Pub/Sub + + * **Storage** + + * Google Cloud Storage + * Google Cloud Storage JSON API + +#. Navigate to **APIs & auth** > **Credentials**. + + You should see a screen like one of the following: + + .. raw:: html + + <img src="https://raw.githubusercontent.com/GoogleCloudPlatform/google-cloud-common/master/authentication/create-new-service-account.png"> + + .. raw:: html + + <img src="https://raw.githubusercontent.com/GoogleCloudPlatform/google-cloud-common/master/authentication/create-new-service-account-existing-keys.png"> + + Find the "Add credentials" drop down and select "Service account" to be + guided through downloading a new JSON keyfile. + + If you want to re-use an existing service account, + you can easily generate a new keyfile. + Just select the account you wish to re-use, + and click **Generate new JSON key**: + + .. raw:: html + + <img src="https://raw.githubusercontent.com/GoogleCloudPlatform/google-cloud-common/master/authentication/reuse-service-account.png"> + +.. _Google Developers Console: https://console.developers.google.com/project +.. _Google Developers Service Account: https://developers.google.com/accounts/docs/OAuth2ServiceAccount + +Using Google Compute Engine +--------------------------- + +If your code is running on Google Compute Engine, +using the inferred Google `Application Default Credentials`_ +will be sufficient for retrieving credentials. + +However, by default your credentials may not grant you +access to the services you intend to use. +Be sure when you `set up the GCE instance`_, +you add the correct scopes for the APIs you want to access: + +* **All APIs** + + * ``https://www.googleapis.com/auth/cloud-platform`` + * ``https://www.googleapis.com/auth/cloud-platform.read-only`` + +* **BigQuery** + + * ``https://www.googleapis.com/auth/bigquery`` + * ``https://www.googleapis.com/auth/bigquery.insertdata`` + +* **Datastore** + + * ``https://www.googleapis.com/auth/datastore`` + * ``https://www.googleapis.com/auth/userinfo.email`` + +* **Pub/Sub** + + * ``https://www.googleapis.com/auth/pubsub`` + +* **Storage** + + * ``https://www.googleapis.com/auth/devstorage.full_control`` + * ``https://www.googleapis.com/auth/devstorage.read_only`` + * ``https://www.googleapis.com/auth/devstorage.read_write`` + +.. _set up the GCE instance: https://cloud.google.com/compute/docs/authentication#using diff --git a/docs/changelog.md b/docs/changelog.md new file mode 120000 index 0000000..04c99a5 --- /dev/null +++ b/docs/changelog.md @@ -0,0 +1 @@ +../CHANGELOG.md
\ No newline at end of file diff --git a/docs/client_info.rst b/docs/client_info.rst new file mode 100644 index 0000000..e976b18 --- /dev/null +++ b/docs/client_info.rst @@ -0,0 +1,11 @@ +Client Information Helpers +========================== + +.. automodule:: google.api_core.client_info + :members: + :show-inheritance: + +.. automodule:: google.api_core.gapic_v1.client_info + :members: + :show-inheritance: + diff --git a/docs/conf.py b/docs/conf.py new file mode 100644 index 0000000..f1f3a2c --- /dev/null +++ b/docs/conf.py @@ -0,0 +1,366 @@ +# -*- coding: utf-8 -*- +# +# google-api-core documentation build configuration file +# +# This file is execfile()d with the current directory set to its +# containing dir. +# +# Note that not all possible configuration values are present in this +# autogenerated file. +# +# All configuration values have a default; values that are commented out +# serve to show the default. + +import sys +import os +import shlex + +# 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("..")) + +__version__ = "0.1.0" + +# -- General configuration ------------------------------------------------ + +# If your documentation needs a minimal Sphinx version, state it here. +needs_sphinx = "1.6.3" + +# 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.autosummary", + "sphinx.ext.intersphinx", + "sphinx.ext.coverage", + "sphinx.ext.napoleon", + "sphinx.ext.todo", + "sphinx.ext.viewcode", +] + +# autodoc/autosummary flags +autoclass_content = "both" +autodoc_default_flags = ["members"] +autosummary_generate = True + + +# Add any paths that contain templates here, relative to this directory. +templates_path = ["_templates"] + +# Allow markdown includes (so releases.md can include CHANGLEOG.md) +# http://www.sphinx-doc.org/en/master/markdown.html +source_parsers = {".md": "recommonmark.parser.CommonMarkParser"} + +# The suffix(es) of source filenames. +# You can specify multiple suffix as a list of string: +# source_suffix = ['.rst', '.md'] +source_suffix = [".rst", ".md"] + +# The encoding of source files. +# source_encoding = 'utf-8-sig' + +# The master toctree document. +master_doc = "index" + +# General information about the project. +project = u"google-api-core" +copyright = u"2017, Google" +author = u"Google APIs" + +# 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. +# +# The full version, including alpha/beta/rc tags. +release = __version__ +# The short X.Y version. +version = ".".join(release.split(".")[0:2]) + +# 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 = None + +# There are two options for replacing |today|: either, you set today to some +# non-false value, then it is used: +# today = '' +# Else, today_fmt is used as the format for a strftime call. +# today_fmt = '%B %d, %Y' + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +exclude_patterns = ["_build"] + +# The reST default role (used for this markup: `text`) to use for all +# documents. +# default_role = None + +# If true, '()' will be appended to :func: etc. cross-reference text. +# 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 + +# If true, sectionauthor and moduleauthor directives will be shown in the +# output. They are ignored by default. +# show_authors = False + +# The name of the Pygments (syntax highlighting) style to use. +pygments_style = "sphinx" + +# A list of ignored prefixes for module index sorting. +# modindex_common_prefix = [] + +# If true, keep warnings as "system message" paragraphs in the built documents. +# keep_warnings = False + +# If true, `todo` and `todoList` produce output, else they produce nothing. +todo_include_todos = True + + +# -- 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" + +# 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 = { + "description": "Google Cloud Client Libraries for Python", + "github_user": "googleapis", + "github_repo": "google-cloud-python", + "github_banner": True, + "font_family": "'Roboto', Georgia, sans", + "head_font_family": "'Roboto', Georgia, serif", + "code_font_family": "'Roboto Mono', 'Consolas', monospace", +} + +# Add any paths that contain custom themes here, relative to this directory. +# html_theme_path = [] + +# The name for this set of Sphinx documents. If None, it defaults to +# "<project> v<release> documentation". +# html_title = None + +# A shorter title for the navigation bar. Default is the same as html_title. +# html_short_title = None + +# The name of an image file (relative to this directory) to place at the top +# of the sidebar. +# html_logo = None + +# 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 = 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 = [] + +# Add any extra paths that contain custom files (such as robots.txt or +# .htaccess) here, relative to this directory. These files are copied +# directly to the root of the documentation. +# html_extra_path = [] + +# 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' + +# If true, SmartyPants will be used to convert quotes and dashes to +# typographically correct entities. +# html_use_smartypants = True + +# Custom sidebar templates, maps document names to template names. +# html_sidebars = {} + +# Additional templates that should be rendered to pages, maps page names to +# template names. +# html_additional_pages = {} + +# If false, no module index is generated. +# html_domain_indices = True + +# If false, no index is generated. +# html_use_index = True + +# If true, the index is split into individual pages for each letter. +# html_split_index = False + +# If true, links to the reST sources are added to the pages. +# html_show_sourcelink = True + +# If true, "Created using Sphinx" is shown in the HTML footer. Default is True. +# html_show_sphinx = True + +# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. +# html_show_copyright = True + +# If true, an OpenSearch description file will be output, and all pages will +# contain a <link> tag referring to it. The value of this option must be the +# base URL from which the finished HTML is served. +# html_use_opensearch = '' + +# This is the file name suffix for HTML files (e.g. ".xhtml"). +# html_file_suffix = None + +# Language to be used for generating the HTML full-text search index. +# Sphinx supports the following languages: +# 'da', 'de', 'en', 'es', 'fi', 'fr', 'hu', 'it', 'ja' +# 'nl', 'no', 'pt', 'ro', 'ru', 'sv', 'tr' +# html_search_language = 'en' + +# A dictionary with options for the search language support, empty by default. +# Now only 'ja' uses this config value +# html_search_options = {'type': 'default'} + +# The name of a javascript file (relative to the configuration directory) that +# implements a search results scorer. If empty, the default will be used. +# html_search_scorer = 'scorer.js' + +# Output file base name for HTML help builder. +htmlhelp_basename = "google-api-core-doc" + +# -- Options for warnings ------------------------------------------------------ + + +suppress_warnings = [ + # Temporarily suppress this to avoid "more than one target found for + # cross-reference" warning, which are intractable for us to avoid while in + # a mono-repo. + # See https://github.com/sphinx-doc/sphinx/blob + # /2a65ffeef5c107c19084fabdd706cdff3f52d93c/sphinx/domains/python.py#L843 + "ref.python" +] + +# -- 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, + "google-api-core.tex", + u"google-api-core Documentation", + author, + "manual", + ) +] + +# The name of an image file (relative to this directory) to place at the top of +# the title page. +# latex_logo = None + +# For "manual" documents, if this is true, then toplevel headings are parts, +# not chapters. +# latex_use_parts = False + +# If true, show page references after internal links. +# latex_show_pagerefs = False + +# If true, show URL addresses after external links. +# latex_show_urls = False + +# Documents to append as an appendix to all manuals. +# latex_appendices = [] + +# If false, no module index is generated. +# latex_domain_indices = True + + +# -- 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, + "google-api-core", + u"google-api-core Documentation", + [author], + 1, + ) +] + +# If true, show URL addresses after external links. +# man_show_urls = False + + +# -- 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, + "google-api-core", + u"google-api-core Documentation", + author, + "google-api-core", + "GAPIC library for the {metadata.shortName} v1beta1 service", + "APIs", + ) +] + +# Documents to append as an appendix to all manuals. +# texinfo_appendices = [] + +# If false, no module index is generated. +# texinfo_domain_indices = True + +# How to display URL addresses: 'footnote', 'no', or 'inline'. +# texinfo_show_urls = 'footnote' + +# If true, do not generate a @detailmenu in the "Top" node's menu. +# texinfo_no_detailmenu = False + + +# Example configuration for intersphinx: refer to the Python standard library. +intersphinx_mapping = { + "python": ("http://python.readthedocs.org/en/latest/", None), + "gax": ("https://gax-python.readthedocs.org/en/latest/", None), + "google-auth": ("https://google-auth.readthedocs.io/en/stable", None), + "google-gax": ("https://gax-python.readthedocs.io/en/latest/", None), + "google.api_core": ( + "https://googleapis.github.io/google-cloud-python/latest", + None, + ), + "grpc": ("https://grpc.io/grpc/python/", None), + "requests": ("http://docs.python-requests.org/en/master/", None), + "fastavro": ("https://fastavro.readthedocs.io/en/stable/", None), + "pandas": ("https://pandas.pydata.org/pandas-docs/stable/", None), +} + + +# Napoleon settings +napoleon_google_docstring = True +napoleon_numpy_docstring = True +napoleon_include_private_with_doc = False +napoleon_include_special_with_doc = True +napoleon_use_admonition_for_examples = False +napoleon_use_admonition_for_notes = False +napoleon_use_admonition_for_references = False +napoleon_use_ivar = False +napoleon_use_param = True +napoleon_use_rtype = True diff --git a/docs/exceptions.rst b/docs/exceptions.rst new file mode 100644 index 0000000..d671f4e --- /dev/null +++ b/docs/exceptions.rst @@ -0,0 +1,6 @@ +Exceptions +========== + +.. automodule:: google.api_core.exceptions + :members: + :show-inheritance: diff --git a/docs/helpers.rst b/docs/helpers.rst new file mode 100644 index 0000000..6f72df9 --- /dev/null +++ b/docs/helpers.rst @@ -0,0 +1,26 @@ +Helpers +======= + + +General Helpers +--------------- + +.. automodule:: google.api_core.general_helpers + :members: + :show-inheritance: + + +Datetime Helpers +---------------- + +.. automodule:: google.api_core.datetime_helpers + :members: + :show-inheritance: + + +gRPC Helpers +------------ + +.. automodule:: google.api_core.grpc_helpers + :members: + :show-inheritance: diff --git a/docs/iam.rst b/docs/iam.rst new file mode 100644 index 0000000..bb80ae3 --- /dev/null +++ b/docs/iam.rst @@ -0,0 +1,7 @@ +Identity and Access Management +============================== + +.. automodule:: google.api_core.iam + :members: + :show-inheritance: + :member-order: bysource diff --git a/docs/index.rst b/docs/index.rst new file mode 100644 index 0000000..112bb30 --- /dev/null +++ b/docs/index.rst @@ -0,0 +1,28 @@ +The ``google-cloud-core`` package contains helpers common to all +``google-cloud-*`` packages. In an attempt to reach a stable API, +much of the functionality has been split out into this package, +``google-api-core``. + +Core +==== + +.. toctree:: + auth + client_info + exceptions + helpers + iam + operation + operations_client + page_iterator + path_template + retry + timeout + +Changelog +~~~~~~~~~ + +.. toctree:: + :maxdepth: 2 + + changelog diff --git a/docs/operation.rst b/docs/operation.rst new file mode 100644 index 0000000..c5e6766 --- /dev/null +++ b/docs/operation.rst @@ -0,0 +1,6 @@ +Long-Running Operations +======================= + +.. automodule:: google.api_core.operation + :members: + :show-inheritance: diff --git a/docs/operations_client.rst b/docs/operations_client.rst new file mode 100644 index 0000000..be466d3 --- /dev/null +++ b/docs/operations_client.rst @@ -0,0 +1,6 @@ +Long-Running Operations Client +============================== + +.. automodule:: google.api_core.operations_v1 + :members: + :show-inheritance: diff --git a/docs/page_iterator.rst b/docs/page_iterator.rst new file mode 100644 index 0000000..28842da --- /dev/null +++ b/docs/page_iterator.rst @@ -0,0 +1,6 @@ +Page Iterators +============== + +.. automodule:: google.api_core.page_iterator + :members: + :show-inheritance: diff --git a/docs/path_template.rst b/docs/path_template.rst new file mode 100644 index 0000000..220779e --- /dev/null +++ b/docs/path_template.rst @@ -0,0 +1,6 @@ +Path Templates +============== + +.. automodule:: google.api_core.path_template + :members: + :show-inheritance: diff --git a/docs/retry.rst b/docs/retry.rst new file mode 100644 index 0000000..23a7d70 --- /dev/null +++ b/docs/retry.rst @@ -0,0 +1,6 @@ +Retry +===== + +.. automodule:: google.api_core.retry + :members: + :show-inheritance: diff --git a/docs/timeout.rst b/docs/timeout.rst new file mode 100644 index 0000000..943d425 --- /dev/null +++ b/docs/timeout.rst @@ -0,0 +1,6 @@ +Timeout +======= + +.. automodule:: google.api_core.timeout + :members: + :show-inheritance: |