| oauth2client |
| ============ |
| |
| *making OAuth2 just a little less painful* |
| |
| ``oauth2client`` makes it easy to interact with OAuth2-protected resources, |
| especially those related to Google APIs. You can also start with `general |
| information about using OAuth2 with Google APIs |
| <https://developers.google.com/accounts/docs/OAuth2>`_. |
| |
| Getting started |
| --------------- |
| |
| We recommend installing via ``pip``: |
| |
| .. code-block:: bash |
| |
| $ pip install --upgrade oauth2client |
| |
| You can also install from source: |
| |
| .. code-block:: bash |
| |
| $ git clone https://github.com/google/oauth2client |
| $ cd oauth2client |
| $ python setup.py install |
| |
| Using ``pypy`` |
| -------------- |
| |
| - In order to use crypto libraries (e.g. for service accounts) you will |
| need to install one of ``pycrypto`` or ``pyOpenSSL``. |
| - Using ``pycrypto`` with ``pypy`` will be in general problematic. If |
| ``libgmp`` is installed on your machine, the ``pycrypto`` install will |
| attempt to build ``_fastmath.c``. However, this file uses CPython |
| implementation details and hence can't be built in ``pypy`` (as of |
| ``pypy`` 2.6 and ``pycrypto`` 2.6.1). In order to install |
| |
| .. code-block:: bash |
| |
| with_gmp=no pip install --upgrade pycrypto |
| |
| See discussions on the `pypy issue tracker`_ and the |
| `pycrypto issue tracker`_. |
| |
| - Using ``pyOpenSSL`` with versions of ``pypy`` before 2.6 may be in general |
| problematic since ``pyOpenSSL`` depends on the ``cryptography`` library. |
| For versions of ``cryptography`` before 1.0, importing ``pyOpenSSL`` |
| with it caused `massive startup costs`_. In order to address this |
| slow startup, ``cryptography`` 1.0 made some `changes`_ in how it used |
| ``cffi`` when means it can't be used on versions of ``pypy`` before 2.6. |
| |
| The default version of ``pypy`` you get when installed |
| |
| .. code-block:: bash |
| |
| apt-get install pypy pypy-dev |
| |
| on `Ubuntu 14.04`_ is 2.2.1. In order to upgrade, you'll need to use |
| the `pypy/ppa PPA`_: |
| |
| .. code-block:: bash |
| |
| apt-get purge pypy pypy-dev |
| add-apt-repository ppa:pypy/ppa |
| apt-get update |
| apt-get install pypy pypy-dev |
| |
| .. _pypy issue tracker: https://bitbucket.org/pypy/pypy/issues/997 |
| .. _pycrypto issue tracker: https://github.com/dlitz/pycrypto/pull/59 |
| .. _massive startup costs: https://github.com/pyca/pyopenssl/issues/137 |
| .. _changes: https://github.com/pyca/cryptography/issues/2275#issuecomment-130751514 |
| .. _Ubuntu 14.04: http://packages.ubuntu.com/trusty/pypy |
| .. _pypy/ppa PPA: https://launchpad.net/~pypy/+archive/ubuntu/ppa |
| |
| Downloads |
| ^^^^^^^^^ |
| |
| * `Most recent release tarball |
| <https://github.com/google/oauth2client/tarball/master>`_ |
| * `Most recent release zipfile |
| <https://github.com/google/oauth2client/zipball/master>`_ |
| * `Complete release list <https://github.com/google/oauth2client/releases>`_ |
| |
| Library Documentation |
| --------------------- |
| |
| * Complete library index: :ref:`genindex` |
| * Index of all modules: :ref:`modindex` |
| * Search all documentation: :ref:`search` |
| |
| Contributing |
| ------------ |
| |
| Please see the `contributing page`_ for more information. |
| In particular, we love pull requests -- but please make sure to sign the |
| contributor license agreement. |
| |
| .. _contributing page: https://github.com/google/oauth2client/blob/master/CONTRIBUTING.md |
| |
| .. toctree:: |
| :maxdepth: 1 |
| :hidden: |
| |
| source/oauth2client |
| |
| Supported Python Versions |
| ------------------------- |
| |
| We support Python 2.6, 2.7, 3.3+. (Whatever this file says, the truth is |
| always represented by our `tox.ini`_). |
| |
| .. _tox.ini: https://github.com/google/oauth2client/blob/master/tox.ini |
| |
| We explicitly decided to support Python 3 beginning with version |
| 3.3. Reasons for this include: |
| |
| * Encouraging use of newest versions of Python 3 |
| * Following the lead of prominent `open-source projects`_ |
| * Unicode literal support which |
| allows for a cleaner codebase that works in both Python 2 and Python 3 |
| |
| .. _open-source projects: http://docs.python-requests.org/en/latest/ |
| .. _Unicode literal support: https://www.python.org/dev/peps/pep-0414/ |