Spaces:
Configuration error
Configuration error
import click | |
import rich | |
from ... import UsersManagementClient | |
def users(): | |
"""Manage users on your LiteLLM proxy server""" | |
pass | |
def list_users(ctx: click.Context): | |
"""List all users""" | |
client = UsersManagementClient(base_url=ctx.obj["base_url"], api_key=ctx.obj["api_key"]) | |
users = client.list_users() | |
if isinstance(users, dict) and "users" in users: | |
users = users["users"] | |
if not users: | |
click.echo("No users found.") | |
return | |
from rich.table import Table | |
from rich.console import Console | |
table = Table(title="Users") | |
table.add_column("User ID", style="cyan") | |
table.add_column("Email", style="green") | |
table.add_column("Role", style="magenta") | |
table.add_column("Teams", style="yellow") | |
for user in users: | |
table.add_row( | |
str(user.get("user_id", "")), | |
str(user.get("user_email", "")), | |
str(user.get("user_role", "")), | |
", ".join(user.get("teams", []) or []) | |
) | |
console = Console() | |
console.print(table) | |
def get_user(ctx: click.Context, user_id: str): | |
"""Get information about a specific user""" | |
client = UsersManagementClient(base_url=ctx.obj["base_url"], api_key=ctx.obj["api_key"]) | |
result = client.get_user(user_id=user_id) | |
rich.print_json(data=result) | |
def create_user(ctx: click.Context, email, role, alias, team, max_budget): | |
"""Create a new user""" | |
client = UsersManagementClient(base_url=ctx.obj["base_url"], api_key=ctx.obj["api_key"]) | |
user_data = { | |
"user_email": email, | |
"user_role": role, | |
} | |
if alias: | |
user_data["user_alias"] = alias | |
if team: | |
user_data["teams"] = list(team) | |
if max_budget is not None: | |
user_data["max_budget"] = max_budget | |
result = client.create_user(user_data) | |
rich.print_json(data=result) | |
def delete_user(ctx: click.Context, user_ids): | |
"""Delete one or more users by user_id""" | |
client = UsersManagementClient(base_url=ctx.obj["base_url"], api_key=ctx.obj["api_key"]) | |
result = client.delete_user(list(user_ids)) | |
rich.print_json(data=result) |