Skip to main content

A SCIM directory simulator and management tool

Project description

scim-sim — SCIM Directory Simulator

scim-sim

PyPI version Python License: MIT

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-sim is not found after installing, run uv tool update-shell and restart your terminal. This is a one-time step that adds ~/.local/bin to 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-group permanently 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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

scim_sim-0.2.0.tar.gz (136.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

scim_sim-0.2.0-py3-none-any.whl (10.4 kB view details)

Uploaded Python 3

File details

Details for the file scim_sim-0.2.0.tar.gz.

File metadata

  • Download URL: scim_sim-0.2.0.tar.gz
  • Upload date:
  • Size: 136.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for scim_sim-0.2.0.tar.gz
Algorithm Hash digest
SHA256 3f4fc641bf3e55dbffd1e3b2c72d23c4640e50fcafcf94b3fab3630c3062df54
MD5 64fa8a1f1f312e47b6285e4d0326a7e9
BLAKE2b-256 4a03964303b2f74634bd9a9506713a91c8bfe2cbc430a59109e561b593d8261b

See more details on using hashes here.

Provenance

The following attestation bundles were made for scim_sim-0.2.0.tar.gz:

Publisher: python-publish.yml on Avinash-Kamath/scim-simulator

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file scim_sim-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: scim_sim-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 10.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for scim_sim-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c584b3d56b62f196fb3c53a33f7f51d3433c01d4c653e4a9cd2815b87853b586
MD5 0e6fcaabd92b0639c991a2fd38cffcaf
BLAKE2b-256 f23e98b8693a5b0c76d540f406ba46393679050d5899398c960477bc2891ce2d

See more details on using hashes here.

Provenance

The following attestation bundles were made for scim_sim-0.2.0-py3-none-any.whl:

Publisher: python-publish.yml on Avinash-Kamath/scim-simulator

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page