{"library":"scim2-server","title":"SCIM2 Server Prototype","description":"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'.","language":"python","status":"active","last_verified":"Fri Apr 17","install":{"commands":["pip install scim2-server","pip install uvicorn"],"cli":null},"imports":["from scim2_server import SCIM2Server","from scim2_server import SCIM2User","from scim2_server import SCIM2Group"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import uvicorn\nfrom fastapi import FastAPI\nfrom scim2_server import SCIM2Server, SCIM2User, SCIM2Group\n\n# Initialize SCIM2 server with in-memory storage\nscim_server = SCIM2Server()\n\n# Optional: Add some initial data\nscim_server.users.create(SCIM2User(id='user1', userName='john.doe', emails=[{'value': 'john.doe@example.com', 'primary': True}]))\nscim_server.groups.create(SCIM2Group(id='group1', displayName='Developers'))\n\n# Create a FastAPI app and include the SCIM2 router\napp = FastAPI(title=\"SCIM2 Prototype API\")\napp.include_router(scim_server.router, prefix=\"/scim/v2\")\n\n@app.get(\"/\")\nasync def root():\n    return {\"message\": \"SCIM2 server is running! Access /scim/v2\"}\n\n# To run this: save as main.py and execute 'uvicorn main:app --reload'\n# The example below demonstrates running programmatically for convenience,\n# but 'uvicorn main:app' is the typical way.\nif __name__ == '__main__':\n    # Note: For production, typically run with `uvicorn main:app` from terminal.\n    # This programmatic run is for quick demonstration.\n    print(\"\\n--- Running SCIM2 Server Prototype ---\")\n    print(\"Access SCIM endpoints at: http://127.0.0.1:8000/scim/v2\")\n    print(\"Try: http://127.0.0.1:8000/scim/v2/Users\")\n    uvicorn.run(app, host=\"127.0.0.1\", port=8000)\n","lang":"python","description":"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`.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":null}