{ "info": { "author": "st4lk", "author_email": "alexevseev@gmail.com", "bugtrack_url": null, "classifiers": [ "Environment :: Web Environment", "Framework :: Django", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Utilities" ], "description": "Django REST social auth\n=======================\n\n[![Build Status](https://travis-ci.org/st4lk/django-rest-social-auth.svg?branch=master)](https://travis-ci.org/st4lk/django-rest-social-auth)\n[![Coverage Status](https://coveralls.io/repos/st4lk/django-rest-social-auth/badge.svg?branch=master)](https://coveralls.io/r/st4lk/django-rest-social-auth?branch=master)\n[![Pypi version](https://img.shields.io/pypi/v/rest_social_auth.svg)](https://pypi.python.org/pypi/rest_social_auth)\n\n\nOAuth signin with django rest framework.\n\n\nRequirements\n-----------\n\n- python (2.7, 3.5, 3.6, 3.7)\n- django (1.11, 2.0, 2.1, 2.2)\n- djangorestframework (>=3.1, <4.0)\n- social-auth-core (>=3.0, <4.0)\n- social-auth-app-django (>=3.1, <4.0)\n- [optional] djangorestframework-simplejwt (>=4.0.0)\n- [optional] django-rest-knox (>=3.2.0, <4.0.0)\n\nRelease notes\n-------------\n\n[Here](https://github.com/st4lk/django-rest-social-auth/blob/master/RELEASE_NOTES.md)\n\n\nMotivation\n----------\n\nTo have a resource, that will do very simple thing:\ntake the [oauth code](https://tools.ietf.org/html/rfc6749#section-1.3.1) from social provider (for example facebook)\nand return the authenticated user.\nThat's it.\n\nI can't find such util for [django rest framework](http://www.django-rest-framework.org/).\nThere are packages (for example [django-rest-auth](https://github.com/Tivix/django-rest-auth)), that take [access_token](https://tools.ietf.org/html/rfc6749#section-1.4), not the [code](https://tools.ietf.org/html/rfc6749#section-1.3.1).\nAlso, i've used to work with awesome library [python-social-auth](https://github.com/omab/python-social-auth),\nso it will be nice to use it again (now it is split into [social-core](https://github.com/python-social-auth/social-core) and [social-app-django](https://github.com/python-social-auth/social-app-django)). In fact, most of the work is done by this package.\nCurrent util brings a little help to integrate django-rest-framework and python-social-auth.\n\nQuick start\n-----------\n\n1. Install this package to your python distribution:\n\n ```bash\n pip install rest-social-auth\n ```\n\n2. Do the settings\n\n\n Install apps\n\n ```python\n INSTALLED_APPS = (\n ...\n 'rest_framework',\n 'rest_framework.authtoken', # only if you use token authentication\n 'social_django', # django social auth\n 'rest_social_auth', # this package\n 'knox', # Only if you use django-rest-knox\n )\n ```\n\n social auth settings, look [documentation](http://python-social-auth.readthedocs.io/en/latest/configuration/django.html) for more details\n\n ```python\n SOCIAL_AUTH_FACEBOOK_KEY = 'your app client id'\n SOCIAL_AUTH_FACEBOOK_SECRET = 'your app client secret'\n SOCIAL_AUTH_FACEBOOK_SCOPE = ['email', ] # optional\n SOCIAL_AUTH_FACEBOOK_PROFILE_EXTRA_PARAMS = {'locale': 'ru_RU'} # optional\n\n\n AUTHENTICATION_BACKENDS = (\n 'social_core.backends.facebook.FacebookOAuth2',\n # and maybe some others ...\n 'django.contrib.auth.backends.ModelBackend',\n )\n ```\n\n Also look [optional settings](#settings) avaliable.\n\n3. Make sure everything is up do date\n\n ```bash\n python manage.py migrate\n ```\n\n\n4. Include rest social urls (choose at least one)\n\n 4.1 [session authentication](http://www.django-rest-framework.org/api-guide/authentication/#sessionauthentication)\n\n ```python\n url(r'^api/login/', include('rest_social_auth.urls_session')),\n ```\n\n 4.2 [token authentication](http://www.django-rest-framework.org/api-guide/authentication/#tokenauthentication)\n\n ```python\n url(r'^api/login/', include('rest_social_auth.urls_token')),\n ```\n\n 4.3 [jwt authentication](https://github.com/davesque/django-rest-framework-simplejwt)\n\n ```python\n url(r'^api/login/', include('rest_social_auth.urls_jwt_pair')),\n ```\n\n or / and\n\n ```python\n url(r'^api/login/', include('rest_social_auth.urls_jwt_sliding')),\n ```\n\n 4.3.1 [jwt authentication (deprecated)](http://getblimp.github.io/django-rest-framework-jwt/)\n\n ```python\n url(r'^api/login/', include('rest_social_auth.urls_jwt')),\n ```\n\n 4.4 [knox authentication](https://github.com/James1345/django-rest-knox/)\n\n ```python\n url(r'^api/login/', include('rest_social_auth.urls_knox')),\n ```\n\n5. You are ready to login users\n\n Following examples are for OAuth 2.0.\n\n 5.1 session authentication\n\n - POST /api/login/social/session/\n\n input:\n\n {\n \"provider\": \"facebook\",\n \"code\": \"AQBPBBTjbdnehj51\"\n }\n\n output:\n\n {\n \"username\": \"Alex\",\n \"email\": \"user@email.com\",\n // other user data\n }\n\n + session id in cookies\n\n 5.2 token authentication\n\n - POST /api/login/social/token/\n\n input:\n\n {\n \"provider\": \"facebook\",\n \"code\": \"AQBPBBTjbdnehj51\"\n }\n\n output:\n\n {\n \"token\": \"68ded41d89f6a28da050f882998b2ea1decebbe0\"\n }\n\n - POST /api/login/social/token_user/\n\n input:\n\n {\n \"provider\": \"facebook\",\n \"code\": \"AQBPBBTjbdnehj51\"\n }\n\n output:\n\n {\n \"username\": \"Alex\",\n \"email\": \"user@email.com\",\n // other user data\n \"token\": \"68ded41d89f6a28da050f882998b2ea1decebbe0\"\n }\n\n 5.3 jwt authentication (using [django-rest-framework-simplejwt](https://github.com/davesque/django-rest-framework-simplejwt))\n\n - POST /api/login/social/jwt-pair/\n - POST /api/login/social/jwt-pair-user/\n\n Similar to token authentication, but token is JSON Web Token.\n\n See [JWT.io](http://jwt.io/) for details.\n\n To use it, django-rest-framework-simplejwt must be installed.\n\n For `jwt-pair`, the response will include additional \"refresh\" token:\n ```json\n {\n \"token\": \"...\",\n \"refresh\": \"...\"\n }\n ```\n\n ##### Or sliding JWT token:\n\n - POST /api/login/social/jwt-sliding/\n - POST /api/login/social/jwt-sliding-user/\n\n Check [docs of simplejwt](https://github.com/davesque/django-rest-framework-simplejwt#token-types) for pair/sliding token difference.\n\n Note: Sinse django-rest-framework-simplejwt doesn't support python 2.x, this APIs will work only with python 3.x.\n\n 5.3.1 jwt authentcation (using unmaintained [django-rest-framework-jwt](https://github.com/GetBlimp/django-rest-framework-jwt))\n\n - POST /api/login/social/jwt/\n - POST /api/login/social/jwt_user/\n\n To use it, django-rest-framework-jwt must be installed. \n\n Note: django-rest-framework-jwt package is not being maintained for a long time, therefore it is better to avoid using it. Current tool will drop support of it in next major version with high probability. But you may still want to use it if your project use python 2.7 or due to historical reasons.\n\n 5.4 knox authentication\n\n - POST /api/login/social/knox/\n - POST /api/login/social/knox_user/\n\n Similar to jwt/token authentication, but token is a Django Rest Knox Token.\n\n To use it, [django-rest-knox](https://github.com/James1345/django-rest-knox/) must be installed.\n\n\n User model is taken from [`settings.AUTH_USER_MODEL`](https://docs.djangoproject.com/en/dev/topics/auth/customizing/#substituting-a-custom-user-model).\n\n At input there is also non-required field `redirect_uri`.\n If given, server will use this redirect uri in requests, instead of uri\n got from settings.\n This redirect_uri must be equal in front-end request and in back-end request.\n Back-end will not do any redirect in fact.\n\n It is also possible to specify provider in url, not in request body.\n Just append it to the url:\n\n POST /api/login/social/session/facebook/\n\n Don't need to specify it in body now:\n\n {\n \"code\": \"AQBPBBTjbdnehj51\"\n }\n\n\nOAuth 2.0 workflow with rest-social-auth\n-----------------------------------------\n1. Front-end need to know following params for each social provider:\n - client_id _# only in case of OAuth 2.0, id of registered application on social service provider_\n - redirect_uri _# to this url social provider will redirect with code_\n - scope=your_scope _# for example email_\n - response_type=code _# same for all oauth2.0 providers_\n\n2. Front-end redirect user to social authorize url with params from previous point.\n\n3. User confirms.\n\n4. Social provider redirects back to `redirect_uri` with param `code`.\n\n5. Front-end now ready to login the user. To do it, send POST request with provider name and code:\n\n POST /api/login/social/session/\n\n with data (form data or json)\n\n provider=facebook&code=AQBPBBTjbdnehj51\n\n Backend will either signin the user, either signup, either return error.\n\n Sometimes it is more suitable to specify provider in url, not in request body.\n It is possible, rest-social-auth will understand that.\n Following request is the same as above:\n\n POST /api/login/social/session/facebook/\n\n with data (form data or json)\n\n code=AQBPBBTjbdnehj51\n\n\nOAuth 1.0a workflow with rest-social-auth\n-----------------------------------------\n1. Front-end needs to make a POST request to your backend with the provider name ONLY:\n\n POST /api/login/social/\n\n with data (form data or json):\n\n provider=twitter\n\n Or specify provider in url, in that case data will be empty:\n\n POST /api/login/social/twitter\n\n2. The backend will return a short-lived `oauth_token` request token in the response. This can be used by the front-end to perform authentication with the provider.\n\n3. User confirms. In the case of Twitter, they will then return the following data to your front-end:\n\n {\n \"redirect_state\": \"...bHrz2x0wy43\",\n \"oauth_token\" : \"...AAAAAAAhD5u\",\n \"oauth_verifier\": \"...wDBdTR7CYdR\"\n }\n\n4. Front-end now ready to login the user. To do it, send POST request again with provider name and the `oauth_token` and `oauth_verifier` you got from the provider:\n\n POST /api/login/social/\n\n with data (form data or json)\n\n provider=twitter&oauth_token=AQBPBBTjbdnehj51&oauth_verifier=wDBdTR7CYdR\n\n Backend will either signin the user, or signup, or return an error.\n Same as in OAuth 2.0, you can specify provider in url, not in body:\n\n POST /api/login/social/twitter\n\nThis flow is the same as described in [satellizer](https://github.com/sahat/satellizer#-login-with-oauth-10). This angularjs module is used in example project.\n\n#### Note\nIf you use token (or jwt) authentication and OAuth 1.0, then you still need 'django.contrib.sessions' app (it is not required for OAuth 2.0 and token authentication).\nThis is because python-social-auth will store some data in session between requests to OAuth 1.0 provider.\n\n\nrest-social-auth purpose\n------------------------\n\nAs we can see, our backend must implement resource for signin the user.\n\nDjango REST social auth provides means to easily implement such resource.\n\n\nList of oauth providers\n-----------------------\n\nOAuth 1.0 and OAuth 2.0 providers are supported.\n\nLook [python-social-auth](http://python-social-auth.readthedocs.io/en/latest/backends/index.html#social-backends) for full list.\nName of provider is taken from corresponding `backend.name` property of\nparticular backed class in python-social-auth.\n\nFor example for [facebook backend](https://github.com/python-social-auth/social-core/blob/master/social_core/backends/facebook.py#L22)\nwe see:\n\n class FacebookOAuth2(BaseOAuth2):\n name = 'facebook'\n\nHere are some provider names:\n\nProvider | provider name\n--------- | -------------\nFacebook | facebook\nGoogle | google-oauth2\nVkontakte | vk-oauth2\nInstagram | instagram\nGithub | github\nYandex | yandex-oauth2\nTwitter | twitter\n[Others](http://python-social-auth.readthedocs.io/en/latest/backends/index.html#social-backends) | [...](http://python-social-auth.readthedocs.io/en/latest/backends/index.html#social-backends)\n\n\nSettings\n--------\n\n- `REST_SOCIAL_OAUTH_REDIRECT_URI`\n\n Default: `'/'`\n\n Defines redirect_uri. This redirect must be the same in both authorize request (made by front-end) and access token request (made by back-end) to OAuth provider.\n\n To override the relative path (url path or url name are both supported):\n\n REST_SOCIAL_OAUTH_REDIRECT_URI = '/oauth/redirect/path/'\n # or url name\n REST_SOCIAL_OAUTH_REDIRECT_URI = 'redirect_url_name'\n\n Note, in case of url name, backend name will be provided to url resolver as argument.\n\n- `REST_SOCIAL_DOMAIN_FROM_ORIGIN`\n\n Default: `True`\n\n Sometimes front-end and back-end are run on different domains.\n For example frontend at 'myproject.com', and backend at 'api.myproject.com'.\n\n If True, domain will be taken from request origin, if origin is defined.\n So in current example domain will be 'myproject.com', not 'api.myproject.com'.\n Next, this domain will be joined with path from `REST_SOCIAL_OAUTH_REDIRECT_URI` settings.\n\n To be clear, suppose we have following settings (defaults):\n\n REST_SOCIAL_OAUTH_REDIRECT_URI = '/'\n REST_SOCIAL_DOMAIN_FROM_ORIGIN = True\n\n Front-end is running on domain 'myproject.com', back-end - on 'api.myproject.com'.\n Back-end will use following redirect_uri:\n\n myproject.com/\n\n And with following settings:\n\n REST_SOCIAL_OAUTH_REDIRECT_URI = '/'\n REST_SOCIAL_DOMAIN_FROM_ORIGIN = False\n\n redirect_uri will be:\n\n api.myproject.com/\n\n Also look at [django-cors-headers](https://github.com/ottoyiu/django-cors-headers) if such architecture is your case.\n\n- `REST_SOCIAL_OAUTH_ABSOLUTE_REDIRECT_URI`\n\n Default: `None`\n\n Full redirect uri (domain and path) can be hardcoded\n\n REST_SOCIAL_OAUTH_ABSOLUTE_REDIRECT_URI = 'http://myproject.com/'\n\n This settings has higher priority than `REST_SOCIAL_OAUTH_REDIRECT_URI` and `REST_SOCIAL_DOMAIN_FROM_ORIGIN`.\n I.e. if this settings is defined, other will be ignored.\n But `redirect_uri` param from request has higher priority than any setting.\n\n- `REST_SOCIAL_LOG_AUTH_EXCEPTIONS`\n\n Default: `True`\n\n When `False` will not log social auth authentication exceptions.\n\n\nCustomization\n-------------\n\nFirst of all, customization provided by python-social-auth is also avaliable.\nFor example, use nice mechanism of [pipeline](http://python-social-auth.readthedocs.io/en/latest/pipeline.html) to do any action you need during login/signin.\n\nSecond, you can override any method from current package.\nSpecify serializer for each view by subclassing the view.\n\nTo do it\n\n- define your own url:\n\n url(r'^api/login/social/$', MySocialView.as_view(), name='social_login'),\n\n- define your serializer\n\n from rest_framework import serializers\n from django.contrib.auth import get_user_model\n\n class MyUserSerializer(serializers.ModelSerializer):\n\n class Meta:\n model = get_user_model()\n exclude = ('password', 'user_permissions', 'groups')\n\n- define view\n\n from rest_social_auth.views import SocialSessionAuthView\n from .serializers import MyUserSerializer\n\n class MySocialView(SocialSessionAuthView):\n serializer_class = MyUserSerializer\n\nCheck the code of the lib, there is not much of it.\n\n\nExample\n-------\n\nThere is an [example project](https://github.com/st4lk/django-rest-social-auth/tree/master/example_project).\n\n- clone repo\n\n ```bash\n git clone https://github.com/st4lk/django-rest-social-auth.git\n ```\n\n- step in example_project/\n\n ```bash\n cd django-rest-social-auth/example_project\n ```\n\n- create database (sqlite3)\n\n ```bash\n PYTHONPATH='../' python manage.py migrate\n ```\n\n Note:\n You can avoid `PYTHONPATH='../'` if you install the package locally:\n `pip install rest-social-auth` or `python setup.py install`.\n \n But to my mind the PYTHONPATH prefix is more useful. No need to install anything and code of rest-social-auth will be always up-to-date, even if you change source code.\n \n\n- run development server\n\n ```bash\n PYTHONPATH='../' python manage.py runserver\n ```\n\nExample project already contains facebook, google and twitter app ids and secrets.\nThese apps are configured to work only with http://127.0.0.1:8000/ domain. Google and Facebook providers support http://localhost:8000/ as well. But Twitter only support 127.0.0.1.\nSo, to play with it, visit http://127.0.0.1:8000/\n\nExample project uses [satellizer](https://github.com/sahat/satellizer) angularjs module.\n\n\nContributors\n------------\n\n- Alexey Evseev, [st4lk](https://github.com/st4lk)\n- James Keys, [skolsuper](https://github.com/skolsuper)\n- Aaron Abbott, [aabmass](https://github.com/aabmass)\n- Grigorii Eremeev, [Budulianin](https://github.com/Budulianin)\n- shubham, [shubh3794](https://github.com/shubh3794)\n- Deshraj Yadav, [DESHRAJ](https://github.com/DESHRAJ)\n- georgewhewell, [georgewhewell](https://github.com/georgewhewell)\n- Ahmed Sa3d, [zee93](https://github.com/zee93)\n- Olle Vidner, [ovidner](https://github.com/ovidner)\n- MounirMesselmeni, [MounirMesselmeni](https://github.com/MounirMesselmeni)\n- Tuomas Virtanen, [katajakasa](https://github.com/katajakasa)\n- Jeremy Storer, [storerjeremy](https://github.com/storerjeremy)\n- Jeffrey de Lange, [jgadelange](https://github.com/jgadelange)\n- John Vandenberg, [jayvdb](https://github.com/jayvdb)\n- Anton_Datsik, [AntonDatsik](https://github.com/AntonDatsik)\n\n\nrest_social_auth release notes\n==============================\n\nmaster\n------\n\nv2.2.0\n------\n- Update license, use MIT\n- Add Django 2.2 support\n- Fix customer redirect URI for OAuth1\n- Cleanup knox integration\n\nv2.1.0\n------\n- Use djangorestframework-simplejwt for JWT implementation\n- Deprecate djangorestframework-jwt\n- Add python3.7 support\n\nIssues: #74\n\nv2.0.2\n------\n- Make social-auth-core >=3.0 as mandatory dependency \n\nv2.0.1\n------\n- Minor update of pypi deployment process\n\nv2.0.0\n------\n- Update social-auth-core dependency to at least 3.0.0\n\nIssues: #73\n\nv1.5.0\n------\n- Update minimal required version of social-auth-app-django to 3.1.0\n- Minor updates in readme\n- Add Django 2.1 support\n- Drop Django 1.10 support\n- Drop Python 3.4 support\n\nIssues: #70\n\nv1.4.0\n------\n- Add django-rest-knox support\n\nv1.3.1\n------\n- Fix Django 2.0 support\n\nv1.3.0\n------\n- Add Django 2.0 support\n- Drop Django 1.8, 1.9 support\n\nIssues: #58\n\nv1.2.0\n------\n- Add Python 3.6 and Django 1.11 support\n\nIssues #54\n\nv1.1.0\n------\n- Update docs\n- Add new setting `REST_SOCIAL_LOG_AUTH_EXCEPTIONS`\n\nIssues #42\n\nv1.0.0\n------\n- Add Django 1.10 support\n- Drop Django 1.7 support\n- Add social-auth-core, social-auth-app-django dependencies\n- Drop python-social-auth dependency\n\nIssues: #33, #35, #37, #38\n\nv0.5.0\n------\n- Handle HttpResponses returned by the pipeline\n\nIssues: #28\n\nv0.4.4\n------\n- Log exceptions from python-social-auth\n- Don't use find_packages from setuptools\n\nIssues: #22, #25\n\nv0.4.3\n------\n- Fix queryset assert error\n- minor typo fixes\n\nIssues: #20\n\nv0.4.2\n------\n- Remove django.conf.urls.patterns from code\n- Exclude modifing immutable data\n- refactor tests\n- minor typo fixes\n\nIssues: #11, #17, #14\n\nv0.4.1\n------\n- Fix requirements.txt: allow django==1.9\n\nv0.4.0\n------\n- Add [JSON Web Tokens](http://jwt.io/) using [djangorestframework-jwt](https://github.com/GetBlimp/django-rest-framework-jwt)\n- Add Python 3.5 and Django 1.9 support\n\nIssues: #6\n\nv0.3.1\n------\n- Explicitly set token authentication for token views\n\nv0.3.0\n------\n- Add support for Oauth1\n- Add ability to override request parsing\n- Allow to specify provider in url\n- Drop Python 2.6 and Django 1.6 support\n\nIssues: #2, #3, #5\n\nv0.2.0\n------\n- Get domain from HTTP Origin\n- Add example of Google OAuth2.0\n- Add manual redirect uri (front-end can specify it)\n- Use GenericAPIView instead of APIView\n- Main serializer is output serializer, not input\n- Update docs\n- Minor code fixes\n\nv0.1.0\n------\n\nFirst version in pypi", "description_content_type": "text/markdown; charset=UTF-8", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/st4lk/django-rest-social-auth", "keywords": "django,social,auth,rest,login,signin,signup,oauth", "license": "MIT license", "maintainer": "", "maintainer_email": "", "name": "rest-social-auth", "package_url": "https://pypi.org/project/rest-social-auth/", "platform": "Any", "project_url": "https://pypi.org/project/rest-social-auth/", "project_urls": { "Homepage": "https://github.com/st4lk/django-rest-social-auth" }, "release_url": "https://pypi.org/project/rest-social-auth/2.2.0/", "requires_dist": null, "requires_python": "", "summary": "Django rest framework resources for social auth", "version": "2.2.0" }, "last_serial": 5311330, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "ed8de422b6d7e579f648253b3bdb638a", "sha256": "54f3562e7cd259512c9685c747c8068f55d5e1860e272a39968c5889c1d0d8ce" }, "downloads": -1, "filename": "rest_social_auth-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ed8de422b6d7e579f648253b3bdb638a", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 13727, "upload_time": "2015-05-26T15:51:15", "url": "https://files.pythonhosted.org/packages/90/66/bca2d89b3daf4493bffa17317dba6f3b9c1242e86ed102755dd7d38e2522/rest_social_auth-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "360b17d8dfc80a5102a56f67c7db357f", "sha256": "68cfed296df394a5d8d699e28a2b75a7fa69f9a10b5e85c33ad58e405edd2e25" }, "downloads": -1, "filename": "rest_social_auth-0.1.0.tar.gz", "has_sig": false, "md5_digest": "360b17d8dfc80a5102a56f67c7db357f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10554, "upload_time": "2015-05-26T15:51:11", "url": "https://files.pythonhosted.org/packages/27/1c/d51d7a0b26bd4611e6e0c9606e437fb2e7e30ab1359a44980c10e8ce81cf/rest_social_auth-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "4af4f73841d499b06fd38b4254cee5d3", "sha256": "d41a2d647d78eff72d80c738453d0a2be27200d813eb4c4e98e7d50b652c4fdd" }, "downloads": -1, "filename": "rest_social_auth-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4af4f73841d499b06fd38b4254cee5d3", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 15562, "upload_time": "2015-06-29T09:59:01", "url": "https://files.pythonhosted.org/packages/fa/5e/5b1d12693990af0850780d0bfeb4f4b66251aad683ae3c74a097861bd917/rest_social_auth-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b37d31a713f7d0e105ce84271b7f1d96", "sha256": "1a9163d2a9775f49f4484233ecb704e84295d8fe34115529f13976e1d1c55fb8" }, "downloads": -1, "filename": "rest_social_auth-0.2.0.tar.gz", "has_sig": false, "md5_digest": "b37d31a713f7d0e105ce84271b7f1d96", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12411, "upload_time": "2015-06-29T09:58:57", "url": "https://files.pythonhosted.org/packages/bd/87/739ba8fdb7784b94d11b2c36385d83573ea1232e60e8d29821fd759542f3/rest_social_auth-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "7c456e3b9229f2812bc7c91dd34a07c8", "sha256": "b3a496b6d53eae95efde6c17dcefef889d1d4d97d731a363b36c5b977fc41acc" }, "downloads": -1, "filename": "rest_social_auth-0.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7c456e3b9229f2812bc7c91dd34a07c8", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 19406, "upload_time": "2015-12-01T13:13:26", "url": "https://files.pythonhosted.org/packages/79/53/a91c9932308afb5609d9e8307e7b00ec500e7fc4cc6d7fda0715e07803cf/rest_social_auth-0.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "55777acf95ff859dd03cb48df1354834", "sha256": "795b1c9cb0e70c0bece147791d27e3cd11dd80704f3d1687b0e85ba5e053518b" }, "downloads": -1, "filename": "rest_social_auth-0.3.0.tar.gz", "has_sig": false, "md5_digest": "55777acf95ff859dd03cb48df1354834", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18720, "upload_time": "2015-12-01T13:12:44", "url": "https://files.pythonhosted.org/packages/d5/28/0e9b63593733000c7a3a04b60be01391b7316e943d1b7f12241286ec14d6/rest_social_auth-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "68f8bd4c012f4a8fdfcf0ab2da4e70a7", "sha256": "6e2f7878d59981b3ae59706d83e4ca56602d11f00b331b42317b0dd0e96e7f22" }, "downloads": -1, "filename": "rest_social_auth-0.3.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "68f8bd4c012f4a8fdfcf0ab2da4e70a7", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 19568, "upload_time": "2015-12-02T18:20:27", "url": "https://files.pythonhosted.org/packages/f9/d5/73a65989a19ccbbe4332550009044cff7dd6eae8adedba93af0cdecc08a7/rest_social_auth-0.3.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "de853cad22ff91aed3b50681ebed69cf", "sha256": "7622715e78eda3620381fe3ed160f3a196bef467330527a9e809a90f9b4e790b" }, "downloads": -1, "filename": "rest_social_auth-0.3.1.tar.gz", "has_sig": false, "md5_digest": "de853cad22ff91aed3b50681ebed69cf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19011, "upload_time": "2015-12-02T18:20:12", "url": "https://files.pythonhosted.org/packages/21/dc/da11d2e0b847a2885a576727ebc44edad03144679a8d0e1e7c7ee2ebbd3d/rest_social_auth-0.3.1.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "2277e91b5e46e137c42bf2b82af98a6b", "sha256": "77d8491dd075c8f95c150ae8b5465b273ea497d26c460137581efe5cd08fbddf" }, "downloads": -1, "filename": "rest_social_auth-0.4.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2277e91b5e46e137c42bf2b82af98a6b", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 21193, "upload_time": "2015-12-05T11:11:15", "url": "https://files.pythonhosted.org/packages/71/81/c03bba3a8e5f5ddfa533324c38f7b79f9b94425691d395668a1c9ed1d631/rest_social_auth-0.4.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cba3c2fef07df04d070a0daa69005c51", "sha256": "ae648fee1cffc44378513c044fa23f3b4ecf08c1fe37020b2384320b9fc897a6" }, "downloads": -1, "filename": "rest_social_auth-0.4.0.tar.gz", "has_sig": false, "md5_digest": "cba3c2fef07df04d070a0daa69005c51", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20783, "upload_time": "2015-12-05T11:11:04", "url": "https://files.pythonhosted.org/packages/83/48/5246ba0c3752c3e0439883e6e8cd6ea571d77950e53f4523bc8491b99c4b/rest_social_auth-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "a2b94f998026c07bf4f3baa2d3e10465", "sha256": "473585653073e99ac1ad0ecc7b0cb804cd4f43b35cc33ac97c0521604215ee51" }, "downloads": -1, "filename": "rest_social_auth-0.4.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a2b94f998026c07bf4f3baa2d3e10465", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 21264, "upload_time": "2015-12-05T11:31:01", "url": "https://files.pythonhosted.org/packages/2e/66/e9c1071ef3269a1af472471d62589d1e6fd5ec385fc480705fd356d728ff/rest_social_auth-0.4.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "24bae9f6b5f112dc873883369a602328", "sha256": "e7e700adea1c5c67bdd2d2364f713f5b1421b00c640173836d39f4c7e460a3e1" }, "downloads": -1, "filename": "rest_social_auth-0.4.1.tar.gz", "has_sig": false, "md5_digest": "24bae9f6b5f112dc873883369a602328", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20824, "upload_time": "2015-12-05T11:30:45", "url": "https://files.pythonhosted.org/packages/6b/1a/0e028ae27f3d428c19a17c7dc23017f8d25829f4cfac6c6f250dc1ce10f6/rest_social_auth-0.4.1.tar.gz" } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "78ab13dc8cb8193a07e2b7495d69bb7d", "sha256": "c8ced7f78366f7a64ed4afaa69e4147996423935c5715ee8e98d68aba3f491ed" }, "downloads": -1, "filename": "rest_social_auth-0.4.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "78ab13dc8cb8193a07e2b7495d69bb7d", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 21325, "upload_time": "2016-02-29T18:32:00", "url": "https://files.pythonhosted.org/packages/74/09/531bc92b46a361cc48c5a5870df648ecf8e324f02e70ed8ea777a8dfcb64/rest_social_auth-0.4.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5b3f1017f0fcd57eb8769a428a7c6245", "sha256": "73ce83f3e7bf4325afb0f81770fdaaa375daea07a5603cf472d0d54b0a05b83c" }, "downloads": -1, "filename": "rest_social_auth-0.4.2.tar.gz", "has_sig": false, "md5_digest": "5b3f1017f0fcd57eb8769a428a7c6245", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21426, "upload_time": "2016-02-29T18:31:52", "url": "https://files.pythonhosted.org/packages/1a/69/f599a9c9d0ee092c43dcd7c9d2a32eff93b885b019a365b507f55548cacc/rest_social_auth-0.4.2.tar.gz" } ], "0.4.3": [ { "comment_text": "", "digests": { "md5": "9774d1bc033eae059e31353407e36696", "sha256": "f5dcd3b58ab04806802214ed197551e2aa19740edb821f0207f84568f03210ac" }, "downloads": -1, "filename": "rest_social_auth-0.4.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9774d1bc033eae059e31353407e36696", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 21746, "upload_time": "2016-04-02T22:17:55", "url": "https://files.pythonhosted.org/packages/09/b5/affc8b40e3460fa583a61d46b01461de2219ed1d16f55522a04399ac8dfd/rest_social_auth-0.4.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "34ec02040f67f22256980829234994cc", "sha256": "ba1356d9351d83db4903488384fbdea44197b7e66c41402f29e295c4845dc7d4" }, "downloads": -1, "filename": "rest_social_auth-0.4.3.tar.gz", "has_sig": false, "md5_digest": "34ec02040f67f22256980829234994cc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21946, "upload_time": "2016-04-02T22:17:11", "url": "https://files.pythonhosted.org/packages/91/cb/34dbbb040fc3b7f88cc0b5ed42a27ff65f64a17d7dd5a737977f25350725/rest_social_auth-0.4.3.tar.gz" } ], "0.4.4": [ { "comment_text": "", "digests": { "md5": "df1192111379ff2906d06d6516c7d95a", "sha256": "1c44ff423d88f8413c393c169ab52b64fa4de33d88d67e593929337134c6ba65" }, "downloads": -1, "filename": "rest_social_auth-0.4.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "df1192111379ff2906d06d6516c7d95a", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 21855, "upload_time": "2016-05-09T17:41:55", "url": "https://files.pythonhosted.org/packages/47/53/dc6f3fc7445f4bfd8b2c1823a91fc720e9122cd514b63c7d16589a4234bb/rest_social_auth-0.4.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b511f541d557cf4c58a8bc0b28fc4041", "sha256": "69647a8fbfdbfb067eec6a1825669b7cff00f6c68d8df870e957d462162e217d" }, "downloads": -1, "filename": "rest_social_auth-0.4.4.tar.gz", "has_sig": false, "md5_digest": "b511f541d557cf4c58a8bc0b28fc4041", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22088, "upload_time": "2016-05-09T17:41:42", "url": "https://files.pythonhosted.org/packages/55/00/fe20919cf1060df5f772328639fe5efe1293ad8abdf4c3da86a470960f18/rest_social_auth-0.4.4.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "e6cd62a0dfdbe375079d9e896a50c6be", "sha256": "e04d06d7d54206488a15f2a2b78a8874260f1c8ca644e003ffd993b6e3a3544b" }, "downloads": -1, "filename": "rest_social_auth-0.5.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e6cd62a0dfdbe375079d9e896a50c6be", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 7932, "upload_time": "2016-07-06T09:45:49", "url": "https://files.pythonhosted.org/packages/b5/9c/98ef5fbef418d23d5f85baa2545ded349b1265a21d6364449e7526022c55/rest_social_auth-0.5.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "98c8099a42d60cd661df5b34e87d7455", "sha256": "4eeb01204fbd04f58f7749e6f5ee3f1a826ea47600b823c71b46f9fcedb25135" }, "downloads": -1, "filename": "rest_social_auth-0.5.0.tar.gz", "has_sig": false, "md5_digest": "98c8099a42d60cd661df5b34e87d7455", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10347, "upload_time": "2016-07-06T09:45:40", "url": "https://files.pythonhosted.org/packages/ce/b9/4d6c6fafa51195efa3cc1e34a82e63012027c04ae9a5d337589298a385ee/rest_social_auth-0.5.0.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "a4c3ad75ca79812709ee3f838f26ca1f", "sha256": "2110a721339a341ad464ae6d0cfea6a4daf79ba74510a44c73a92a39d21814d3" }, "downloads": -1, "filename": "rest_social_auth-1.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a4c3ad75ca79812709ee3f838f26ca1f", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 18819, "upload_time": "2017-01-04T06:06:48", "url": "https://files.pythonhosted.org/packages/97/2d/84547300a6af095cfaaa1fa6cda15569d3ea45dd84330cdd62fcb582bfc1/rest_social_auth-1.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b5371f3fb05a866e27b1a09fa286f0c1", "sha256": "a58131af83af295137abb54060821ca60dfdca17ece878e607fa6c7a03290cf9" }, "downloads": -1, "filename": "rest_social_auth-1.0.0.tar.gz", "has_sig": false, "md5_digest": "b5371f3fb05a866e27b1a09fa286f0c1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20001, "upload_time": "2017-01-04T06:06:43", "url": "https://files.pythonhosted.org/packages/ba/68/7cbbd9d12ac85cb63bd248a7d5722feff7999ce0239082cc0719ec201df5/rest_social_auth-1.0.0.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "d962cade5c95b50c86ae2e53f1de95e7", "sha256": "4c69fa2a0e036f4c1ce5bc3208be1d6221d80fdfb66354683e2ac82c4d154695" }, "downloads": -1, "filename": "rest_social_auth-1.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d962cade5c95b50c86ae2e53f1de95e7", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 19224, "upload_time": "2017-02-16T08:25:26", "url": "https://files.pythonhosted.org/packages/82/64/2933bc7846e31c276f4931de9eceb8faa27bc5af2c87a891e7c3fab8cd28/rest_social_auth-1.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "44ec0f78c5d6a4b3c87164e9cc33b831", "sha256": "2eb635dc61a3368a841f7da8c00be29dc5607c2ebfb58e5e2fbf377465fefa23" }, "downloads": -1, "filename": "rest_social_auth-1.1.0.tar.gz", "has_sig": false, "md5_digest": "44ec0f78c5d6a4b3c87164e9cc33b831", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20602, "upload_time": "2017-02-16T08:25:22", "url": "https://files.pythonhosted.org/packages/0f/ec/feab1a96791184a02a386945073ea58a0799c4c76ff17b0a679c7c080d51/rest_social_auth-1.1.0.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "92b5b6908721b8c7dcc72f63bf1017d9", "sha256": "4d1efc29a851a3e09d2d1deb180de3ae13e161bae3ad4471f3aa02a8a0a1c2f7" }, "downloads": -1, "filename": "rest_social_auth-1.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "92b5b6908721b8c7dcc72f63bf1017d9", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 19358, "upload_time": "2017-09-28T08:06:37", "url": "https://files.pythonhosted.org/packages/d0/cc/08199fa57b82c8d7d03e336fef01246b04eb6eedb3cc17a2caa5d8b93ba8/rest_social_auth-1.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a3d294e09a9dd8bee9be9835049201a1", "sha256": "ec00ef94fe28c9b947c8f590ebddaf8166098c7f239b94ec646d3d9a73416d33" }, "downloads": -1, "filename": "rest_social_auth-1.2.0.tar.gz", "has_sig": false, "md5_digest": "a3d294e09a9dd8bee9be9835049201a1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20848, "upload_time": "2017-09-28T08:06:33", "url": "https://files.pythonhosted.org/packages/f2/0a/2935a8b8f0af0ba4b30e24bda619d954f70c4325531aa6a93f7182f61d68/rest_social_auth-1.2.0.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "5d03b82d6ba4c030e3d61c12c0ab1350", "sha256": "cb763f9d392db1c0168399b4fafaf94849ea8a861a4243ee66673a20e0aecd06" }, "downloads": -1, "filename": "rest_social_auth-1.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5d03b82d6ba4c030e3d61c12c0ab1350", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 12611, "upload_time": "2018-04-21T16:54:58", "url": "https://files.pythonhosted.org/packages/43/f2/2364c355fcb4f6a8996475d40f7d5116870ceb4018346f022bff714c730b/rest_social_auth-1.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "99dfcf5ead9592ba70a675ce2a595b40", "sha256": "5a8159f0b0f6aa743ff485df390c6b83344dbd3e2ecbdfd5b951a677b7cabe78" }, "downloads": -1, "filename": "rest_social_auth-1.3.0.tar.gz", "has_sig": false, "md5_digest": "99dfcf5ead9592ba70a675ce2a595b40", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20831, "upload_time": "2018-04-21T16:54:53", "url": "https://files.pythonhosted.org/packages/fa/04/7a5c307347e6f370308124f4afb6f5df04c768f5ecf69b319ae73c8742fb/rest_social_auth-1.3.0.tar.gz" } ], "1.3.1": [ { "comment_text": "", "digests": { "md5": "4b66c9f2181971686aee0f9ce8ef13ad", "sha256": "ce758ae03bf2527e7dcf320b1f12f436f4b2e886fbdb12fde920bba3510e5830" }, "downloads": -1, "filename": "rest_social_auth-1.3.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4b66c9f2181971686aee0f9ce8ef13ad", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 12609, "upload_time": "2018-04-21T17:15:42", "url": "https://files.pythonhosted.org/packages/cc/b9/d81dfd1a07e39ffc9c836d2887cb51fce7f870a058605dc0a0d552518e77/rest_social_auth-1.3.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d100c4d379869b1450a9ce456372894b", "sha256": "1dd2a3a4a45e10b506da5ce5a8832efe194c0252bce89149e0d5865529353a2b" }, "downloads": -1, "filename": "rest_social_auth-1.3.1.tar.gz", "has_sig": false, "md5_digest": "d100c4d379869b1450a9ce456372894b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20840, "upload_time": "2018-04-21T17:15:37", "url": "https://files.pythonhosted.org/packages/b8/9d/11ff38982aeed7379b3c6a8306699ab97af947b92a6800b1ac3650a22cd3/rest_social_auth-1.3.1.tar.gz" } ], "1.4.0": [ { "comment_text": "", "digests": { "md5": "f94a57fbd9f57dbb0a7201352dc04139", "sha256": "b959585ec8262b06b9bba4633241510f8ae64035bebd781159c2a0af371ed484" }, "downloads": -1, "filename": "rest_social_auth-1.4.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f94a57fbd9f57dbb0a7201352dc04139", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 13266, "upload_time": "2018-09-20T06:26:59", "url": "https://files.pythonhosted.org/packages/04/60/91bbefcac19a2515b625e0faa899cc574be13f5a02405d0558c40d3b985c/rest_social_auth-1.4.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dd8cfb987bf305c315f36a8685c9cfb3", "sha256": "7c3f8c5a36b6d20e329c1080f32d6ca8eeb520e8f1f71d0c4dd9e980f7ba8698" }, "downloads": -1, "filename": "rest_social_auth-1.4.0.tar.gz", "has_sig": false, "md5_digest": "dd8cfb987bf305c315f36a8685c9cfb3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21471, "upload_time": "2018-09-20T06:26:57", "url": "https://files.pythonhosted.org/packages/3d/f1/3c49830d00702e9c31c58124914cfcc14175bc80b92c36d44c6f7e439b2c/rest_social_auth-1.4.0.tar.gz" } ], "1.5.0": [ { "comment_text": "", "digests": { "md5": "b007cb98e8b2b3da19df3fdf8276f1c7", "sha256": "0ff2f4f0f767644d7e410087f8c0d93d2bfe87244c8138c92b7f1b5e1e66c5ee" }, "downloads": -1, "filename": "rest_social_auth-1.5.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b007cb98e8b2b3da19df3fdf8276f1c7", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14212, "upload_time": "2018-12-12T00:08:49", "url": "https://files.pythonhosted.org/packages/49/29/d07f4bfa76943ab0e2139ae937174abfd585e63c0e0bd8e278d2556117df/rest_social_auth-1.5.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "da8e5d1ebff9db31cde83bd93fe9d358", "sha256": "6a89eb15716d7a32d3ecb928026a08bd7290a2dda618153bd11837b3ce1addf6" }, "downloads": -1, "filename": "rest_social_auth-1.5.0.tar.gz", "has_sig": false, "md5_digest": "da8e5d1ebff9db31cde83bd93fe9d358", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19770, "upload_time": "2018-12-12T00:08:41", "url": "https://files.pythonhosted.org/packages/b4/c7/76d1bd9a90cd924b0566b327798a70dca36343ef1d89fe2ab137dc4e1966/rest_social_auth-1.5.0.tar.gz" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "bfdbfd347fabd8db7ff7bb309462a4f9", "sha256": "2799ee94263803ac37ee97b40f6cbf5b3618d5bdbce64d30ef86af53486b19a1" }, "downloads": -1, "filename": "rest_social_auth-2.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "bfdbfd347fabd8db7ff7bb309462a4f9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14229, "upload_time": "2019-01-30T10:52:37", "url": "https://files.pythonhosted.org/packages/44/15/51ab6fbc9838b9e0dd937c18ac37b09c461351a63eb7ce726e4b1834f572/rest_social_auth-2.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ea3458f1581af4605f8578fc3f37c8a6", "sha256": "3789b6722596b012fef96b2ac02345dc831f14b2d789e5a36fbb13d792a1da43" }, "downloads": -1, "filename": "rest_social_auth-2.0.0.tar.gz", "has_sig": false, "md5_digest": "ea3458f1581af4605f8578fc3f37c8a6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19823, "upload_time": "2019-01-30T10:52:20", "url": "https://files.pythonhosted.org/packages/6e/2a/d51807c45921c7bc5b0f496d5ac120458c27166ead0f330f9a46d5d6ca64/rest_social_auth-2.0.0.tar.gz" } ], "2.0.1": [ { "comment_text": "", "digests": { "md5": "f0c27d183d09f2721b6c3cd2890a96c0", "sha256": "89a5131e81b7d9a7a4381e301dc0a474cd0f034819c5d4cd3f95c8648aa9a33e" }, "downloads": -1, "filename": "rest_social_auth-2.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f0c27d183d09f2721b6c3cd2890a96c0", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14090, "upload_time": "2019-01-30T11:08:49", "url": "https://files.pythonhosted.org/packages/cd/50/36fc4661c7b1299f8aded017cc6529177fa4f85a90d93e7a43c8bb4d454e/rest_social_auth-2.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "522be128dd6299bec351d32c0cf88030", "sha256": "480346fa057d647099bb91ac167219f0728df3ca13451507c91dec2f972bb727" }, "downloads": -1, "filename": "rest_social_auth-2.0.1.tar.gz", "has_sig": false, "md5_digest": "522be128dd6299bec351d32c0cf88030", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13418, "upload_time": "2019-01-30T11:08:45", "url": "https://files.pythonhosted.org/packages/d3/4b/3c5bb82ff34db9072dd8b9ed7564eb1a9adfab2e7de8467c18c87cbb9070/rest_social_auth-2.0.1.tar.gz" } ], "2.0.2": [ { "comment_text": "", "digests": { "md5": "8670a33b3b69189f72ae2cb8f90260df", "sha256": "75c9c4f72ad3cf952a3cdf81fc67364a90e9811a9da0834f7237dec988a314d8" }, "downloads": -1, "filename": "rest_social_auth-2.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8670a33b3b69189f72ae2cb8f90260df", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14118, "upload_time": "2019-01-31T11:02:56", "url": "https://files.pythonhosted.org/packages/ee/ee/c101696cb454845eb8fbc12683c913d1af8d153fdaa3a4224ae5385b6d58/rest_social_auth-2.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "21ebd060073945853d398c2787e8389a", "sha256": "7dbb319f1e5525ceec4328db8cb39851e397fdab5968d95bc89592e311848410" }, "downloads": -1, "filename": "rest_social_auth-2.0.2.tar.gz", "has_sig": false, "md5_digest": "21ebd060073945853d398c2787e8389a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13473, "upload_time": "2019-01-31T11:02:53", "url": "https://files.pythonhosted.org/packages/1b/f1/3fba21c8a006767db69a446262094abc16ed447ccfb7aadbb94a3aa13a9c/rest_social_auth-2.0.2.tar.gz" } ], "2.1.0": [ { "comment_text": "", "digests": { "md5": "d119a41c1915b5eb7381b0a4b79c692c", "sha256": "89034b02e11d82f8ebd71dda3073340c35c135880f3f4e02d1d676737decd0d2" }, "downloads": -1, "filename": "rest_social_auth-2.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d119a41c1915b5eb7381b0a4b79c692c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 15839, "upload_time": "2019-03-15T22:46:30", "url": "https://files.pythonhosted.org/packages/ea/21/346b93b9705dfd3b49b88ebffb13f4abec7fba07e5caee923a1f328433df/rest_social_auth-2.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e03da44346643b5084bfda803579c755", "sha256": "74535e181ee6efb73024150910aad624fd58474c524fd15f11b995f75664e817" }, "downloads": -1, "filename": "rest_social_auth-2.1.0.tar.gz", "has_sig": false, "md5_digest": "e03da44346643b5084bfda803579c755", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14572, "upload_time": "2019-03-15T22:46:27", "url": "https://files.pythonhosted.org/packages/47/23/5db4eaf19db5c91d15a0f36fedfab137591dcb6c87388485cf1ca7ac5324/rest_social_auth-2.1.0.tar.gz" } ], "2.2.0": [ { "comment_text": "", "digests": { "md5": "b115793f804838b78f9ce894f6015973", "sha256": "04b42df61dbd032ed465edb98ff37759a2bbbafd04551b366a3e47a618fd6253" }, "downloads": -1, "filename": "rest_social_auth-2.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b115793f804838b78f9ce894f6015973", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 16230, "upload_time": "2019-05-24T07:58:08", "url": "https://files.pythonhosted.org/packages/b2/42/141f8e3736bd9b1012fa13f8695b95d088e6869bd245f1dc9fc0391e6739/rest_social_auth-2.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3445556ca292251b75d998269a65a720", "sha256": "cfed4e036a11c1e09829572a9afd55c69b083e9df46f9b4a7a71be32952c146b" }, "downloads": -1, "filename": "rest_social_auth-2.2.0.tar.gz", "has_sig": false, "md5_digest": "3445556ca292251b75d998269a65a720", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15695, "upload_time": "2019-05-24T07:58:05", "url": "https://files.pythonhosted.org/packages/b7/10/abc87eb3f619a00264c42e11c16104c6ae834cad45f2682c2df406721feb/rest_social_auth-2.2.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b115793f804838b78f9ce894f6015973", "sha256": "04b42df61dbd032ed465edb98ff37759a2bbbafd04551b366a3e47a618fd6253" }, "downloads": -1, "filename": "rest_social_auth-2.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b115793f804838b78f9ce894f6015973", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 16230, "upload_time": "2019-05-24T07:58:08", "url": "https://files.pythonhosted.org/packages/b2/42/141f8e3736bd9b1012fa13f8695b95d088e6869bd245f1dc9fc0391e6739/rest_social_auth-2.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3445556ca292251b75d998269a65a720", "sha256": "cfed4e036a11c1e09829572a9afd55c69b083e9df46f9b4a7a71be32952c146b" }, "downloads": -1, "filename": "rest_social_auth-2.2.0.tar.gz", "has_sig": false, "md5_digest": "3445556ca292251b75d998269a65a720", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15695, "upload_time": "2019-05-24T07:58:05", "url": "https://files.pythonhosted.org/packages/b7/10/abc87eb3f619a00264c42e11c16104c6ae834cad45f2682c2df406721feb/rest_social_auth-2.2.0.tar.gz" } ] }