Metadata-Version: 1.1
Name: python-wepay
Version: 1.4.1
Summary: Python SDK for WePay API (third party).
Home-page: https://github.com/lehins/python-wepay
Author: Alexey Kuleshevich
Author-email: lehins@yandex.ru
License: MIT License
Description: 
        python-wepay: Python WePay SDK (third party)
        ============================================
        
        .. image:: https://travis-ci.org/lehins/python-wepay.svg?branch=master   
           :target: https://travis-ci.org/lehins/python-wepay
           :alt: Travis-CI
        
        .. image:: https://coveralls.io/repos/lehins/python-wepay/badge.png?branch=master 
           :target: https://coveralls.io/r/lehins/python-wepay?branch=master 
           :alt: Tests Coverage
        
        .. image:: https://pypip.in/d/python-wepay/badge.png
            :target: https://crate.io/packages/python-wepay/
            :alt: Number of PyPI downloads
        
        
        Features
        --------
        
        * Make API calls in a very natural pythonic way, ex:
        
        .. code-block:: python
        
            >>> api = WePay(production=False, access_token='STAGE_243...')
            >>> response = api.account.create("name", "description", type='nonprofit')
            >>> account_id = response['account_id']
            >>> callback_uri = "https://example.com/ipn/account/%s" % account_id
            >>> response = api.account.modify(account_id, callback_uri=callback_uri)
            >>> api.preapproval.create("short description", "daily", amount=45.5, account_id=account_id)
            {"preapproval_id":619202, "preapproval_uri":"https://stage.wepay.com/api/preapproval/619202"}
        
        * Validation of all required and optional parameters to each one of the calls.
        * Very easy construction of batch calls, simply by passing ``batch_mode=True`` to
          a call, ex:
        
        .. code-block:: python
        
            >>> call1 = api.checkout.create(1234, short_description, type, amount, batch_mode=True)
            >>> call2 = api.withdrawal.find(1235, sort_order='ASC', access_token='access_token_for_other_account', batch_mode=True)
            >>> response = api.batch.create(client_id, client_secret, [call1, call2])
        
        
        About
        -----
        
        This package started as a part of `Django WePay Application
        <https://github.com/lehins/django-wepay>`_, but I soon realized it could be
        useful to other developers in Python community that do not use `Django
        <https://djangoproject.com>`_. Originally it meant to be an extension of an
        official `Python WePay SDK <https://github.com/wepay/Python-SDK>`_, but instead
        it became a replacement with full compatibilty with official WePay version.
        This package is also listed as a `third party Python SDK on WePay
        <https://www.wepay.com/developer/resources/sdks>`_.
        
        Status
        ------
        
        Production.
        
        Requirements
        ------------
        
        * Python >= 2.7 or >= 3.2
        * Registered Application with WePay `production <https://wepay.com>`_ site or
          it's `development <https://stage.wepay>`_ clone.
        * `six <https://pypi.python.org/pypi/six>`_.
        * `requests <http://docs.python-requests.org/en/latest/>`_ (optional):
        * `mock <https://pypi.python.org/pypi/mock>`_ (optional, for tests only)
        
        Installation
        ------------
        ::
        
            pip install python-wepay
        
        
        Documentation
        -------------
        
        http://python-wepay.readthedocs.org/en/latest/index.html
        
        License
        -------
        
        MIT licensed. See the bundled `LICENSE <https://github.com/lehins/python-wepay/blob/master/LICENSE>`_ file for more details.
        
        
        Changelog
        =========
        
        1.4.0
        -----
        
        * Removed backward compatibility with official `Python WePay SDK <https://github.com/wepay/Python-SDK>`_.
        * introduced :exc:`WePayHTTPError<wepay.exceptions.WePayHTTPError>`, which is a base exception for both :exc:`WePayClientError<wepay.exceptions.WePayClientError>` and :exc:`WePayServerError<wepay.exceptions.WePayServerError>`
        * added `cached_property` decorator.
        * changed they way calls are initialized. This change doesn't affect the way calls are made.
        
        1.3.5
        -----
        
        * Fixed and improved error handling, new exceptions: :exc:`WePayClientError<wepay.exceptions.WePayClientError>` and :exc:`WePayServerError<wepay.exceptions.WePayServerError>`
        
        1.3.4
        -----
        
        * Connection `timeout` can be specified on per call basis.
        
        1.3.0
        -----
        
        * Python 3 compatible
        * Calls are made using `requests <http://docs.python-requests.org/en/latest/>`_
          library by default (if installed), falls back to `urllib
          <https://docs.python.org/3/library/urllib.html#module-urllib>`_ if `requests`
          are not installed or if ``WePay`` is initialized with
          ``use_requests=False``.
        * ``WePayConnectionError`` is raised
          in case there is a problem connecting to WePay server, ex. timeout.
        * Addition of a full test suit.
        * Minor:
        
          * 'original_ip' and 'original_device' params are now optional in
            `/credit_card/create`.
          * ``silent`` mode is more flexible.
          * Moved ``SubscriptionPlan`` and ``SubscriptionCharge`` to their own modules.
          * Moved ``WePayWarning`` over to ``wepay.exceptions`` module.
        
        1.2.0
        -----
        
        * New API version 2014-01-08 changes are reflected in this SDK version:
        
          * implemented `/user/register` and `user/resend_confirmation` calls.
          * added `/account/get_update_uri` and `/account/get_reserve_details`
          * depricated `/account/add_bank`, `/account/balance`, `/account/get_tax`
            and `/account/set_tax` calls.
        
        * restructured SDK in such a way that all API objects are separate classes, so
          as an example, if we have a WePay instance ``api = WePay()`` and we want to
          make a `/account/find` call, it will look like this ``api.account.find()``
          instead of ``api.account_find()`` (notice **.** instead of **_**), although in
          this version both are equivalent, latter one is depricated and will be removed
          in version 1.3. Despite these changes lookup calls will be the same, ex.
          ``api.account(12345)``.
        
        * Added flexibility to use different API version per call basis. So it is now
          possible to make a depricated call like this: ``api.account.balance(1234,
          api_version='2011-01-15')``
        
        * added ``batch_reference_id`` keyword argument to each call that accepts
          ``batch_mode``
        
        
        1.1.2
        -----
        
        * Added required arguments to `/credit_card/create` call:
        
          * original_ip
          * original_device
        
        1.1.0
        -----
        
        * Added subscription calls:
        
          * `/subscription_plan`
          * `/subscription`
          * `/subscription_charge`
        
        * Few bug and spelling fixes.
        
        1.0.0
        -----
        
        * Initial release
        
Keywords: wepay,payment,credit card
Platform: any
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
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.2
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Topic :: Software Development :: Libraries :: Python Modules
