{ "info": { "author": "Erik van Zijst", "author_email": "erik.van.zijst@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Web Environment", "Framework :: Django", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.7", "Topic :: Internet", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "Django SCIM\n===========\n\nThis is a partial provider-side implementation of the SCIM 2.0 [1]_\nspecification for use in Django. It covers:\n\n- Serialization of Django ``User`` objects to SCIM documents\n- REST view for ``/Users/uid``\n- REST view for ``/Users/.search``\n- SCIM filter query parser covering all operators and most fields\n- Limited pluggability support\n\nNote that currently the only supported database is Postgres.\n\n\nInstallation\n------------\n\n::\n\n $ pip install django_scim\n\nThen add the ``django_scim`` app to ``INSTALLED_APPS`` in Django's settings\nfile and the necessary url mappings::\n\n urlpatterns = patterns('',\n url(r'^/scim/v2/Users/.search/?$',\n SearchView.as_view(), name='scim-search'),\n url(r'^/scim/v2/Users/([^/]+)$', UserView.as_view(), name='scim-user'),\n )\n\n\nExtensibility\n-------------\n\nBy default, ``django_scim`` uses the email field on the ``User`` class. However,\nif your application maintains multiple identities using custom separate\ndatabase tables, you can override ``django_scim.models.SCIMUser`` and pull that\nin::\n\n from django_scim.models import SCIMUser as _SCIMUser\n\n from acme.apps.bb.models import Identity\n\n\n class SCIMUser(_SCIMUser):\n def __init__(self, user):\n super(SCIMUser, self).__init__(user)\n self.identities = (Identity.objects\n .filter(profile__user_id=self.user.id))\n\n @property\n def emails(self):\n return {i.email: i.primary for i in self.identities}\n\n\nHere we keep multiple email addresses in a table that is linked to\n``UserProfile``. Next, tell the views to use this class instead of the\ndefault::\n\n url(r'^/scim/v2/Users/([^/]+)$', UserView.as_view(usercls=SCIMUser),\n name='scim-user'),\n\nWhen your email address live in different tables, you'll also need to extend\nthe filter query parser to make sure they can be queried on::\n\n from django_scim.filter import SCIMFilterTransformer\n\n\n class AcmeSCIMTransformer(SCIMFilterTransformer):\n email = lambda *args: 'i.email'\n\n def join(self):\n return \"\"\"\n JOIN bb_userprofile p ON p.user_id = u.id\n LEFT OUTER JOIN bb_identity i ON i.profile_id = p.id\n \"\"\"\n\nAnd pass it on to the view::\n\n url(r'^/scim/v2/Users/([^/]+)$',\n UserView.as_view(usercls=SCIMUser, parser=AcmeSCIMTransformer),\n name='scim-user'),\n\n\n.. [1] http://www.simplecloud.info/\n", "description_content_type": "", "docs_url": null, "download_url": "https://bitbucket.org/atlassian/django_scim/downloads/django_scim-0.6.tar.gz", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://bitbucket.org/atlassian/django_scim", "keywords": "django scim", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "django_scim", "package_url": "https://pypi.org/project/django_scim/", "platform": "", "project_url": "https://pypi.org/project/django_scim/", "project_urls": { "Download": "https://bitbucket.org/atlassian/django_scim/downloads/django_scim-0.6.tar.gz", "Homepage": "https://bitbucket.org/atlassian/django_scim" }, "release_url": "https://pypi.org/project/django_scim/0.6.84/", "requires_dist": null, "requires_python": "", "summary": "A partial implementation of the SCIM 2.0 provider specification for use with Django.", "version": "0.6.84" }, "last_serial": 5383657, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "04d539f7ff84b788af2030ef6e054e3d", "sha256": "7b4d549a1083a3ae20bc23f313f6e150436503a770045b2d9f0f453be0ed9185" }, "downloads": -1, "filename": "django_scim-0.1.tar.gz", "has_sig": false, "md5_digest": "04d539f7ff84b788af2030ef6e054e3d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6714, "upload_time": "2014-02-05T06:35:09", "url": "https://files.pythonhosted.org/packages/b0/41/757fca846b02f1c9caea34092079a5b6280581cfa67f7cb6e85ddb813bf7/django_scim-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "b1f589111cba9936d3e92ccb1a2dfb6a", "sha256": "30f89d6ecaf73503e408e36275b27a112b2ace9d3eb8557ab7207915fdeddaa6" }, "downloads": -1, "filename": "django_scim-0.2.tar.gz", "has_sig": true, "md5_digest": "b1f589111cba9936d3e92ccb1a2dfb6a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6753, "upload_time": "2014-02-07T22:32:26", "url": "https://files.pythonhosted.org/packages/03/f9/2d8d5c70d5813fe1d313f74488f75f8b20e254787c536a276328767c535a/django_scim-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "2a1dc8a786be66f9542be8371ff1de73", "sha256": "56ae7706978f18f879f7c936c7cfcb686afeda4eb17c35366d999e41de105bcf" }, "downloads": -1, "filename": "django_scim-0.3.tar.gz", "has_sig": true, "md5_digest": "2a1dc8a786be66f9542be8371ff1de73", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6757, "upload_time": "2014-03-27T00:42:18", "url": "https://files.pythonhosted.org/packages/2d/89/90220c4d78bf1e4644339af2dbceb39936b0f361abb360a93a7447269235/django_scim-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "249aae0eba1b36f12dc09f696e02e0fe", "sha256": "eea9e7faff6ff549e12851f55d9e4d9c4c62b3553f5a972da4b78cd32e8a02b5" }, "downloads": -1, "filename": "django_scim-0.4.tar.gz", "has_sig": false, "md5_digest": "249aae0eba1b36f12dc09f696e02e0fe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7638, "upload_time": "2014-05-08T17:34:51", "url": "https://files.pythonhosted.org/packages/a8/ad/d691279ac2f61fff1b5220ccdcd8344d804017e446ad8a7e30933c6df473/django_scim-0.4.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "d46ca061eb16ee645f977e0f41e63884", "sha256": "ab40f82913512e79b2564a899d7a2f977398c2ddc75e4963e89e4821675f9243" }, "downloads": -1, "filename": "django_scim-0.4.1.tar.gz", "has_sig": false, "md5_digest": "d46ca061eb16ee645f977e0f41e63884", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7632, "upload_time": "2014-05-12T05:44:48", "url": "https://files.pythonhosted.org/packages/1e/79/72c983bdcfbb007abab5d9faf16d3e364c4052fae9d5f82dd64d2f4ef501/django_scim-0.4.1.tar.gz" } ], "0.4.3": [ { "comment_text": "", "digests": { "md5": "bb81a9ea8bf81a3602e32f6c60fa619e", "sha256": "f6d3e165e88e2c42700e63998d2139efeabc007c5e36069d0ed3aece8c58e9e8" }, "downloads": -1, "filename": "django_scim-0.4.3.tar.gz", "has_sig": false, "md5_digest": "bb81a9ea8bf81a3602e32f6c60fa619e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7548, "upload_time": "2017-06-13T22:46:15", "url": "https://files.pythonhosted.org/packages/2a/df/566c190fbf61527a988b49869987531f1d8eda8c236e1195433706599b94/django_scim-0.4.3.tar.gz" } ], "0.4.4": [ { "comment_text": "", "digests": { "md5": "6704805155c9b194b96ae4ff15f3158c", "sha256": "9200f2702f0659506b8783c93880ee6ffe0183da9254db74376d4164ec5af96b" }, "downloads": -1, "filename": "django_scim-0.4.4.tar.gz", "has_sig": false, "md5_digest": "6704805155c9b194b96ae4ff15f3158c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7600, "upload_time": "2017-06-20T18:16:56", "url": "https://files.pythonhosted.org/packages/2b/d3/14a4588b3c6595193af87b4ba01c88f6baf237464169305a675097c66239/django_scim-0.4.4.tar.gz" } ], "0.4.6": [ { "comment_text": "", "digests": { "md5": "99b0da0c10403bf7cbedde0a3c16c5c2", "sha256": "d6baa5c643210f486645733728b18ef86b670fd8a1f5580150489f41b741d9ca" }, "downloads": -1, "filename": "django_scim-0.4.6.tar.gz", "has_sig": false, "md5_digest": "99b0da0c10403bf7cbedde0a3c16c5c2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7631, "upload_time": "2017-07-10T15:46:10", "url": "https://files.pythonhosted.org/packages/1a/ec/b66ab11ce5c183c22f2ed8275789867df53d09b26d38e6d9bffe5378ed72/django_scim-0.4.6.tar.gz" } ], "0.4.7": [ { "comment_text": "", "digests": { "md5": "6f38eb41469a91e215dbc1a3aef08c8f", "sha256": "8643a8b857fdf9227bbb6485fa50f742de91c49289ded3cc92bc34e3eb9edbff" }, "downloads": -1, "filename": "django_scim-0.4.7.tar.gz", "has_sig": false, "md5_digest": "6f38eb41469a91e215dbc1a3aef08c8f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7654, "upload_time": "2017-09-28T17:19:47", "url": "https://files.pythonhosted.org/packages/e0/53/ebf886ecc90a4863a275cf8734208f76603089d2a0a5ccc704d8c6230800/django_scim-0.4.7.tar.gz" } ], "0.4.8": [ { "comment_text": "", "digests": { "md5": "a41d0ed24a2e80165ce7424530f91df4", "sha256": "a306ae8323dbe0398decc50295e1b88aaa275f07512ce782ab6f54441370d038" }, "downloads": -1, "filename": "django_scim-0.4.8.tar.gz", "has_sig": false, "md5_digest": "a41d0ed24a2e80165ce7424530f91df4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7618, "upload_time": "2018-04-23T15:48:15", "url": "https://files.pythonhosted.org/packages/86/af/9646bef3f5666bfae105a1a1c629a36f5d195b8d61f4b9de8c816a6dfbaa/django_scim-0.4.8.tar.gz" } ], "0.5.81": [ { "comment_text": "", "digests": { "md5": "8cd1fc18c85268ad844a7223335c376e", "sha256": "4293af04686bd4d6eed2d82a3a4c5146d38b4141e1bfe21ff4b99967a2a36490" }, "downloads": -1, "filename": "django_scim-0.5.81.tar.gz", "has_sig": false, "md5_digest": "8cd1fc18c85268ad844a7223335c376e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7626, "upload_time": "2019-06-05T23:02:00", "url": "https://files.pythonhosted.org/packages/b4/0a/b2e44585f0f80876480f00170530cc6dba8c131cbebe5d7cbaa6d44b57f4/django_scim-0.5.81.tar.gz" } ], "0.6.84": [ { "comment_text": "", "digests": { "md5": "4b529283c0d9fe31eb052f9eef211609", "sha256": "2223028425d8f1b99f7518edcd8160d3958c6bf541859a7bf19d8515f3a984cc" }, "downloads": -1, "filename": "django_scim-0.6.84.tar.gz", "has_sig": false, "md5_digest": "4b529283c0d9fe31eb052f9eef211609", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7627, "upload_time": "2019-06-10T22:11:04", "url": "https://files.pythonhosted.org/packages/d1/af/b05d00824fd7b9573cadece400d35170c4175d9fa222df75a064ce02b695/django_scim-0.6.84.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "4b529283c0d9fe31eb052f9eef211609", "sha256": "2223028425d8f1b99f7518edcd8160d3958c6bf541859a7bf19d8515f3a984cc" }, "downloads": -1, "filename": "django_scim-0.6.84.tar.gz", "has_sig": false, "md5_digest": "4b529283c0d9fe31eb052f9eef211609", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7627, "upload_time": "2019-06-10T22:11:04", "url": "https://files.pythonhosted.org/packages/d1/af/b05d00824fd7b9573cadece400d35170c4175d9fa222df75a064ce02b695/django_scim-0.6.84.tar.gz" } ] }