scim2-models
SCIM2 models serialization and validation with pydantic
Decision gist · record as of 2026-08-14
Yes. The package is actively maintained, has no known vulnerabilities, installs with minimal friction (one dependency), and directly implements the SCIM2 RFCs with Pydantic integration. It is a solid choice if you are building identity provisioning infrastructure. The alpha status reflects ongoing development, but the core functionality is stable and the library is already in use.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or later.
- Low friction: pure Python wheel with only pydantic as a runtime dependency.
- Actively maintained with recent releases.
License · maintenance · safety
permissive license (permissive) — Apache License 2.0 is permissive; you may use, modify, and distribute this package freely in commercial and open-source projects, provided you include a copy of the license and note any changes.
last release 2026-04-13 (123 days)
0 known vulnerabilities (OSV.dev, 2026-08-14) · 254,685 downloads/mo, #8,491 on PyPI
Alternatives
Verify before relying
pip install scim2-models
from scim2_models import User
payload = {
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],
"id": "2819c223-7f76-453a-919d-413861904646",
"userName": "bjensen@example.com",
}
user = User.model_validate(payload)- Whether the library handles all SCIM2 extensions and custom resource types in production scenarios.
- Performance characteristics when validating large batches of SCIM2 payloads.
- Completeness of error handling and SCIM-compliant exception conversion in edge cases.
What it is and what it does
scim2-models wraps the SCIM2 specification (RFC7643 and RFC7644) in Pydantic v2 models, letting you work with identity provisioning data—users, groups, service provider configs, schemas—as validated Python objects instead of raw JSON. It handles the schema complexity of SCIM2, including field mutability, returned status, uniqueness constraints, and context-aware validation based on HTTP operations (creation, query, replacement, etc.).
The library is designed as a foundation for building SCIM2 servers and clients. It provides native classes for core resources, supports dynamic schema extensions, and includes SCIM message types like ListResponse, SearchRequest, PatchOp, and Error. Validation and serialization are handled by Pydantic, giving you IDE autocompletion and type safety out of the box.
Use it for
- Build a SCIM2 identity provider server that accepts user and group provisioning requests from applications.
- Implement a SCIM2 client that syncs users and groups from a central directory to downstream SaaS applications.
- Validate incoming SCIM2 payloads in an API gateway or middleware before processing.
- Generate SCIM2-compliant error responses with automatic conversion from Python exceptions.
- Define and enforce custom SCIM2 schema extensions for organization-specific user attributes.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
The package is actively maintained, has no known vulnerabilities, installs with minimal friction (one dependency), and directly implements the SCIM2 RFCs with Pydantic integration. It is a solid choice if you are building identity provisioning infrastructure. The alpha status reflects ongoing development, but the core functionality is stable and the library is already in use.
Install
scim2-models on PyPI
Before you install
Low friction: pure Python wheel with only pydantic as a runtime dependency. Actively maintained with recent releases. Supports Python 3.9–3.13.
Requires Python 3.10 or later.
License in practice
Apache License 2.0 is permissive; you may use, modify, and distribute this package freely in commercial and open-source projects, provided you include a copy of the license and note any changes.
Quickstart
pip install scim2-models
from scim2_models import User
payload = {
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],
"id": "2819c223-7f76-453a-919d-413861904646",
"userName": "bjensen@example.com",
}
user = User.model_validate(payload)
Verify before relying
- Whether the library handles all SCIM2 extensions and custom resource types in production scenarios.
- Performance characteristics when validating large batches of SCIM2 payloads.
- Completeness of error handling and SCIM-compliant exception conversion in edge cases.
Package facts
| License | permissive license permissive |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 1 packagepydantic |
| Maintenance | Actively maintained 123 days since the last release |
| First released | |
| Downloads | 254,685 / month, #8,491 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 3 - AlphaEnvironment :: Web EnvironmentIntended Audience :: DevelopersLicense :: OSI Approved :: Apache Software LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.9Programming Language :: Python :: Implementation :: CPython |
Evidence: scim2_models-0.6.12-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “scim2 pydantic models”
- scim2-modelsProvides Pydantic models for SCIM2 (System for Cross-domain Identity…
- scim2-serverProvides a lightweight SCIM2 server implementation that handles user…
- django-scim2Implements the SCIM 2.0 provider specification as a Django app,…
Give your agent the search over MCP, or paste the wish link into any chat.
More WWW/HTTP packages
urllib3 is an HTTP client library that provides thread-safe connection pooling, SSL/TLS verification, multipart file uploads, request retries, compression support, and proxy handling for Python applications.
Requests is a Python HTTP library that simplifies sending HTTP/1.1 requests with automatic handling of headers, authentication, cookies, and response parsing.
h11 is a pure-Python HTTP/1.1 protocol implementation that handles parsing and serializing HTTP messages without any built-in I/O, letting you integrate it with any network layer you choose.
HTTPX is a fully featured HTTP client library for Python that provides both sync and async APIs, with support for HTTP/1.1 and HTTP/2, plus an integrated command-line client.
Install it if you are building new projects or modernizing existing ones that rely on HTTP.
A minimal low-level HTTP client library that sends HTTP requests with thread-safe and task-safe connection pooling, supporting HTTP/1.1, HTTP/2, proxies, and both sync and async interfaces.
aiohttp is an async HTTP client and server framework built on asyncio, supporting both WebSockets and middleware-based routing for building concurrent web applications.
Install it if you need async HTTP client or server capabilities in asyncio-based applications.
See also django-scim2 · pydantic-scim · scim2-server · django-pydantic-field · ibm-quantum-schemas · geojson-pydantic · sigstore-models · safety-schemas · stac-pydantic · jsonschema-pydantic-converter