Metadata-Version: 2.1
Name: trustpilot
Version: 6.0.5
Summary: trustpilot api client including cli tool
Home-page: https://github.com/trustpilot/python-trustpilot
Author: jgv
Author-email: jgv@trustpilot.com
License: UNKNOWN
Description: trustpilot
        ==========
        
        |Build Status| |Latest Version| |Python Support|
        
        Python HTTP client for
        `Trustpilot <https://developers.trustpilot.com/>`__.
        
        Features
        ~~~~~~~~
        
        -  Extends the
           ```requests.Session`` <http://docs.python-requests.org/en/master/api/#requests.Session>`__
           class with automatic authentication for public and private endpoints
        -  GET, POST, PUT, DELETE, HEAD, OPTIONS and PATCH methods are exposed
           on module level
        -  Implements session factory and default singleton session
        -  Provides a simple hook system
        -  CLI tool with basic HTTP commands
        
        Installation
        ------------
        
        Install the package from `PyPI <http://pypi.python.org/pypi/>`__ using
        `pip <https://pip.pypa.io/>`__:
        
        ::
        
           pip install trustpilot
        
        Getting Started
        ---------------
        
        This client is using the
        `Requests <http://docs.python-requests.org/en/master/>`__ library.
        Responses are standard
        ```requests.Response`` <http://docs.python-requests.org/en/master/api/#requests.Response>`__
        objects. You can use it as a factory or as a singleton.
        
        Use the singleton session
        ~~~~~~~~~~~~~~~~~~~~~~~~~
        
        Use the built-in ``default session`` to instantiate a globally
        accessible session.
        
        .. code:: python
        
           from trustpilot import client
           client.default_session.setup(
               api_host="https://api.trustpilot.com",
               api_version="v1",
               api_key="YOUR_API_KEY",
               api_secret="YOUR_API_SECRET",
               username="YOUR_TRUSTPILOT_BUSINESS_USERNAME",
               password="YOUR_TRUSTPILOT_BUSINESS_PASSWORD"
           )
           response = client.get("/foo/bar")
        
        You can rely on environment variables for the setup of sessions so
        
        .. code:: bash
        
           $ env
           TRUSTPILOT_API_HOST=foobar.com
           TRUSTPILOT_API_VERSION=v1
           TRUSTPILOT_API_KEY=foo
           TRUSTPILOT_API_SECRET=bar
           TRUSTPILOT_USERNAME=username
           TRUSTPILOT_PASSWORD=password
        
        Will work with the implicit ``default_session`` and the
        ``TrustpilotSession.setup`` method.
        
        .. code:: python
        
           from trustpilot import client
           client.get("/foo/bar")
        
        Instantiate your own session
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        
        You can create as many sessions as you like, as long as you pass them
        around yourself.
        
        .. code:: python
        
           from trustpilot import client
           session = client.TrustpilotSession(
               api_host="https://api.trustpilot.com",
               api_version="v1",
               api_key="YOUR_API_KEY",
               api_secret="YOUR_API_SECRET",
               username="YOUR_TRUSTPILOT_BUSINESS_USERNAME",
               password="YOUR_TRUSTPILOT_BUSINESS_PASSWORD"
           )
           response = session.get("/foo/bar")
        
        Async client
        ------------
        
        Since version ``3.0.0`` you are able to use the ``async_client`` for
        ``asyncio`` usecases.
        
        To use the default ``async_client`` session, using ``env-vars`` for
        settings, import is as following:
        
        .. code:: python
        
           import asyncio
           from trustpilot import async_client
           loop = asyncio.get_event_loop()
        
           async def get_response():
               response = await async_client.get('/foo/bar')
               response_json = await response.json()
        
           loop.run_until_complete(get_response())
        
        Or instantiate the session yourself with:
        
        .. code:: python
        
           import asyncio
           from trustpilot import async_client
           loop = asyncio.get_event_loop()
        
           session = async_client.TrustpilotAsyncSession(
               api_host="https://api.trustpilot.com",
               api_version="v1",
               api_key="YOUR_API_KEY",
               api_secret="YOUR_API_SECRET",
               username="YOUR_TRUSTPILOT_BUSINESS_USERNAME",
               password="YOUR_TRUSTPILOT_BUSINESS_PASSWORD"
           )
        
           async def get_response():
               response = await session.get('/foo/bar')
               response_json = await response.json()
        
           loop.run_until_complete(get_response())
        
        CLI
        ---
        
        A command line tool ``trustpilot_api_client`` is bundled with the
        module. To invoke it, use:
        
        .. code:: bash
        
           Usage: trustpilot_api_client [OPTIONS] COMMAND [ARGS]...
        
           Options:
             --host TEXT               host name
             --version TEST            api version
             --key TEXT                api key
             --secret TEXT             api secret
             --token_issuer_host TEXT  token issuer host name
             --username TEXT           Trustpilot username
             --password TEXT           Trustpilot password
             -c TEXT                   json config file name
             -v, --verbose             verbosity level
             --help                    Show this message and exit.
        
           Commands:
             create_access_token  Get an access token
             delete               Send a DELETE request
             get                  Send a GET request
             post                 Send a POST request with specified data
             put                  Send a PUT request with specified data
        
        In order to use the **-c** option please supply the filename of a JSON
        in the following format:
        
        .. code:: json
        
           {
             "TRUSTPILOT_API_HOST": "foo",
             "TRUSTPILOT_API_VERSION": "v1",
             "TRUSTPILOT_API_KEY": "bar",
             "TRUSTPILOT_API_SECRET": "baz",
             "TRUSTPILOT_USERNAME": "username",
             "TRUSTPILOT_PASSWORD": "password"
           }
        
        Tests
        -----
        
        You can use pytest to run tests against your current Python version.
        
        See ```setup.py`` <setup.py>`__ for test dependencies.
        
        .. |Build Status| image:: https://travis-ci.org/trustpilot/python-trustpilot.svg?branch=master
           :target: https://travis-ci.org/trustpilot/python-trustpilot
        .. |Latest Version| image:: https://img.shields.io/pypi/v/trustpilot.svg
           :target: https://pypi.python.org/pypi/trustpilot
        .. |Python Support| image:: https://img.shields.io/pypi/pyversions/trustpilot.svg
           :target: https://pypi.python.org/pypi/trustpilot
        
        
        =======
        History
        =======
        
        0.1.0 (2016-11-09)
        ------------------
        
        * First release on gemfury
        
        0.1.1 (2016-11-09)
        ------------------
        
        * change names
        
        0.1.2 (2016-11-09)
        ------------------
        
        * fix issue with  401-retry
        
        0.1.3 (2016-11-10)
        ------------------
        
        * add dependencies to setup.py
        
        0.1.4 (2016-11-11)
        ------------------
        
        * cli tool
        
        0.1.5 (2016-11-11)
        ------------------
        
        * fix apikey url query param error
        
        0.1.6 (2016-11-11)
        ------------------
        
        * introduce different token_issuer_host thatn api_host
        
        0.1.7 (2016-12-06)
        ------------------
        
        * Introduce context_getter on session object, defaulted to holding CorrelationId=random_uuid
        
        1.0.0 (2017-02-01)
        ------------------
        
        * first release as oss, major refactoring of inner machinery (session objects, retry policies, cli, tests etc)
        
        1.1.0 (2017-06-12)
        ------------------
        
        * fixed logging so it does not use root logger. according to best practices mentioned in http://pythonsweetness.tumblr.com/post/67394619015/use-of-logging-package-from-within-a-library
        * removed dependency on httpretty since it is not supporting py3
        
        2.0.0 (2017-09-29)
        ------------------
        
        * DEPRECATED: create_session is getting deprecated, use trustpilot.client.default_session.setup instead
        * now able to query public endpoints without being authenticated
        
        2.1.0 (2017-10-05)
        ------------------
        
        * fixed issue in cli.post & cli.put where 'content_type' should be 'content-type'
        
        3.0.0 (2018-01-18)
        ------------------
        
        DELETED DO NOT USE!!
        
        * add async-client
        
        
        3.0.1 (2018-01-18)
        ------------------
        
        * removed prints
        * made async_client retry on unauthorized
        
        4.0.0 (2018-06-06)
        ------------------
        
        * drop support for Python 3.3
        
        
        4.0.1 (2018-06-06)
        ------------------
        
        * Switch to non-deprecated session object for utility method calls
        
        4.0.2 (2018-10-30)
        ------------------
        
        * Upgrade requests to 2.20.0
        
        5.0.0 (2019-01-04)
        ------------------
        
        * Update to authentication methods
        
        5.0.1 (2019-02-04)
        ------------------
        
        * Fix documentation formatting
        
        6.0.0 (2019-02-06)
        ------------------
        
        * reorganize code
        * add user-agent header
        * get access_token with async call in async_client
        
        6.0.3 (2019-08-15)
        ------------------
        
        * Added support for 'API Version' parameter for Client initialisation.
        
        6.0.4 (2019-08-15)
        ------------------
        
        * Remove auto-deploy to travis
        
        6.0.5 (2019-08-15)
        ------------------
        
        * allow newer version of requests dependency
Keywords: trustpilot api client
Platform: UNKNOWN
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Provides-Extra: test
Provides-Extra: async
