Registry / web-framework / scim2-server

scim2-server

JSON →
library0.1.9pypypiunverified

scim2-server is a lightweight prototype implementation of a SCIM2 (System for Cross-domain Identity Management) server using FastAPI. It provides basic in-memory reference implementations for SCIM2 user and group management, primarily intended as a starting point or demonstration rather than a production-ready server. The current version is 0.1.9, with an irregular release cadence as a 'prototype'.

pip install scim2-server
INSTALL
IMPORT
SIG · SCIM2-SERVER
S
scim2-server
web-frameworkpythonv0.1.9
Install
2.7s avg
Import
Disk
50MB
Pass rate
8/ 10
Env Coverage8 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v0.1.9 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
glibc
py 3.10
✓ —
✓ 3.08s
py 3.11
✓ —
✓ 2.78s
py 3.12
✓ —
✓ 2.48s
py 3.13
✓ —
✓ 2.53s
py 3.9
2/4 runs
2/4 runs
50MB installed
● package 50MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

SCIM2Server
from scim2_server import SCIM2Server
from scim2_server import SCIM2Server

This quickstart sets up a basic FastAPI application embedding the `scim2-server` router. It initializes an in-memory SCIM2 server, adds a sample user and group, and then runs the FastAPI app using Uvicorn. Access SCIM endpoints at `/scim/v2`.

import uvicorn from fastapi import FastAPI from scim2_server import SCIM2Server, SCIM2User, SCIM2Group # Initialize SCIM2 server with in-memory storage scim_server = SCIM2Server() # Optional: Add some initial data scim_server.users.create(SCIM2User(id='user1', userName='john.doe', emails=[{'value': 'john.doe@example.com', 'primary': True}])) scim_server.groups.create(SCIM2Group(id='group1', displayName='Developers')) # Create a FastAPI app and include the SCIM2 router app = FastAPI(title="SCIM2 Prototype API") app.include_router(scim_server.router, prefix="/scim/v2") @app.get("/") async def root(): return {"message": "SCIM2 server is running! Access /scim/v2"} # To run this: save as main.py and execute 'uvicorn main:app --reload' # The example below demonstrates running programmatically for convenience, # but 'uvicorn main:app' is the typical way. if __name__ == '__main__': # Note: For production, typically run with `uvicorn main:app` from terminal. # This programmatic run is for quick demonstration. print("\n--- Running SCIM2 Server Prototype ---") print("Access SCIM endpoints at: http://127.0.0.1:8000/scim/v2") print("Try: http://127.0.0.1:8000/scim/v2/Users") uvicorn.run(app, host="127.0.0.1", port=8000)
Debug
Known issues
gotchaThis library is explicitly a 'prototype' and 'in-memory reference implementation'. It is not designed for production use without significant modification for persistence, scalability, and security.
fix
Understand its limitations. Consider it a starting point for a custom SCIM server implementation, not a ready-to-deploy solution. You will need to replace its in-memory storage with a proper database.
affects: All versions < 1.0
gotchaThe package name for installation is `scim2-server` (with a hyphen), but the Python module name for imports is `scim2_server` (with an underscore).
fix
Always use `from scim2_server import ...` in your Python code, never `from scim2-server import ...`.
affects: All versions
gotchaRunning the SCIM2 server requires FastAPI and an ASGI server like Uvicorn. While FastAPI is a direct dependency, Uvicorn (though listed) requires explicit installation and knowledge of how to start a FastAPI app.
fix
Ensure `uvicorn` is installed (`pip install uvicorn`) and you use the correct command to run your FastAPI application, typically `uvicorn main:app --reload` (replace `main:app` with your module and app instance).
affects: All versions
Upgrade
Version history
0.1.9latest on PyPI · released Mar 27, 2026
Audit
Dependencies
fastapirequiredCore web framework for the server implementation.
uvicornoptionalASGI server for running the FastAPI application.
pydanticrequiredUsed for data validation and serialization of SCIM2 models.
Agent activity
31 hits · last 30 days
node
24
Amazon
1
OpenAI (training)
1
Resources