codeforlife

View on PyPIReverse Dependencies (0)

0.24.15 codeforlife-0.24.15-py3-none-any.whl

Wheel Details

Project: codeforlife
Version: 0.24.15
Filename: codeforlife-0.24.15-py3-none-any.whl
Download: [link]
Size: 126850
MD5: 10d0b6583df7d061fb5bbc13d5344dce
SHA256: 50e18f550077daea4a39279ecae3e59394a812461e77bc5d1b22e09a5e7f707d
Uploaded: 2025-01-20 15:27:30 +0000

dist-info

METADATA

Metadata-Version: 2.1
Name: codeforlife
Version: 0.24.15
Summary: Code for Life's common code.
Author: Ocado
Author-Email: code-for-life-full-time-xd[at]ocado.com
Home-Page: https://github.com/ocadotechnology/codeforlife-package-python
Requires-Python: ==3.12.*
Requires-Dist: cfl-common (==8.0.7)
Requires-Dist: codeforlife-portal (==8.0.7)
Requires-Dist: django-countries (==7.6.1)
Requires-Dist: django-csp (==3.8)
Requires-Dist: django-pipeline (==3.1.0)
Requires-Dist: django-preventconcurrentlogins (==0.8.2)
Requires-Dist: django-recaptcha (==4.0.0)
Requires-Dist: phonenumbers (==8.12.12)
Requires-Dist: pypng (==0.20220715.0)
Requires-Dist: pytz (==2024.2)
Requires-Dist: rapid-router (==7.2.6)
Requires-Dist: tzdata (==2024.2); python_version >= "2"
Requires-Dist: python-dateutil (==2.9.0.post0); python_version >= "2.7" and python_version not in "3.0, 3.1, 3.2, 3.3"
Requires-Dist: six (==1.17.0); python_version >= "2.7" and python_version not in "3.0, 3.1, 3.2, 3.3"
Requires-Dist: django-reverse-js (==0.1.7); python_version >= "3.10"
Requires-Dist: numpy (==2.2.1); python_version >= "3.10"
Requires-Dist: django-ratelimit (==3.0.1); python_version >= "3.4"
Requires-Dist: more-itertools (==8.7.0); python_version >= "3.5"
Requires-Dist: pyhamcrest (==2.0.2); python_version >= "3.5"
Requires-Dist: certifi (==2024.12.14); python_version >= "3.6"
Requires-Dist: idna (==3.10); python_version >= "3.6"
Requires-Dist: charset-normalizer (==3.4.1); python_version >= "3.7"
Requires-Dist: click (==8.1.8); python_version >= "3.7"
Requires-Dist: diff-match-patch (==20241021); python_version >= "3.7"
Requires-Dist: django-cors-headers (==4.1.0); python_version >= "3.7"
Requires-Dist: django-filter (==23.2); python_version >= "3.7"
Requires-Dist: django-otp (==1.5.4); python_version >= "3.7"
Requires-Dist: django-storages[s3] (==1.14.4); python_version >= "3.7"
Requires-Dist: gunicorn (==23.0.0); python_version >= "3.7"
Requires-Dist: h11 (==0.14.0); python_version >= "3.7"
Requires-Dist: importlib-metadata (==4.13.0); python_version >= "3.7"
Requires-Dist: jmespath (==1.0.1); python_version >= "3.7"
Requires-Dist: psycopg2-binary (==2.9.9); python_version >= "3.7"
Requires-Dist: pyjwt (==2.6.0); python_version >= "3.7"
Requires-Dist: pyotp (==2.9.0); python_version >= "3.7"
Requires-Dist: qrcode (==7.4.2); python_version >= "3.7"
Requires-Dist: reportlab (==3.6.13); python_version >= "3.7" and python_version < "4"
Requires-Dist: asgiref (==3.8.1); python_version >= "3.8"
Requires-Dist: boto3 (==1.34.162); python_version >= "3.8"
Requires-Dist: botocore (==1.34.162); python_version >= "3.8"
Requires-Dist: django (==4.2.17); python_version >= "3.8"
Requires-Dist: django-classy-tags (==4.1.0); python_version >= "3.8"
Requires-Dist: django-formtools (==2.5.1); python_version >= "3.8"
Requires-Dist: django-phonenumber-field (==8.0.0); python_version >= "3.8"
Requires-Dist: django-sekizai (==4.1.0); python_version >= "3.8"
Requires-Dist: django-treebeard (==4.7.1); python_version >= "3.8"
Requires-Dist: django-two-factor-auth (==1.17.0); python_version >= "3.8"
Requires-Dist: djangorestframework (==3.15.2); python_version >= "3.8"
Requires-Dist: libsass (==0.23.0); python_version >= "3.8"
Requires-Dist: packaging (==24.2); python_version >= "3.8"
Requires-Dist: pgeocode (==0.4.0); python_version >= "3.8"
Requires-Dist: python-dotenv (==1.0.1); python_version >= "3.8"
Requires-Dist: pyyaml (==6.0.2); python_version >= "3.8"
Requires-Dist: requests (==2.32.2); python_version >= "3.8"
Requires-Dist: s3transfer (==0.10.4); python_version >= "3.8"
Requires-Dist: setuptools (==74.0.0); python_version >= "3.8"
Requires-Dist: sqlparse (==0.5.3); python_version >= "3.8"
Requires-Dist: typing-extensions (==4.12.2); python_version >= "3.8"
Requires-Dist: uvicorn-worker (==0.2.0); python_version >= "3.8"
Requires-Dist: django-import-export (==4.2.0); python_version >= "3.9"
Requires-Dist: pandas (==2.2.3); python_version >= "3.9"
Requires-Dist: pillow (==11.1.0); python_version >= "3.9"
Requires-Dist: tablib (==3.7.0); python_version >= "3.9"
Requires-Dist: urllib3 (==2.3.0); python_version >= "3.9"
Requires-Dist: uvicorn (==0.34.0); python_version >= "3.9"
Requires-Dist: zipp (==3.21.0); python_version >= "3.9"
Requires-Dist: mypy-boto3-cloudformation (==1.35.93); extra == "dev"
Requires-Dist: mypy-boto3-dynamodb (==1.35.94); extra == "dev"
Requires-Dist: mypy-boto3-ec2 (==1.35.98); extra == "dev"
Requires-Dist: mypy-boto3-lambda (==1.35.93); extra == "dev"
Requires-Dist: mypy-boto3-rds (==1.35.95); extra == "dev"
Requires-Dist: mypy-boto3-s3 (==1.35.93); extra == "dev"
Requires-Dist: mypy-boto3-sqs (==1.35.93); extra == "dev"
Requires-Dist: psutil (==6.1.1); extra == "dev"
Requires-Dist: pyparsing (==3.0.9); python_full_version >= "3.6.8" and extra == "dev"
Requires-Dist: astroid (==3.2.4); python_full_version >= "3.8.0" and extra == "dev"
Requires-Dist: isort (==5.13.2); python_full_version >= "3.8.0" and extra == "dev"
Requires-Dist: pylint (==3.2.7); python_full_version >= "3.8.0" and extra == "dev"
Requires-Dist: pydot (==1.4.2); (python_version >= "2.7" and python_version not in "3.0, 3.1, 3.2, 3.3") and extra == "dev"
Requires-Dist: dill (==0.3.9); python_version >= "3.11" and extra == "dev"
Requires-Dist: mypy-extensions (==1.0.0); python_version >= "3.5" and extra == "dev"
Requires-Dist: pytest-django (==4.5.2); python_version >= "3.5" and extra == "dev"
Requires-Dist: certifi (==2024.12.14); python_version >= "3.6" and extra == "dev"
Requires-Dist: django-extensions (==3.2.1); python_version >= "3.6" and extra == "dev"
Requires-Dist: idna (==3.10); python_version >= "3.6" and extra == "dev"
Requires-Dist: mccabe (==0.7.0); python_version >= "3.6" and extra == "dev"
Requires-Dist: django-test-migrations (==1.2.0); (python_version >= "3.6" and python_version < "4.0") and extra == "dev"
Requires-Dist: charset-normalizer (==3.4.1); python_version >= "3.7" and extra == "dev"
Requires-Dist: click (==8.1.8); python_version >= "3.7" and extra == "dev"
Requires-Dist: iniconfig (==2.0.0); python_version >= "3.7" and extra == "dev"
Requires-Dist: pytest-env (==0.8.1); python_version >= "3.7" and extra == "dev"
Requires-Dist: pytest-xdist[psutil] (==3.5.0); python_version >= "3.7" and extra == "dev"
Requires-Dist: pylint-django (==2.5.5); (python_version >= "3.7" and python_version < "4.0") and extra == "dev"
Requires-Dist: pylint-plugin-utils (==0.8.2); (python_version >= "3.7" and python_version < "4.0") and extra == "dev"
Requires-Dist: asgiref (==3.8.1); python_version >= "3.8" and extra == "dev"
Requires-Dist: black (==24.8.0); python_version >= "3.8" and extra == "dev"
Requires-Dist: boto3-stubs[essential] (==1.35.71); python_version >= "3.8" and extra == "dev"
Requires-Dist: botocore-stubs (==1.35.99); python_version >= "3.8" and extra == "dev"
Requires-Dist: django (==4.2.17); python_version >= "3.8" and extra == "dev"
Requires-Dist: django-stubs[compatible-mypy] (==4.2.6); python_version >= "3.8" and extra == "dev"
Requires-Dist: django-stubs-ext (==5.1.2); python_version >= "3.8" and extra == "dev"
Requires-Dist: djangorestframework-stubs[compatible-mypy] (==3.14.4); python_version >= "3.8" and extra == "dev"
Requires-Dist: execnet (==2.1.1); python_version >= "3.8" and extra == "dev"
Requires-Dist: mypy (==1.6.1); python_version >= "3.8" and extra == "dev"
Requires-Dist: packaging (==24.2); python_version >= "3.8" and extra == "dev"
Requires-Dist: pathspec (==0.12.1); python_version >= "3.8" and extra == "dev"
Requires-Dist: platformdirs (==4.3.6); python_version >= "3.8" and extra == "dev"
Requires-Dist: pluggy (==1.5.0); python_version >= "3.8" and extra == "dev"
Requires-Dist: pytest (==8.3.3); python_version >= "3.8" and extra == "dev"
Requires-Dist: pytest-cov (==5.0.0); python_version >= "3.8" and extra == "dev"
Requires-Dist: requests (==2.32.2); python_version >= "3.8" and extra == "dev"
Requires-Dist: sqlparse (==0.5.3); python_version >= "3.8" and extra == "dev"
Requires-Dist: tomlkit (==0.13.2); python_version >= "3.8" and extra == "dev"
Requires-Dist: types-awscrt (==0.23.6); python_version >= "3.8" and extra == "dev"
Requires-Dist: types-pytz (==2024.2.0.20241221); python_version >= "3.8" and extra == "dev"
Requires-Dist: types-pyyaml (==6.0.12.20241230); python_version >= "3.8" and extra == "dev"
Requires-Dist: types-requests (==2.32.0.20241016); python_version >= "3.8" and extra == "dev"
Requires-Dist: types-s3transfer (==0.10.4); python_version >= "3.8" and extra == "dev"
Requires-Dist: typing-extensions (==4.12.2); python_version >= "3.8" and extra == "dev"
Requires-Dist: coverage[toml] (==7.6.10); python_version >= "3.9" and extra == "dev"
Requires-Dist: urllib3 (==2.3.0); python_version >= "3.9" and extra == "dev"
Provides-Extra: dev
Description-Content-Type: text/markdown
License-File: LICENSE.md
[Description omitted; length: 3089 characters]

