scim-sim — SCIM Directory Simulator
A CLI for creating and managing users and groups against any SCIM-compliant Client. Can be Used to Simulate An IDP Like OKTA, Microsoft, OneIdentity, Jumpcloud etc
Installation
Recommended — using uv:
uv tool install scim-sim
First-time setup: If
scim-simis not found after installing, runuv tool update-shelland restart your terminal. This is a one-time step that adds~/.local/binto your PATH.
Alternatively, with pip:
pip install scim-sim
Configuration
Before using the tool, run setup to configure your SCIM endpoint:
scim-sim setup
This will prompt you for:
- SCIM Base URL — the endpoint of your SCIM service (e.g.
https://api.example.com/scim/v2) - SCIM Auth Token — your authentication token
Configuration is stored in ~/.scim_config.json. View it anytime with:
scim-sim config
Commands
All commands follow the pattern scim-sim <command> [args]. Run scim-sim --help or scim-sim <command> --help for details.
User Management
# Add a new user (generates random user data)
scim-sim add-user
# Remove a user
scim-sim remove-user <user-id>
Group Management
# Create a new group
scim-sim create-group "Engineering Team"
# Delete a group and permanently delete all its members
scim-sim delete-group <group-id>
# Add a user to a group
scim-sim add-to-group <user-id> <group-id>
# Remove a user from a group
scim-sim remove-from-group <user-id> <group-id>
Warning:
delete-grouppermanently deletes all users that belong to the group, not just the group itself.
Directory Visualization
scim-sim show
Displays a tree view of your full directory structure — groups, members, and ungrouped users.
📂 Directory
├── 👥 Groups
│ ├── Engineering Team │ ID: dirgroup_1234567890123456
│ │ ├── 👤 avinash.kamath@example.com │ ID: diruser_8913202356420102
│ │ └── 👤 srini.k@example.com │ ID: diruser_4123456789012345
│ │
│ └── Product Team │ ID: dirgroup_6789012345678901
└── 👤 Ungrouped Users
└── ravi@example.com │ ID: diruser_6789012345678901
Command Reference
| Command | Description |
|---|---|
setup |
Configure SCIM endpoint and auth token |
config |
View current configuration |
add-user |
Create a new randomly generated user |
remove-user <id> |
Delete a user |
show |
Display full directory structure |
create-group <name> |
Create a new group |
delete-group <id> |
Delete a group and all its members |
add-to-group <user-id> <group-id> |
Add a user to a group |
remove-from-group <user-id> <group-id> |
Remove a user from a group |
Metadata
Release files for scim-sim 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| scim_sim-0.2.0.tar.gz | 136.5 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| scim_sim-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 146.9 kB
Release files / scim_sim-0.2.0.tar.gz
| Download URL | scim_sim-0.2.0.tar.gz |
|---|---|
| Size | 136.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3f4fc641bf3e55dbffd1e3b2c72d23c4640e50fcafcf94b3fab3630c3062df54
|
|
BLAKE2b-256 checksum How to use checksums |
4a03964303b2f74634bd9a9506713a91c8bfe2cbc430a59109e561b593d8261b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 29, 2026.
Transparency logRelease files / scim_sim-0.2.0-py3-none-any.whl
| Download URL | scim_sim-0.2.0-py3-none-any.whl |
|---|---|
| Size | 10.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c584b3d56b62f196fb3c53a33f7f51d3433c01d4c653e4a9cd2815b87853b586
|
|
BLAKE2b-256 checksum How to use checksums |
f23e98b8693a5b0c76d540f406ba46393679050d5899398c960477bc2891ce2d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 29, 2026.
Transparency logSecurity for scim-sim 0.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for scim_sim-0.2.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 29, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.