.. Protocol Buffers documentation master file, created by
   sphinx-quickstart on Thu Aug 15 13:56:43 2019.
   You can adapt this file completely to your liking, but it should at least
   contain the root `toctree` directive.

.. ifconfig:: build_env == 'readthedocs'

   .. warning::

      You are reading the documentation for the `latest committed changes
      <https://github.com/protocolbuffers/protobuf/tree/master/python>`_ of
      the `Protocol Buffers package for Python
      <https://developers.google.com/protocol-buffers/docs/pythontutorial>`_.
      Some features may not yet be released. Read the documentation for the
      latest released package at `googleapis.dev
      <https://googleapis.dev/python/protobuf/latest/>`_.

Protocol Buffers Python API Reference
=====================================

The complete documentation for Protocol Buffers is available via the web at:

  https://developers.google.com/protocol-buffers/


Modules and Packages
--------------------

.. START REFTOC, generated by generate_docs.py.
.. toctree::

   google/protobuf
   google/protobuf/any_pb2
   google/protobuf/descriptor
   google/protobuf/descriptor_database
   google/protobuf/descriptor_pb2
   google/protobuf/descriptor_pool
   google/protobuf/duration_pb2
   google/protobuf/empty_pb2
   google/protobuf/field_mask_pb2
   google/protobuf/internal/containers
   google/protobuf/json_format
   google/protobuf/message
   google/protobuf/message_factory
   google/protobuf/proto_builder
   google/protobuf/reflection
   google/protobuf/service
   google/protobuf/service_reflection
   google/protobuf/struct_pb2
   google/protobuf/symbol_database
   google/protobuf/text_encoding
   google/protobuf/text_format
   google/protobuf/timestamp_pb2
   google/protobuf/type_pb2
   google/protobuf/unknown_fields
   google/protobuf/wrappers_pb2

.. END REFTOC.

Indices and tables
------------------

* :ref:`genindex`
* :ref:`modindex`
