{ "info": { "author": "Mishbah Razzaque", "author_email": "mishbahx@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Framework :: Django", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Natural Language :: English", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3" ], "description": "=============================\ndjango-connected\n=============================\n\n.. image:: http://img.shields.io/pypi/v/django-connected.svg?style=flat-square\n :target: https://pypi.python.org/pypi/django-connected/\n :alt: Latest Version\n\n.. image:: http://img.shields.io/pypi/dm/django-connected.svg?style=flat-square\n :target: https://pypi.python.org/pypi/django-connected/\n :alt: Downloads\n\n.. image:: http://img.shields.io/pypi/l/django-connected.svg?style=flat-square\n :target: https://pypi.python.org/pypi/django-connected/\n :alt: License\n\n\nQuickstart\n----------\n\n1. Install ``django-connected``::\n\n pip install django-connected\n\n2. Add ``connected_accounts`` to ``INSTALLED_APPS``::\n\n INSTALLED_APPS = (\n ...\n 'connected_accounts',\n 'connected_accounts.providers',\n ...\n )\n\n3. Sync database (requires south>=1.0.1 if you are using Django 1.6.x)::\n\n python manage.py migrate\n\n\nPreview\n--------\n(Please click on thumbnails for bigger images)\n\n.. image:: http://mishbahr.github.io/django-connected/images/small/django_connected_01.jpeg\n :target: http://mishbahr.github.io/django-connected/images/django_connected_01.png\n :width: 768px\n :align: center\n\n.. image:: http://mishbahr.github.io/django-connected/images/small/django_connected_02.jpeg\n :target: http://mishbahr.github.io/django-connected/images/django_connected_02.png\n :width: 768px\n :align: center\n\n.. image:: http://mishbahr.github.io/django-connected/images/small/django_connected_03.jpeg\n :target: http://mishbahr.github.io/django-connected/images/django_connected_03.png\n :width: 768px\n :align: center\n\n.. image:: http://mishbahr.github.io/django-connected/images/small/django_connected_04.jpeg\n :target: http://mishbahr.github.io/django-connected/images/django_connected_04.png\n :width: 768px\n :align: center\n\nSupported Providers\n-------------------\n\n.. image:: http://mishbahr.github.io/django-connected/images/oauth_logo.png\n :width: 200px\n :align: center\n\n* Bitly (OAuth2)\n* Disqus (OAuth2)\n* Facebook (OAuth2)\n* Google (OAuth2)\n* Instagram (OAuth2)\n* Mailchimp (OAuth2)\n* Twitter (OAuth)\n* more... (coming soon)\n\nConfiguration\n-------------\n\nMost providers require you to sign up for a so called API client or app, containing a client ID and API secret.\n\nWhen creating the OAuth app on the side of the provider pay special attention to the callback URL (sometimes also referred to as redirect URL).\n\nUse a callback URL of the form::\n\n http://example.com/admin/connected_accounts/account/callback//\n\n\nDisqus\n=======\n\nRegister your OAuth2 app here: http://disqus.com/api/applications/ ::\n\n CONNECTED_ACCOUNTS_DISQUS_CONSUMER_KEY = ''\n CONNECTED_ACCOUNTS_DISQUS_CONSUMER_SECRET = ''\n\nBy default, ``read`` and ``write`` scope is enabled ::\n\n CONNECTED_ACCOUNTS_DISQUS_SCOPE = ['read', 'write', ]\n\nThe available permissions for the scope value are ``read``, ``write``, ``email``, and ``admin``.\n\nFacebook\n========\n\nA key and secret key can be obtained by creating an app at https://developers.facebook.com/apps ::\n\n CONNECTED_ACCOUNTS_FACEBOOK_CONSUMER_KEY = ''\n CONNECTED_ACCOUNTS_FACEBOOK_CONSUMER_SECRET = ''\n\nBy default, ``email``, ``public_profile`` and ``user_friends`` is enabled, apps using other permissions require review by Facebook::\n\n CONNECTED_ACCOUNTS_FACEBOOK_SCOPE = ['email', 'public_profile', 'user_friends']\n\nUse ``FACEBOOK_AUTH_PARAMS`` to pass along other parameters to the Facebook API::\n\n CONNECTED_ACCOUNTS_FACEBOOK_AUTH_PARAMS = {'auth_type': 'reauthenticate'}\n\nGoogle\n======\n\nThe Google provider is OAuth2 based. Create a google app to obtain a key and secret through the developer console https://console.developers.google.com/ ::\n\n CONNECTED_ACCOUNTS_GOOGLE_CONSUMER_KEY = ''\n CONNECTED_ACCOUNTS_GOOGLE_CONSUMER_SECRET = ''\n\nBy default, ``profile`` and ``email`` scope is enabled::\n\n CONNECTED_ACCOUNTS_GOOGLE_SCOPE = ['profile', 'email']\n\nBy default *Offline Access* request is enabled::\n\n CONNECTED_ACCOUNTS_GOOGLE_AUTH_PARAMS = {'access_type': 'offline'}\n\nSee https://developers.google.com/identity/protocols/OAuth2WebServer#offline for more information.\n\n\nTwitter\n=======\n\nYou can register an app on Twitter via https://apps.twitter.com/app/new ::\n\n CONNECTED_ACCOUNTS_TWITTER_CONSUMER_KEY = ''\n CONNECTED_ACCOUNTS_TWITTER_CONSUMER_SECRET = ''\n\n\nInstagram\n=========\n\nRegister your OAuth app here: https://instagram.com/developer/clients/register/ ::\n\n CONNECTED_ACCOUNTS_INSTAGRAM_CONSUMER_KEY = ''\n CONNECTED_ACCOUNTS_INSTAGRAM_CONSUMER_SECRET = ''\n\n\nUsage\n-----\n\nBy defining one (or many) ``AccountField`` on a custom model you can take advantage of connected accounts in your custom applications.\n\nQuickstart\n==========\n\nYou need to define a AccountField on the model you would like to use::\n\n\n from django.db import models\n from connected_accounts.fields import AccountField\n\n class MyModel(models.Model):\n account = AccountField('twitter')\n\n [...]\n\nThe ``AccountField`` takes a string as first argument which will be used to limit choices for accounts available for the given field.\n\nAdmin Integration\n=================\n\nTo provide admin support for a model with a ``AccountField`` in your application\u2019s admin, you need to use the mixin ``ConnectedAccountAdminMixin`` along with the ModelAdmin. Note that the ``ConnectedAccountAdminMixin`` must precede the ModelAdmin in the class definition::\n\n from django.contrib import admin\n from connected_accounts.admin import ConnectedAccountAdminMixin\n\n from myapp.models import MyModel\n\n\n class MyModelAdmin(ConnectedAccountAdminMixin, admin.ModelAdmin):\n pass\n\n admin.site.register(MyModel, MyModelAdmin)\n\n\nAdmin Preview\n=============\n\n.. image:: http://mishbahr.github.io/django-connected/images/small/django_connected_05.jpeg\n :target: http://mishbahr.github.io/django-connected/images/django_connected_05.png\n :width: 768px\n :align: center\n\n\nPackages using ``django-connected``\n-----------------------------------\n* https://github.com/mishbahr/djangocms-disqus - Disqus intergration for your django-cms powered site with options for Single Sign-On (SSO), lazy loading, analytics and more.\n* https://github.com/mishbahr/djangocms-twitter2 \u2014 The easiest way to display tweets for your ``django-cms`` powered site, using the latest Twitter 1.1 API. It's a great option for embedding tweets on your site without third-party widgets.\n* https://github.com/mishbahr/djangocms-instagram \u2014 A simple but versatile Instagram plugin for your django-cms powered sites.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/mishbahr/django-connected", "keywords": "django-connected,social auth,oauth,oauth2,facebook,twitter,google", "license": "BSD", "maintainer": null, "maintainer_email": null, "name": "django-connected", "package_url": "https://pypi.org/project/django-connected/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/django-connected/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/mishbahr/django-connected" }, "release_url": "https://pypi.org/project/django-connected/0.1.5/", "requires_dist": null, "requires_python": null, "summary": "Connect your Django powered sites to social networks and other online services.", "version": "0.1.5" }, "last_serial": 2161634, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "9f7588a2ed4e462f170936978036a4f4", "sha256": "7ca190275f16d69cb86b8ba0c22d3cedd19e9f67fdea60ed577852e6491a2bda" }, "downloads": -1, "filename": "django-connected-0.1.0.tar.gz", "has_sig": false, "md5_digest": "9f7588a2ed4e462f170936978036a4f4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 94507, "upload_time": "2015-05-27T12:26:02", "url": "https://files.pythonhosted.org/packages/e7/07/5d8ed22cdf3a01882170bf5cb080669ca1718979400880694bb3dc2bf63e/django-connected-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "b111ed2c4d6f2a1a67a12bdf2e66b4de", "sha256": "96dacfb40d710d9296095e610e90925e685143cec9ec5db7615fdbee709622e7" }, "downloads": -1, "filename": "django-connected-0.1.1.tar.gz", "has_sig": false, "md5_digest": "b111ed2c4d6f2a1a67a12bdf2e66b4de", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 95249, "upload_time": "2015-06-11T13:39:18", "url": "https://files.pythonhosted.org/packages/f1/d4/b188d297f4c56edf5ced9f52c94dfa20a16ef92a71d7ec39253d2ddea398/django-connected-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "0a08d12bd57c42c2f1c73dc388a9e7ac", "sha256": "d8942124250a31d494cceb9e345c563b3a3b8e58c5c0248eccd3b31b05ef5e98" }, "downloads": -1, "filename": "django-connected-0.1.2.tar.gz", "has_sig": false, "md5_digest": "0a08d12bd57c42c2f1c73dc388a9e7ac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 95666, "upload_time": "2015-07-23T13:51:18", "url": "https://files.pythonhosted.org/packages/b6/0c/dfdb7c3845b652dfa2dc6821bac59d3d5ed3310c3cdf5078fbd4f0be2a1e/django-connected-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "5ea13ce18d5be78c3afb9e94bcd1563d", "sha256": "cf81411e9c45a7d93c53d6171d8b6ba16b7b299d14c5d8638f7e1f2bb91870b8" }, "downloads": -1, "filename": "django-connected-0.1.3.tar.gz", "has_sig": false, "md5_digest": "5ea13ce18d5be78c3afb9e94bcd1563d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 95849, "upload_time": "2015-09-13T19:38:17", "url": "https://files.pythonhosted.org/packages/1d/76/338e18e8f0dd212d0030aeb3d702a8ae7da8eb87587f791819b0d3ae98fb/django-connected-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "ad4c2827f15ab5e01764e8cd997abb51", "sha256": "3c8b211518b68336c6a806626b5421e99792dd18ec512a47a2c8220e3c7076e1" }, "downloads": -1, "filename": "django-connected-0.1.4.tar.gz", "has_sig": false, "md5_digest": "ad4c2827f15ab5e01764e8cd997abb51", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 95937, "upload_time": "2015-12-14T13:38:05", "url": "https://files.pythonhosted.org/packages/d5/cf/092e7c47c245d5b5ed9976f67ac139085f2626382c2c72996c9839f8c035/django-connected-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "da7bd5c223af2d77dde7559921384d31", "sha256": "7e0080d1fab9f8332fe49ba350b86641fd014caa6bed25f1103a5a5124f83c11" }, "downloads": -1, "filename": "django-connected-0.1.5.tar.gz", "has_sig": false, "md5_digest": "da7bd5c223af2d77dde7559921384d31", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 95755, "upload_time": "2016-06-11T00:47:36", "url": "https://files.pythonhosted.org/packages/4e/eb/bc5c5738c5f215bf559acdbd9037b0233d240a7f971170b4d04ec953c50e/django-connected-0.1.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "da7bd5c223af2d77dde7559921384d31", "sha256": "7e0080d1fab9f8332fe49ba350b86641fd014caa6bed25f1103a5a5124f83c11" }, "downloads": -1, "filename": "django-connected-0.1.5.tar.gz", "has_sig": false, "md5_digest": "da7bd5c223af2d77dde7559921384d31", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 95755, "upload_time": "2016-06-11T00:47:36", "url": "https://files.pythonhosted.org/packages/4e/eb/bc5c5738c5f215bf559acdbd9037b0233d240a7f971170b4d04ec953c50e/django-connected-0.1.5.tar.gz" } ] }