1from django.contrib.auth.signals import user_logged_out  # noqa
2from django.dispatch import Signal
3
4
5user_logged_in = Signal(providing_args=["request", "user"])
6
7# Typically followed by `user_logged_in` (unless, e-mail verification kicks in)
8user_signed_up = Signal(providing_args=["request", "user"])
9
10password_set = Signal(providing_args=["request", "user"])
11password_changed = Signal(providing_args=["request", "user"])
12password_reset = Signal(providing_args=["request", "user"])
13
14email_confirmed = Signal(providing_args=["request", "email_address"])
15email_confirmation_sent = Signal(
16    providing_args=["request", "confirmation", "signup"])
17
18email_changed = Signal(
19    providing_args=[
20        "request", "user",
21        "from_email_address", "to_email_address"])
22email_added = Signal(providing_args=["request", "user", "email_address"])
23email_removed = Signal(providing_args=["request", "user", "email_address"])
24