def get_client_parameters(username: str, ip_address: str, user_agent: str) -> dict:
filter_kwargs = dict()<EOL>if settings.AXES_ONLY_USER_FAILURES:<EOL><INDENT>filter_kwargs['<STR_LIT:username>'] = username<EOL><DEDENT>else:<EOL><INDENT>if settings.AXES_LOCK_OUT_BY_COMBINATION_USER_AND_IP:<EOL><INDENT>filter_kwargs['<STR_LIT:username>'] = username<EOL>filter_kwargs['<STR_LIT>'] = ip_address<EOL><DEDENT>else:<EOL><INDENT>filter_kwargs['<STR_LIT>'] = ip_address<EOL><DEDENT>if settings.AXES_USE_USER_AGENT:<EOL><INDENT>filter_kwargs['<STR_LIT>'] = user_agent<EOL><DEDENT><DEDENT>return filter_kwargs<EOL>
Get query parameters for filtering AccessAttempt queryset.

This method returns a dict that guarantees iteration order for keys and values,
and can so be used in e.g. the generation of hash keys or other deterministic functions.