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’] for user_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)
__init__(user_key: str | None = None, user_value: str | List[str] | None = None)[source]#

See Also#