UserFilter#
- class teamworksams.user_filter.UserFilter(user_key: str | None = None, user_value: str | List[str] | None = None)[source]#
Bases:
object
Filter for selecting users in user data export.
Defines criteria for filtering users retrieved by
get_user()
, allowing selection based on attributes like username, email, group, or about field. Validates the filter key to ensure it is supported. See User and Group Management for filtering workflows.- Parameters:
user_key (Optional[str]) – Attribute to filter by. Must be one of ‘username’, ‘email’, ‘group’, or ‘about’. For example, ‘group’ filters by group membership. If None, no filtering is applied. Defaults to None.
user_value (Optional[Union[str, List[str]]]) – Value(s) to match for
user_key
. For example, ‘TeamA’ or [‘TeamA’, ‘TeamB’] foruser_key="group"
matches users in those groups. Case-sensitive. If None, no filtering is applied. Defaults to None.
- user_key#
The filter key.
- Type:
Optional[str]
- user_value#
The filter value(s).
- Type:
Optional[Union[str, List[str]]]
- Raises:
ValueError – If
user_key
is not ‘username’, ‘email’, ‘group’, or ‘about’.
Examples
>>> from teamworksams import UserFilter, get_user >>> filter = UserFilter(user_key="group", user_value="TeamA") >>> df = get_user( ... url="https://example.smartabase.com/site", ... filter=filter ... ) >>> print(df['groups']) 0 [TeamA] 1 [TeamA] Name: groups, dtype: object >>> filter = UserFilter(user_key="email", user_value=["john.doe@example.com"]) >>> df = get_user(url="https://example.smartabase.com/site", filter=filter)
See Also#
User and Group Management: User update workflows.