Metadata-Version: 1.2
Name: google-cloud-pubsub
Version: 0.41.0
Summary: Google Cloud Pub/Sub API client library
Home-page: https://github.com/GoogleCloudPlatform/google-cloud-python
Author: Google LLC
Author-email: googleapis-packages@google.com
License: Apache 2.0
Description: Python Client for Google Cloud Pub / Sub
        ========================================
        
        |beta| |pypi| |versions|
        
        `Google Cloud Pub / Sub`_ is a fully-managed real-time messaging service that
        allows you to send and receive messages between independent applications. You
        can leverage Cloud Pub/Sub’s flexibility to decouple systems and components
        hosted on Google Cloud Platform or elsewhere on the Internet. By building on
        the same technology Google uses, Cloud Pub / Sub is designed to provide “at
        least once” delivery at low latency with on-demand scalability to 1 million
        messages per second (and beyond).
        
        Publisher applications can send messages to a ``topic`` and other applications
        can subscribe to that topic to receive the messages. By decoupling senders and
        receivers, Google Cloud Pub/Sub allows developers to communicate between
        independently written applications.
        
        - `Product Documentation`_
        - `Client Library Documentation`_
        
        .. |beta| image:: https://img.shields.io/badge/support-beta-silver.svg
           :target: https://github.com/googleapis/google-cloud-python/blob/master/README.rst#beta-support
        .. |pypi| image:: https://img.shields.io/pypi/v/google-cloud-pubsub.svg
           :target: https://pypi.org/project/google-cloud-pubsub/
        .. |versions| image:: https://img.shields.io/pypi/pyversions/google-cloud-pubsub.svg
           :target: https://pypi.org/project/google-cloud-pubsub/
        .. _Google Cloud Pub / Sub: https://cloud.google.com/pubsub/
        .. _Product Documentation: https://cloud.google.com/pubsub/docs
        .. _Client Library Documentation: https://googleapis.github.io/google-cloud-python/latest/pubsub/
        
        Quick Start
        -----------
        
        In order to use this library, you first need to go through the following steps:
        
        1. `Select or create a Cloud Platform project.`_
        2. `Enable billing for your project.`_
        3. `Enable the Google Cloud Pub / Sub API.`_
        4. `Setup Authentication.`_
        
        .. _Select or create a Cloud Platform project.: https://console.cloud.google.com/project
        .. _Enable billing for your project.: https://cloud.google.com/billing/docs/how-to/modify-project#enable_billing_for_a_project
        .. _Enable the Google Cloud Pub / Sub API.:  https://cloud.google.com/pubsub
        .. _Setup Authentication.: https://googleapis.github.io/google-cloud-python/latest/core/auth.html
        
        Installation
        ~~~~~~~~~~~~
        
        Install this library in a `virtualenv`_ using pip. `virtualenv`_ is a tool to
        create isolated Python environments. The basic problem it addresses is one of
        dependencies and versions, and indirectly permissions.
        
        With `virtualenv`_, it's possible to install this library without needing system
        install permissions, and without clashing with the installed system
        dependencies.
        
        .. _`virtualenv`: https://virtualenv.pypa.io/en/latest/
        
        
        Supported Python Versions
        ^^^^^^^^^^^^^^^^^^^^^^^^^
        Python >= 3.5
        
        Deprecated Python Versions
        ^^^^^^^^^^^^^^^^^^^^^^^^^^
        Python == 2.7. Python 2.7 support will be removed on January 1, 2020.
        
        
        Mac/Linux
        ^^^^^^^^^
        
        .. code-block:: console
        
            pip install virtualenv
            virtualenv <your-env>
            source <your-env>/bin/activate
            <your-env>/bin/pip install google-cloud-pubsub
        
        
        Windows
        ^^^^^^^
        
        .. code-block:: console
        
            pip install virtualenv
            virtualenv <your-env>
            <your-env>\Scripts\activate
            <your-env>\Scripts\pip.exe install google-cloud-pubsub
        
        
        Example Usage
        ~~~~~~~~~~~~~
        
        Publishing
        ^^^^^^^^^^
        
        To publish data to Cloud Pub/Sub you must create a topic, and then publish
        messages to it
        
        .. code-block:: python
        
            import os
            from google.cloud import pubsub_v1
        
            publisher = pubsub_v1.PublisherClient()
            topic_name = 'projects/{project_id}/topics/{topic}'.format(
                project_id=os.getenv('GOOGLE_CLOUD_PROJECT'),
                topic='MY_TOPIC_NAME',  # Set this to something appropriate.
            )
            publisher.create_topic(topic_name)
            publisher.publish(topic_name, b'My first message!', spam='eggs')
        
        To learn more, consult the `publishing documentation`_.
        
        .. _publishing documentation: http://google-cloud-python.readthedocs.io/en/latest/pubsub/publisher/index.html
        
        
        Subscribing
        ^^^^^^^^^^^
        
        To subscribe to data in Cloud Pub/Sub, you create a subscription based on
        the topic, and subscribe to that, passing a callback function.
        
        .. code-block:: python
        
            import os
            from google.cloud import pubsub_v1
        
            subscriber = pubsub_v1.SubscriberClient()
            topic_name = 'projects/{project_id}/topics/{topic}'.format(
                project_id=os.getenv('GOOGLE_CLOUD_PROJECT'),
                topic='MY_TOPIC_NAME',  # Set this to something appropriate.
            )
            subscription_name = 'projects/{project_id}/subscriptions/{sub}'.format(
                project_id=os.getenv('GOOGLE_CLOUD_PROJECT'),
                sub='MY_SUBSCRIPTION_NAME',  # Set this to something appropriate.
            )
            subscriber.create_subscription(
                name=subscription_name, topic=topic_name)
        
            def callback(message):
                print(message.data)
                message.ack()
        
            future = subscriber.subscribe(subscription_name, callback)
        
        The future returned by the call to ``subscriber.subscribe`` can be used to
        block the current thread until a given condition obtains:
        
        .. code-block:: python
        
            try:
                future.result()
            except KeyboardInterrupt:
                future.cancel()
        
        To learn more, consult the `subscriber documentation`_.
        
        .. _subscriber documentation: http://google-cloud-python.readthedocs.io/en/latest/pubsub/subscriber/index.html
        
Platform: Posix; MacOS X; Windows
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Operating System :: OS Independent
Classifier: Topic :: Internet
Requires-Python: >=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*
