Skip to content

Commit 74af51c

Browse files
committed
add user group examples
1 parent a83cd67 commit 74af51c

File tree

1 file changed

+122
-1
lines changed

1 file changed

+122
-1
lines changed

basics/user_management.ipynb

Lines changed: 122 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,8 @@
5454
"outputs": [],
5555
"source": [
5656
"import labelbox as lb\n",
57-
"import os"
57+
"import os\n",
58+
"from labelbox.schema.user_group import UserGroup, UserGroupColor"
5859
]
5960
},
6061
{
@@ -257,6 +258,126 @@
257258
"organization.remove_user(user)"
258259
]
259260
},
261+
{
262+
"cell_type": "markdown",
263+
"id": "5d62aa21",
264+
"metadata": {},
265+
"source": [
266+
"## Manage user groups\n",
267+
"### Create user groups"
268+
]
269+
},
270+
{
271+
"cell_type": "code",
272+
"execution_count": null,
273+
"id": "69a5a82e",
274+
"metadata": {},
275+
"outputs": [],
276+
"source": [
277+
"# Define a user group\n",
278+
"user_group = UserGroup(\n",
279+
" client=client,\n",
280+
" name=\"New User Group\",\n",
281+
" color=UserGroupColor.BLUE\n",
282+
" users=set(user, user1, user2),\n",
283+
" projects=set(project)\n",
284+
")\n",
285+
"\n",
286+
"# Create the defined user group\n",
287+
"created_group = user_group.create() "
288+
]
289+
},
290+
{
291+
"cell_type": "markdown",
292+
"id": "b9edbdfd",
293+
"metadata": {},
294+
"source": [
295+
"### Update user groups"
296+
]
297+
},
298+
{
299+
"cell_type": "code",
300+
"execution_count": null,
301+
"id": "062b8006",
302+
"metadata": {},
303+
"outputs": [],
304+
"source": [
305+
"# Define the user group properties to be updated\n",
306+
"user_group.name = \"Updated User Group Name\"\n",
307+
"user_group.color = UserGroupColor.GREEN\n",
308+
"\n",
309+
"# Add new projects to the group\n",
310+
"projects = []\n",
311+
"projects.append(user_group.projects)\n",
312+
"projects.append([project_1, project_2])\n",
313+
"user_group.projects = projects\n",
314+
"\n",
315+
"# Add new users to the group\n",
316+
"\n",
317+
"users = user_group.users\n",
318+
"users.append([new_user_1, new_user_2])\n",
319+
"user_group.users = users\n",
320+
"\n",
321+
"# Push the changes to the group\n",
322+
"user_group.update()"
323+
]
324+
},
325+
{
326+
"cell_type": "code",
327+
"execution_count": null,
328+
"id": "ce016ffb",
329+
"metadata": {},
330+
"outputs": [],
331+
"source": [
332+
"## Remove all members and projects from the group\n",
333+
"user_group.users = []\n",
334+
"user_group.projects = []\n",
335+
"user_group.update()\n",
336+
"\n",
337+
"# Push the changes to the group\n",
338+
"user_group.update()"
339+
]
340+
},
341+
{
342+
"cell_type": "code",
343+
"execution_count": null,
344+
"id": "7560a5cb",
345+
"metadata": {},
346+
"outputs": [],
347+
"source": [
348+
"# Delete a user group\n",
349+
"user_group.delete()"
350+
]
351+
},
352+
{
353+
"cell_type": "markdown",
354+
"id": "047a83dc",
355+
"metadata": {},
356+
"source": [
357+
"## Get user group info"
358+
]
359+
},
360+
{
361+
"cell_type": "code",
362+
"execution_count": null,
363+
"id": "d3e18466",
364+
"metadata": {},
365+
"outputs": [],
366+
"source": [
367+
"# Get info of a user group\n",
368+
"user_group.get()\n",
369+
"\n",
370+
"# Get all user groups in your workspace\n",
371+
"user_groups = UserGroup(client).get_user_groups()\n",
372+
"\n",
373+
"# Search for a user group by its name\n",
374+
"example_group = next((group for group in user_groups if group.name == \"example_name\"), None)\n",
375+
"if example_group:\n",
376+
" print(f\"Found user group 'example_name' with ID: {example_group.id}\")\n",
377+
"else:\n",
378+
" print(\"No user group named 'example_name' found\")"
379+
]
380+
},
260381
{
261382
"cell_type": "markdown",
262383
"metadata": {},

0 commit comments

Comments
 (0)