--- id: django-scim2 version: "0.23.0" license: MIT license_treatment: permissive maintenance: active --- # django-scim2 — A partial implementation of the SCIM 2.0 provider specification for use with Django. License: permissive · Maintenance: active · Downloads: 2.3M/mo ## What it is and what it does django-scim2 is a Django application that exposes your user and group data via the SCIM 2.0 protocol, allowing external identity providers and workforce management systems to provision, deprovision, and synchronize users through standardized API endpoints. It handles the protocol mechanics—parsing SCIM filter syntax via scim2-filter-parser, serializing resources, managing schemas—so you don't have to build that layer yourself. The package is designed as a provider (your Django app publishes the SCIM endpoints), not a client. It requires you to wire authentication separately and currently works only with Postgres. The library is built for extensibility: you define adapters to control how SCIM operations map to your actual user and group models, giving you fine-grained control over what gets synced and how. Use it for: - Integrate your Django app with external identity providers that use SCIM for automated user provisioning. - Build a multi-tenant platform where customers' identity systems can manage their own user accounts via SCIM. - Sync user and group membership from a centralized directory service into your Django application without custom polling. - Expose user lifecycle events (create, update, deactivate) to external systems through a standards-compliant API. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Implements the SCIM 2.0 provider specification as a Django app, enabling standardized user and group provisioning endpoints for identity management systems. Yes. The package is production-stable, actively maintained with a recent release, has no known vulnerabilities, and solves a specific and non-trivial problem (SCIM 2.0 provider implementation). Install it if you need to expose user provisioning via SCIM; the main constraint is the Postgres-only database requirement and the need to implement authentication separately. ## Install pip install django-scim2 uv add django-scim2 poetry add django-scim2 ## Installing django-scim2 Before you install: Low friction: pure Python wheel with only three runtime dependencies (django, pygments, scim2-filter-parser). Active maintenance with a release 2 days old; development is deliberate rather than continuous (Friday-focused), so response times on issues may extend to a week. License in practice: MIT license is permissive; you can use, modify, and distribute this package freely in commercial and private projects without restriction or attribution requirement. Quickstart: pip install django-scim2 # In settings.py INSTALLED_APPS: INSTALLED_APPS = [ ... 'django_scim', ] # In urls.py: path('scim/v2/', include('django_scim.urls')), # In settings.py: SCIM_SERVICE_PROVIDER = { 'NETLOC': 'localhost', 'AUTHENTICATION_SCHEMES': [{'type': 'oauth2', 'name': 'OAuth 2'}], } Requires Postgres as the database backend; other databases are not currently supported. Requires Python 3.10 or later. Verify before relying: - Whether the extensible adapter system covers all common SCIM resource types or requires significant custom implementation. - Performance characteristics and scalability limits for high-volume provisioning workloads. - Specific Django versions tested and recommended beyond the Python version classifiers. ## Package facts - License: MIT (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 2.3M/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags scim 2.0 django provider, user provisioning django, identity management endpoint, scim provisioning api, django identity provider, user group sync api, identity-provisioning, scim-protocol, django-integration [View on SkillFed](https://skillfed.io/packages/django-scim2) · [View on PyPI](https://pypi.org/project/django-scim2/)