WHEEL

Wheel-Version: 1.0
Generator: setuptools (75.1.0)
Root-Is-Purelib: true
Tag: py3-none-any

RECORD

Path Digest Size
codeforlife/__init__.py sha256=u6lvcAowizTqo5JvGMaRfawRbdY2fA8E1xlNoGkpAKE 3796
codeforlife/_test.py sha256=rloU1SX5GrEnLzr688V7o7rzdXCLzG3LMosXLdDJhtM 253
codeforlife/app.py sha256=NXCxyxZfzcjt6Hzaed9ptk_OBoV9m7_CghRi_ZjBIe8 1360
codeforlife/filters.py sha256=4WmIu6NbPSWUj2mpy6vhtKmEAr7eM1wPowF7rlqHCB0 861
codeforlife/forms.py sha256=xzW3oy_UwR94hldusyZ4Xv2T_lv4sCXKOUdUmY3DgLg 2310
codeforlife/logging.py sha256=jXnzkTOkgXpdDx8SqXmZXQ3QK5bzJRJPlaHnciD3dHo 576
codeforlife/mail.py sha256=zFvGpeQRIOyOV3HDJdnaBMODGgPn2jLhtJBbpnMDDC4 10267
codeforlife/pagination.py sha256=WpWnpObXkw6jgcUVIc2plu6rFTxfQ77lVWyY9fdbkpI 906
codeforlife/py.typed sha256=rAl1NkczMwm_az2JKGGPqvJLKRdQifnvq8CdZ8NE6Gw 70
codeforlife/response.py sha256=wbOEiTQcYBlgo-dhqBRlGeJan1Bc9kbWbdrl6Zrkmik 857
codeforlife/types.py sha256=ExsKYyVIq2GE02HjsqNfrbxW7ugpr3KiMHsI9ck2eZ0 905
codeforlife/version.py sha256=b9MZd29aBalTMZzk2JyH6AuwxiX48BpR7tcX2L3__3Q 181
codeforlife/commands/__init__.py sha256=YTtcnwe6ZHpdqHpnuuUUh_AmWQORF_idH8qoHQF0Kew 157
codeforlife/commands/load_fixtures.py sha256=uR0PHo6T65oZhOmbDd6N3UhR075GFR65Gr-QJkAiymM 1285
codeforlife/commands/summarize_fixtures.py sha256=ld3yUZsqIt9V5ngeYyu3rDN2whjiFZMw5PF2yLQ1P84 2628
codeforlife/data/.gitkeep sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
codeforlife/middlewares/__init__.py sha256=PR_yHw0zZpbHVDqO5z5XEI1cfF8Q7y5qcLtuJqM0Ouc 106
codeforlife/middlewares/session.py sha256=RbEuU2zGi-XsOU2pETkuB58FHWtnqMo4EI2cmvdkUQQ 1050
codeforlife/mixins/__init__.py sha256=WEYpJj-t0yq0OAI67wRNzq4N88v_2RMnbdW-Z5pKaI4 95
codeforlife/mixins/cron.py sha256=b5nljjJAERVzCvcJyx1Lmkyzb04ORcS8z2AhHKJYcPI 618
codeforlife/models/__init__.py sha256=Yspvr4YavPxmjwt8Q2GvL_IfIWoEH_5waJXQ_w2KtLU 240
codeforlife/models/abstract_base_session.py sha256=7NP2L-aq2gwilmkybRr0hudZN_6zEmoTGea0az1T2cg 2181
codeforlife/models/abstract_base_user.py sha256=e7ZOgBz9nJSSbK4kq3qjhUSV8t35g0PSN-3zuh4oLVU 1683
codeforlife/models/base.py sha256=wlo9_Ue68Xr8XhWtctXTTI-xc5q_58U8cS5uFR-Gv08 506
codeforlife/models/base_session_store.py sha256=NrDRlpVI6dEPpclFSORPeQlnB44rS2XBoyVxw1UbehQ 2699
codeforlife/models/signals/__init__.py sha256=YwW7sBBuZrEvNbhTPpd4S60BPBgEjCT8NbQeCIHiVec 293
codeforlife/models/signals/general.py sha256=YlbJoNGnfJ-LKvzV_Y2dV3BH2NmUfCOP_toBJ8AgJxc 685
codeforlife/models/signals/post_save.py sha256=YYFYPheZMiHyH74Vh6bSQ3DAy1y1zGXqsfqk5LkX5ME 2610
codeforlife/models/signals/pre_save.py sha256=oYoVbtJ7xi0SBTmKospMIowSB3sHWZmnhDd5yavhFl4 3179
codeforlife/models/signals/receiver.py sha256=DgSq4zVaucGIINfAudklyDoNze99_d26GTpsEJT5IhQ 1804
codeforlife/permissions/__init__.py sha256=r2I7zWwpS_SJejAVV_hTTe6iwnPLZ4EJmer5KtwvniY 352
codeforlife/permissions/allow_any.py sha256=8z13AjUOXKcEBsOQ4lPl08RGUj11i2AAk_UJvbNCJNg 247
codeforlife/permissions/allow_none.py sha256=GybE1P92MKdThuVw_3Lamxz6z4FQmxg7PN1ybLhYaV4 382
codeforlife/permissions/base.py sha256=VKo8UDhINvA2vBTbXNbkKeNtWmuw7NUG6kYDGOsNxHU 333
codeforlife/permissions/is_authenticated.py sha256=7NvhootiyGU7Xl0K1tGxUZ1NwHx_BN8GN9-hkt3A6KA 313
codeforlife/permissions/is_cron_request_from_google.py sha256=4lz3qgAuIsiCfpOWfDdxRByFJuOHJwdtm_ljvRvaO6Y 578
codeforlife/permissions/operators.py sha256=yEZxXBRW4-up4IV0u0WT8GLU3_0d1wNbjKVfau2XeFI 1172
codeforlife/request/__init__.py sha256=CXOaHeViQe8QWb_C109B3dm0lBT7rb475OkbCWFEH6c 199
codeforlife/request/drf.py sha256=wxrDLfa03198PXwhsC9bV6vmAdFUaCZs0iWUSI1CkK4 4533
codeforlife/request/http.py sha256=O8hAuKQgFtaztlfe_oeKkHszQHuC-EOygL2dHceM5Ws 1075
codeforlife/request/wsgi.py sha256=_kODgHNH-2VcRxwB3bc7eG-CYbRglGBdgJdamqORAHA 1089
codeforlife/serializers/__init__.py sha256=7JjPbxzTgjXSXczEPek5YQt0fLtrZaDGxo3wsDBqOAo 225
codeforlife/serializers/base.py sha256=IxxwPlcPQfTYHQMJk5c-E0puFOF78MpzWXui3TE2_fA 850
codeforlife/serializers/model.py sha256=pGXc-jNWDPJ3yzDLqqdgZ5x29FP0yq7JLzA_BmA3YU0 2139
codeforlife/serializers/model_list.py sha256=QFUSogPjwkl5WvQdBHxXVFVJsIOrHZz4YggCyOZD3gw 6499
codeforlife/settings/__init__.py sha256=f_UzFDE2FS7HdW1I5OVuDjyF53tuGA0y45WPh0EepIw 555
codeforlife/settings/custom.py sha256=nuasP6xnJ3DICMjaZe8kLFMzszmQAjDfV_lNn8HkjRQ 1622
codeforlife/settings/django.py sha256=lcLzKOKqZKc17djMM8MPlrOt3ddIS2Xm_XJQy62TZmY 8262
codeforlife/settings/otp.py sha256=7qq3JklijCjSkLDaG7UH13AVaoB0EWnU91_os2u0jM8 791
codeforlife/settings/third_party.py sha256=Nzz-JJ-A5tKENKwI_O5wLUG4rtbhR_dzCGgF-nkLgVs 2437
codeforlife/tests/__init__.py sha256=nMef3d7LtzyoryZ_llkc9eLLdvnmVRwYeyijBUj0908 713
codeforlife/tests/api.py sha256=wjzIaaKrtjemIHM8QK-OqezZiNf12DcvhcN2GN-PfAc 1404
codeforlife/tests/api_client.py sha256=9CTo-awY7_vz8Vwgm-SgYhz_UDVGdp-AjFZKm5Z2l5k 16752
codeforlife/tests/api_request_factory.py sha256=EO2N1XcFBMeF0Sq5a-9uKNAHbvzpmPnMw88MwCQiM-s 7218
codeforlife/tests/cron.py sha256=-UGkX9E5TwKdUK68dNR_jGM6QziwxcpmCRiyOtoPRc4 441
codeforlife/tests/model.py sha256=Vxea5pXk4dXm8oSpcoPI2XEK88cBpCMlj9Zfta-segk 3040
codeforlife/tests/model_list_serializer.py sha256=eRbEZMsfvpU6C8qRLwiIIQXfagBiUVsD1x0PnaYLXio 2328
codeforlife/tests/model_serializer.py sha256=qlOPe8_vjhclAEtU2zRm6Eg2O3GkaQeu7v6i_nnZ-iM 13882
codeforlife/tests/model_view_set.py sha256=N6A53eyi239q7J-qeC7bcP-tv9B5hQ0amX5aKc75Iz8 8616
codeforlife/tests/model_view_set_client.py sha256=eXepJZ3SbSxQSNdUrV6geAfsxjlk-MxUY9GTxHIbnWI 20291
codeforlife/tests/test.py sha256=4UDBcVUpQG0_QZk7EyB-yXkKd7dREXyXkzepiqJi8Go 2072
codeforlife/urls/__init__.py sha256=8OlvrPjuMmyzn8XYAJl5qrJ1kT7LeKaVl9gklnIU35o 187
codeforlife/urls/handlers.py sha256=FjoSIwOShXQMS848t_ZLr5WzEZPTiJzpvMSsxLpyPZM 704
codeforlife/urls/patterns.py sha256=pg2z3jzTi9PBcb53EN1Ekuj8o0lEwgLejcTFq5jlw6M 1736
codeforlife/user/__init__.py sha256=EzH3GjphwPwkpmtDRtJAx2IyoLv4yrFslHFdwMjbqb0 137
codeforlife/user/admin.py sha256=iU7OUwuNKvlgspmEZDDXYckh98mQ_QTwIBoJ3JmIVgo 1393
codeforlife/user/apps.py sha256=JFtT73RZsDm8jkvCM0CJ2__Aj9mPZXcnwJ3vZl9azL4 405
codeforlife/user/urls.py sha256=SzggnUaIxvL0Ikkdn-I3KdQotvv7RARoqyB-2LyKt2I 405
codeforlife/user/auth/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
codeforlife/user/auth/backends/__init__.py sha256=Eip6LFTjm4TE7RbKGbQFeMd_OPhAMEeMPBxwr3n3nnU 326
codeforlife/user/auth/backends/base.py sha256=0zCnpjDoaEGxt9KK9Og0edxptFQkYMNRFoiw8x1d5RY 463
codeforlife/user/auth/backends/email.py sha256=vhPSGVehdbc9QtnhZ0uTjMNFM6HTuHmkFmbMQj8hvrc 863
codeforlife/user/auth/backends/otp.py sha256=4zWfTHl797Sj-AZUQyUZHA4jd9oTYLGEXrxMRhP1VMU 1617
codeforlife/user/auth/backends/otp_bypass_token.py sha256=y_KZdwIJBxGk7ddPAA2IF-OQ1cc0Yx76ms7gsLLK5v0 1175
codeforlife/user/auth/backends/otp_bypass_token_test.py sha256=nnp9mIKqEzRgUkRs_Ttp7o06EbHu1OA61FZJfFAEAwg 1195
codeforlife/user/auth/backends/student.py sha256=mGNMSYBw8grfNAupEQXey-Yj-xP_oGIq4BVJdo2TYbI 1110
codeforlife/user/auth/backends/student_auto.py sha256=PJKDNtLDANrbnvm-L0V-GxHa3tN1kLBX_avjnlNku1Y 1273
codeforlife/user/auth/password_validators/__init__.py sha256=w8mcUgh8nyJAy0EXAjbi6dVV6IUc8qmw_rTHTAA2VOg 213
codeforlife/user/auth/password_validators/base.py sha256=45Q__gkoKFHXCSVGBDU4tsiW-YPRJMrOsNerDLhykzc 402
codeforlife/user/auth/password_validators/common.py sha256=8WWv9vtTMzRpaEvVQaqDc8ZUH9PmufAbkNhTATnhXD0 156
codeforlife/user/auth/password_validators/independent.py sha256=5VOqM0Pqsed19LwoMF3Nr2bZXXA6JmoLLXPJY1PyY1s 1625
codeforlife/user/auth/password_validators/independent_test.py sha256=m2XhQnB8ik2eJ_VOQQ_FGSq3-kU_7HTCMIC-dGlDn4Q 1682
codeforlife/user/auth/password_validators/student.py sha256=Bhj-r_OzV2A8eKo2ei31gYGmHFhIgglGaAlNjoVg20s 870
codeforlife/user/auth/password_validators/student_test.py sha256=uPd-I0Y4WhIbYNeYxVfTRX9uG322N0K4E1tzUtn29uU 829
codeforlife/user/auth/password_validators/teacher.py sha256=ehXuPATsrU7RB20o35a5zwjGZ4O7GDJS_AokR0gxNu0 1798
codeforlife/user/auth/password_validators/teacher_test.py sha256=UkFWbjNMjVwTWdkdXoocQLJJ5jdlue6U94QkaonJfUM 1810
codeforlife/user/filters/__init__.py sha256=HfG3qNcpSHd8awQYhqsv-P25HN-7GWwgO4jyK2F-fho 133
codeforlife/user/filters/klass.py sha256=TzchE_95Ca1koKSs7lTsa1cRUmzkePoTSWRLpiHLHmg 1000
codeforlife/user/filters/user.py sha256=Jmdn7KE68MyINrf44W_Apyc4wRBoceRZ_kB7HvBGsKM 2288
codeforlife/user/fixtures/independent.json sha256=Nb3olwysGz2li28qWTpc9HSicF5UJXD8P-vynvtQjDU 1153
codeforlife/user/fixtures/non_school_teacher.json sha256=BM4j3xRbPCY1jWU-k5FtH-H1n0dMtrnDmCDlu3DYMWk 1142
codeforlife/user/fixtures/school_1.json sha256=-AC6-EHb6BpSBVandnaE-ekHq3upI75u4Heb2k-os60 2997
codeforlife/user/fixtures/school_2.json sha256=MnotPGzXVDulw7ErBPRKOx2goKDXPwtViXcJzX3-pmA 4030
codeforlife/user/fixtures/school_2_sessions.json sha256=SgXmWNQgj5gzz05t-1Vi2jWi5g7SaAliZwYbfjSPTC8 300
codeforlife/user/fixtures/school_3.json sha256=Ki1DPvgTNe0Ek_yvA7tE3yMxcbvc_Ux7SW2h-8IJABQ 1345
codeforlife/user/fixtures/sites.json sha256=crXCizwBVpl0CC8FW_Hn34egukYIzG4xog0EcvZ3Bxs 275
codeforlife/user/management/__init__.py sha256=L93VsHQJ2ZBWwCIErC0krxaC5yIUl5Qd8APcz44kc10 66
codeforlife/user/management/commands/__init__.py sha256=GQm8pnDmk-Xq0xi9I1_4J8gzDnxykPr4i-T86B6nxnw 66
codeforlife/user/management/commands/load_fixtures.py sha256=4ZSXUpEIwKBgYZXLN5YIUvVMZl5nLjtMD7dQLPdPbJ0 218
codeforlife/user/management/commands/summarize_fixtures.py sha256=JkU5iFJJUmsfMxauvtXTRNN70AF2nxkdcZg65nf5B9s 228
codeforlife/user/migrations/0001_initial.py sha256=hR-u_tIVprCKNwDS2vuw4WSxlg-hAL4qcsD-iaxPC9s 8087
codeforlife/user/migrations/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
codeforlife/user/models/__init__.py sha256=J9J2dgwSdn1V5YcsXOQI1j66GlRIQwrh6wAWn9pWID8 835
codeforlife/user/models/auth_factor.py sha256=9IZVxUagNRhvGkWxoh9fmAqZ7qRQKejtgJYvQU2-HfE 882
codeforlife/user/models/auth_factor_test.py sha256=EJVZZeTiL3Fm1B7HLx1gdO80D7v6KE2GbA5hvHULEpk 438
codeforlife/user/models/klass.py sha256=dm6jWRCD63A35TpxbnoyR_mu0rYNbq89tu8fMb8-EJg 168
codeforlife/user/models/otp_bypass_token.py sha256=ysdeTM0-DdSUg64QwSMUQ-DpXVC_MLfpbptb7jAlsuU 2841
codeforlife/user/models/otp_bypass_token_test.py sha256=h0cO_9Fk7K8QRRxiV-pPAR2x8emZupLm1Pt2HLCbSPg 2001
codeforlife/user/models/school.py sha256=P6vlO9fpGHlOiQCwEYKPOLr42dY1FwI_1alu3jFVZS4 169
codeforlife/user/models/session.py sha256=HsJqIr0ag24ncy-4_ftUxxphZmR97hameQkzWAUh0ZM 1471
codeforlife/user/models/session_auth_factor.py sha256=s8DNBOjTtSk61ofj53NWLJG5hCEs1n660cuWC9H7F8U 650
codeforlife/user/models/session_auth_factor_test.py sha256=i2IZK0-e5-veW6brubaQqf-9YorA7uohjubUuLT6JBY 556
codeforlife/user/models/session_test.py sha256=uS1H095LkMWwCnAfKZe1s5YaSUX5iCgc41b6gRECXtQ 889
codeforlife/user/models/student.py sha256=hRPTZygh1JqHOhUVMRABp-mcX9OyX3yrDnOrhcVid4Y 891
codeforlife/user/models/student_test.py sha256=D2i3nXD3ODkJaA-HHBEX5Bde78a-LEZKafPKrmgIY0s 447
codeforlife/user/models/teacher.py sha256=nk1R3-25mXcrlLWIIY5cuPOe_Q4NfXV6FedsxqHW-iE 5809
codeforlife/user/models/user.py sha256=dyF5Ep5OEOXUzeYBJIMWq4frRCoNt6tNw4GB9_34hjY 18605
codeforlife/user/permissions/__init__.py sha256=ZHU6ulRSbm8bGY3JrqVbchgfHlwUbbSBUmB6yErx5zM 177
codeforlife/user/permissions/is_independent.py sha256=qkwyMXeXotZvqKZeYsIUkET2l5TKWgLEH478wwy86qs 1485
codeforlife/user/permissions/is_student.py sha256=oUF_H9uGNkM5v1EmHsplXQfuWiklV5kA4ZIyehHSjns 641
codeforlife/user/permissions/is_teacher.py sha256=pr-dnNBIuSfMvHTVrkt4HXUhfHhWOcnJI8MhLTHQ6fw 2235
codeforlife/user/serializers/__init__.py sha256=wJ6Vx3kIBuJt9LIKj3Ij0eztxX2EYKQxtBreleD9dIc 270
codeforlife/user/serializers/klass.py sha256=IdRBBb2KTo152wikhcshux7lKH3Y73hH3Wx_BNfXXnc 1157
codeforlife/user/serializers/school.py sha256=llFsYSxhfnrodBZ0LYcE_OwxRERN6oD_paoBjd0oMLs 748
codeforlife/user/serializers/student.py sha256=LkAsioK46DDFB9U5WcqX289JfZDEeiKj1Rwh94GykWQ 708
codeforlife/user/serializers/teacher.py sha256=H8viNf18NrQtiif1kdR4ZTzqKJKqvhVgEd4agmTQ_fk 685
codeforlife/user/serializers/user.py sha256=SWxjnvSuLHiz-muCMIWGPBHYaDGPRz5LTlnZ_oP40OQ 2915
codeforlife/user/serializers/user_test.py sha256=0A_Bzvx2l5FguzaygGhWBOmRtidAdXQOrlupB6FJ7HY 2327
codeforlife/user/signals/__init__.py sha256=EJlL3gAobjwyvmpNDCsoX02_WFLkxba2rvzW9aW6QH8 254
codeforlife/user/signals/auth_factor.py sha256=di8ElUBNpj3My-LuoCqcS3KD7pqVc2mPe96aQY5pcRA 842
codeforlife/user/signals/auth_factor_test.py sha256=mpUb1sxcCUnmL_EsiyELoAA6tnlQPS0m1QgT24TN9Qs 703
codeforlife/user/signals/teacher.py sha256=9RiRVnHHU6AEMc67g-CJYU1K64jOt8QFVwMVy5PDRNs 185
codeforlife/user/signals/user.py sha256=cD2nTIK2AtrOuaK_YKVkjn3n5WjppJ10Q8Xq-p-Yi1o 314
codeforlife/user/views/__init__.py sha256=OdKjcq0XmdihhVNRbhQ-tqJfXZxhoi6lsKq4PPcRxb8 163
codeforlife/user/views/klass.py sha256=O8bW1yzfkeUoCTr85rjcRTCGhomFgdvZzC4__obownU 1151
codeforlife/user/views/klass_test.py sha256=tQMoa0aOoVpg9kGdtjKZh7-DPDvdBn4-_BVRtL18wX0 4137
codeforlife/user/views/school.py sha256=N2rr3gY9MP4_VIjQMqk0CKnUhLWpWAXkg8NSbqFxFzw 1555
codeforlife/user/views/school_test.py sha256=YHITG8CB6TN3z8sW9dLc4D9OnNdIcHRS_j3gv34EjTY 2731
codeforlife/user/views/user.py sha256=4t66YAnjIyHOpykCRzgbJuyOubCqxWrAq-Bk7QMI0iU 2639
codeforlife/user/views/user_test.py sha256=8ujxZ1hfzlLN16JTHgYYVS1O8krcdsBrzxlHGoNpgis 7542
codeforlife/views/__init__.py sha256=Blot2w0nOUqSpjzV4bebLkFsWkyGf99dGPtbr549GRk 363
codeforlife/views/api.py sha256=xyaEnfEZX02-_IVpSOikyO80BBFJDLb4VWWX4o5rnkI 2043
codeforlife/views/base_login.py sha256=A86HNupN5yzd_kFX9pgCZbLplC8GLSWkG2i3JY-u8BY 3211
codeforlife/views/csrf.py sha256=zP8sWqgu6Sq1Bvg-98pjkaEH0OAtNDsIn2w3SwYLWj8 692
codeforlife/views/decorators.py sha256=iKc_XLoh1UkMMJjvK2LFTxE79AAgTEGybTFnZOfOSSk 2168
codeforlife/views/health_check.py sha256=oTIRRY60822lTqiELiPOPEj3DcfH5_kRgxwjLh4WeBM 4691
codeforlife/views/model.py sha256=0xW4653IYlDJ9nxKo9aYlny9UfzRKih4ccIoTCtHi28 12569
codeforlife/views/session.py sha256=gn4MIbf7O56a4-Ny2zNtP-YQ5-_eyjBlYYoSRnVoJbM 981
home/runner/work/codeforlife-package-python/codeforlife-package-python/codeforlife/data/.gitkeep sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
home/runner/work/codeforlife-package-python/codeforlife-package-python/codeforlife/user/fixtures/independent.json sha256=Nb3olwysGz2li28qWTpc9HSicF5UJXD8P-vynvtQjDU 1153
home/runner/work/codeforlife-package-python/codeforlife-package-python/codeforlife/user/fixtures/non_school_teacher.json sha256=BM4j3xRbPCY1jWU-k5FtH-H1n0dMtrnDmCDlu3DYMWk 1142
home/runner/work/codeforlife-package-python/codeforlife-package-python/codeforlife/user/fixtures/school_1.json sha256=-AC6-EHb6BpSBVandnaE-ekHq3upI75u4Heb2k-os60 2997
home/runner/work/codeforlife-package-python/codeforlife-package-python/codeforlife/user/fixtures/school_2.json sha256=MnotPGzXVDulw7ErBPRKOx2goKDXPwtViXcJzX3-pmA 4030
home/runner/work/codeforlife-package-python/codeforlife-package-python/codeforlife/user/fixtures/school_2_sessions.json sha256=SgXmWNQgj5gzz05t-1Vi2jWi5g7SaAliZwYbfjSPTC8 300
home/runner/work/codeforlife-package-python/codeforlife-package-python/codeforlife/user/fixtures/school_3.json sha256=Ki1DPvgTNe0Ek_yvA7tE3yMxcbvc_Ux7SW2h-8IJABQ 1345
home/runner/work/codeforlife-package-python/codeforlife-package-python/codeforlife/user/fixtures/sites.json sha256=crXCizwBVpl0CC8FW_Hn34egukYIzG4xog0EcvZ3Bxs 275
codeforlife-0.24.15.dist-info/LICENSE.md sha256=9AbRlCDqD2D1tPibimysFv3zg3AIc49-eyv9aEsyq9w 115
codeforlife-0.24.15.dist-info/METADATA sha256=YUN8RlN_l7_J1JHQOffB6inSk5coNuN8h0lbnCmA7Zg 11586
codeforlife-0.24.15.dist-info/WHEEL sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ 91
codeforlife-0.24.15.dist-info/top_level.txt sha256=xeMVih7VaNYwta6ev6XTSsY5YaJTXrW0vO0r649lp1E 12
codeforlife-0.24.15.dist-info/RECORD

top_level.txt

codeforlife