Skip to content

feat(python): add user management methods to IggyClient#3695

Open
ethanlin01x wants to merge 4 commits into
apache:masterfrom
ethanlin01x:feat/python-sdk-user-management
Open

feat(python): add user management methods to IggyClient#3695
ethanlin01x wants to merge 4 commits into
apache:masterfrom
ethanlin01x:feat/python-sdk-user-management

Conversation

@ethanlin01x

Copy link
Copy Markdown

Which issue does this PR address?

Closes #3682

Rationale

Adds the missing user management operations to the Python SDK, which previously had no binding beyond login_user and forced callers to the CLI or another SDK to provision users.

What changed?

The Python SDK exposed no part of the Rust UserClient surface besides login_user, so users could not be listed, inspected, created, updated, or deleted from Python.

get_user, get_users, create_user, update_user, and delete_user now bind through to the Rust UserClient, and UserInfo, UserInfoDetails, and UserStatus are exposed as Python classes. As scoped in the issue, create_user always passes None for permissions; the Permissions mapping is left to a follow-up together with update_permissions, change_password, and logout_user.

Local Execution

  • Passed
  • Pre-commit hooks ran

AI Usage

Claude was used to help generate and review this PR.

@ethanlin01x
ethanlin01x force-pushed the feat/python-sdk-user-management branch from 321886e to 6fec2bc Compare July 17, 2026 15:44
The Python bindings need these types to expose user management, but
only UserStatus was re-exported so far.
These types are needed by the upcoming user management methods on
IggyClient. Permissions stay unexposed for now, so UserInfoDetails
carries the same fields as UserInfo until the follow-up that maps
the Permissions structure.
Expose get_user, get_users, create_user, update_user and delete_user,
wrapping the Rust SDK UserClient functions like the existing topic and
consumer group bindings. create_user always passes no permissions; the
Permissions type mapping is left to a follow-up together with
update_permissions, change_password and logout_user.
Cover create, get, list, update and delete against a live server,
including default status, inactive users, login with created
credentials, numeric and name identifiers, repeated listing stability,
and pre-connection and pre-authentication failures.
@ethanlin01x
ethanlin01x force-pushed the feat/python-sdk-user-management branch from 6fec2bc to 7e57428 Compare July 17, 2026 15:51
@ethanlin01x
ethanlin01x marked this pull request as ready for review July 17, 2026 15:53
@github-actions github-actions Bot added the S-waiting-on-review PR is waiting on a reviewer label Jul 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

S-waiting-on-review PR is waiting on a reviewer

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[python sdk] Add functions related to user management

1 participant