LICENSE.md
README.md
setup.py
codeforlife/__init__.py
codeforlife/encryption.py
codeforlife/filters.py
codeforlife/forms.py
codeforlife/logging.py
codeforlife/mail.py
codeforlife/pagination.py
codeforlife/py.typed
codeforlife/response.py
codeforlife/routers.py
codeforlife/types.py
codeforlife.egg-info/PKG-INFO
codeforlife.egg-info/SOURCES.txt
codeforlife.egg-info/dependency_links.txt
codeforlife.egg-info/requires.txt
codeforlife.egg-info/top_level.txt
codeforlife/caches/__init__.py
codeforlife/caches/base.py
codeforlife/caches/base_dynamic_key.py
codeforlife/caches/base_fixed_key.py
codeforlife/commands/__init__.py
codeforlife/commands/load_fixtures.py
codeforlife/commands/summarize_fixtures.py
codeforlife/data/.gitkeep
codeforlife/middlewares/__init__.py
codeforlife/middlewares/session.py
codeforlife/models/__init__.py
codeforlife/models/abstract_base_session.py
codeforlife/models/abstract_base_user.py
codeforlife/models/base.py
codeforlife/models/base_data_encryption_key.py
codeforlife/models/base_session_store.py
codeforlife/models/data_encryption_key.py
codeforlife/models/encrypted.py
codeforlife/models/utils.py
codeforlife/models/fields/__init__.py
codeforlife/models/fields/base_encrypted.py
codeforlife/models/fields/data_encryption_key.py
codeforlife/models/fields/deferred_attribute.py
codeforlife/models/fields/encrypted_text.py
codeforlife/models/fields/sha256.py
codeforlife/models/signals/__init__.py
codeforlife/models/signals/general.py
codeforlife/models/signals/post_save.py
codeforlife/models/signals/pre_save.py
codeforlife/models/signals/receiver.py
codeforlife/permissions/__init__.py
codeforlife/permissions/allow_any.py
codeforlife/permissions/allow_none.py
codeforlife/permissions/auth_header_is_github_oidc_token.py
codeforlife/permissions/base.py
codeforlife/permissions/is_authenticated.py
codeforlife/permissions/operators.py
codeforlife/pprint/__init__.py
codeforlife/pprint/ansi.py
codeforlife/pprint/pretty_printer.py
codeforlife/pprint/style.py
codeforlife/request/__init__.py
codeforlife/request/drf.py
codeforlife/request/http.py
codeforlife/request/wsgi.py
codeforlife/serializers/__init__.py
codeforlife/serializers/base.py
codeforlife/serializers/model.py
codeforlife/serializers/model_list.py
codeforlife/settings/__init__.py
codeforlife/settings/_secrets.py
codeforlife/settings/custom.py
codeforlife/settings/django.py
codeforlife/settings/google.py
codeforlife/settings/third_party.py
codeforlife/templates/codeforlife/rest_framework/api.html
codeforlife/tests/__init__.py
codeforlife/tests/api.py
codeforlife/tests/api_client.py
codeforlife/tests/api_request_factory.py
codeforlife/tests/exceptions.py
codeforlife/tests/model.py
codeforlife/tests/model_list_serializer.py
codeforlife/tests/model_serializer.py
codeforlife/tests/model_view_set.py
codeforlife/tests/model_view_set_client.py
codeforlife/tests/permission.py
codeforlife/tests/test.py
codeforlife/tests/validator.py
codeforlife/urls/__init__.py
codeforlife/urls/handlers.py
codeforlife/urls/patterns.py
codeforlife/user/__init__.py
codeforlife/user/admin.py
codeforlife/user/apps.py
codeforlife/user/urls.py
codeforlife/user/auth/__init__.py
codeforlife/user/auth/backends/__init__.py
codeforlife/user/auth/backends/base.py
codeforlife/user/auth/backends/email.py
codeforlife/user/auth/backends/google.py
codeforlife/user/auth/backends/otp.py
codeforlife/user/auth/backends/otp_bypass_token.py
codeforlife/user/auth/backends/student.py
codeforlife/user/auth/backends/student_auto.py
codeforlife/user/auth/password_validators/__init__.py
codeforlife/user/auth/password_validators/base.py
codeforlife/user/auth/password_validators/common.py
codeforlife/user/auth/password_validators/independent.py
codeforlife/user/auth/password_validators/student.py
codeforlife/user/auth/password_validators/teacher.py
codeforlife/user/caches/__init__.py
codeforlife/user/caches/google_oauth2_token.py
codeforlife/user/filters/__init__.py
codeforlife/user/filters/klass.py
codeforlife/user/filters/user.py
codeforlife/user/fixtures/google_users.json
codeforlife/user/fixtures/independent.json
codeforlife/user/fixtures/legacy.json
codeforlife/user/fixtures/non_school_teacher.json
codeforlife/user/fixtures/school_1.json
codeforlife/user/fixtures/school_2.json
codeforlife/user/fixtures/school_2_sessions.json
codeforlife/user/fixtures/school_3.json
codeforlife/user/management/__init__.py
codeforlife/user/management/commands/__init__.py
codeforlife/user/management/commands/encrypt_plaintext_fields.py
codeforlife/user/management/commands/load_fixtures.py
codeforlife/user/management/commands/summarize_fixtures.py
codeforlife/user/migrations/0001_initial.py
codeforlife/user/migrations/0002_user_proxies_and_new_models.py
codeforlife/user/migrations/0003_client_side_encryption_part_1.py
codeforlife/user/migrations/__init__.py
codeforlife/user/models/__init__.py
codeforlife/user/models/auth_factor.py
codeforlife/user/models/klass.py
codeforlife/user/models/other.py
codeforlife/user/models/otp_bypass_token.py
codeforlife/user/models/school.py
codeforlife/user/models/session.py
codeforlife/user/models/session_auth_factor.py
codeforlife/user/models/student.py
codeforlife/user/models/teacher/__init__.py
codeforlife/user/models/teacher/admin_school.py
codeforlife/user/models/teacher/non_admin_school.py
codeforlife/user/models/teacher/non_school.py
codeforlife/user/models/teacher/school.py
codeforlife/user/models/teacher/teacher.py
codeforlife/user/models/user/__init__.py
codeforlife/user/models/user/admin_school_teacher.py
codeforlife/user/models/user/contactable.py
codeforlife/user/models/user/google.py
codeforlife/user/models/user/independent.py
codeforlife/user/models/user/non_admin_school_teacher.py
codeforlife/user/models/user/non_school_teacher.py
codeforlife/user/models/user/school_teacher.py
codeforlife/user/models/user/student.py
codeforlife/user/models/user/teacher.py
codeforlife/user/models/user/user.py
codeforlife/user/permissions/__init__.py
codeforlife/user/permissions/is_independent.py
codeforlife/user/permissions/is_student.py
codeforlife/user/permissions/is_teacher.py
codeforlife/user/permissions/synced_with_google.py
codeforlife/user/serializers/__init__.py
codeforlife/user/serializers/klass.py
codeforlife/user/serializers/school.py
codeforlife/user/serializers/student.py
codeforlife/user/serializers/teacher.py
codeforlife/user/serializers/user.py
codeforlife/user/signals/__init__.py
codeforlife/user/signals/auth_factor.py
codeforlife/user/signals/teacher.py
codeforlife/user/signals/user.py
codeforlife/user/templates/rest_framework/api.html
codeforlife/user/views/__init__.py
codeforlife/user/views/klass.py
codeforlife/user/views/school.py
codeforlife/user/views/user.py
codeforlife/validators/__init__.py
codeforlife/validators/enhanced_regex.py
codeforlife/validators/char_set/__init__.py
codeforlife/validators/char_set/ascii.py
codeforlife/validators/char_set/base.py
codeforlife/validators/char_set/unicode.py
codeforlife/views/__init__.py
codeforlife/views/api.py
codeforlife/views/api_root.py
codeforlife/views/base_login.py
codeforlife/views/csrf.py
codeforlife/views/decorators.py
codeforlife/views/model.py
codeforlife/views/session.py