blob: 0543e1aade1b768a0c7b6a4917c0a6c1ce850c59 [file] [log] [blame]
*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
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
$ cd oauth2client
$ python 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:
.. _pycrypto issue tracker:
.. _massive startup costs:
.. _changes:
.. _Ubuntu 14.04:
.. _pypy/ppa PPA:
* `Most recent release tarball
* `Most recent release zipfile
* `Complete release list <>`_
Library Documentation
* Complete library index: :ref:`genindex`
* Index of all modules: :ref:`modindex`
* Search all documentation: :ref:`search`
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:
.. toctree::
:maxdepth: 1
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:
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:
.. _Unicode literal support: