You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
125 lines
4.0 KiB
125 lines
4.0 KiB
7 months ago
|
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/
|