{ "info": { "author": "Lab Digital", "author_email": "opensource@labdigital.nl", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Web Environment", "Framework :: Django", "Framework :: Django :: 1.11", "Framework :: Django :: 2.2", "Framework :: Django :: 3.0", "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8" ], "description": "\n\n===========\nwagtail-2fa\n===========\n\nThis Django app adds two factor authentication to Wagtail. Behind the scenes\nit use django-otp_ which supports Time-based One-Time Passwords (TOTP). This\nallows you to use various apps like Authy, Google Authenticator, or\n1Password.\n\n\n.. _django-otp: https://django-otp-official.readthedocs.io\n\n\nInstallation\n============\n\n.. code-block:: shell\n\n pip install wagtail-2fa\n\n\nThen add the following lines to the ``INSTALLED_APPS`` list in your Django\nsettings:\n\n.. code-block:: python\n\n INSTALLED_APPS = [\n # ...\n 'wagtail_2fa',\n 'django_otp',\n 'django_otp.plugins.otp_totp',\n # ...\n ]\n\nNext add the required middleware to the ``MIDDLEWARE``. It should come\nafter the AuthenticationMiddleware:\n\n.. code-block:: python\n\n MIDDLEWARE = [\n # .. other middleware\n # 'django.contrib.auth.middleware.AuthenticationMiddleware',\n\n 'wagtail_2fa.middleware.VerifyUserMiddleware',\n\n # 'wagtail.core.middleware.SiteMiddleware',\n # .. other middleware\n ]\n\nMigrate your database:\n\n.. code-block:: shell\n\n python manage.py migrate\n\n\n\nSettings\n========\n\nThe following settings are available (Set via your Django settings):\n\n- ``WAGTAIL_2FA_REQUIRED`` (default ``False``): When set to True all\n staff, superuser and other users with access to the Wagtail Admin site\n are forced to login using two factor authentication.\n- ``WAGTAIL_2FA_OTP_TOTP_NAME`` (default: ``False``): The issuer name to\n identify which site is which in your authenticator app. If not set and\n ``WAGTAIL_SITE_NAME`` is defined it uses this. sets ``OTP_TOTP_ISSUER``\n under the hood.\n\n\nMaking 2FA optional\n===================\n\nWith the default ``VerifyUserMiddleware`` middleware, 2FA is enabled for every user.\nTo make 2FA optional, use the ``VerifyUserPermissionsMiddleware`` middleware instead.\n\nTo do so, use the ``VerifyUserPermissionsMiddleware`` middleware instead of the ``VerifyUserMiddleware`` in your Django settings:\n\n.. code-block:: python\n\n MIDDLEWARE = [\n # ...\n # 'wagtail_2fa.middleware.VerifyUserMiddleware',\n 'wagtail_2fa.middleware.VerifyUserPermissionsMiddleware',\n # ...\n ]\n\nWhen this middleware is used, a checkbox is added to the group permissions\nand 2FA can be enabled or disabled per group.\n\n2FA is always enabled for superusers, regardless of the middleware used.\n\n\nSandbox\n=======\n\nFirst create a new virtualenv with Python 3.8 and activate it. Then run\nthe following commands:\n\n.. code-block:: shell\n\n make sandbox\n\n\nYou can then visit http://localhost:8000/admin/ and login with the following\ncredentials:\n\n- E-mail: ``superuser@example.com``\n- Password: ``testing``\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/LabD/wagtail-2fa", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "wagtail-2fa", "package_url": "https://pypi.org/project/wagtail-2fa/", "platform": "", "project_url": "https://pypi.org/project/wagtail-2fa/", "project_urls": { "Homepage": "https://github.com/LabD/wagtail-2fa" }, "release_url": "https://pypi.org/project/wagtail-2fa/1.5.0/", "requires_dist": [ "Django (>=2.2)", "Wagtail (>=2.10)", "django-otp (>=0.8.1)", "six (>=1.14.0)", "qrcode (>=6.1)", "sphinx (>=1.4.1) ; extra == 'docs'", "sphinx-rtd-theme (>=0.4.3) ; extra == 'docs'", "coverage (==5.5) ; extra == 'test'", "pytest (==6.2.4) ; extra == 'test'", "pytest-cov (==2.12.1) ; extra == 'test'", "pytest-django (==4.4.0) ; extra == 'test'", "flake8 (==3.9.2) ; extra == 'test'", "isort (==5.9.3) ; extra == 'test'", "flake8-blind-except (==0.2.0) ; extra == 'test'", "flake8-debugger (==4.0.0) ; extra == 'test'" ], "requires_python": ">=3.6", "summary": "Two factor authentication for Wagtail", "version": "1.5.0", "yanked": false, "yanked_reason": null }, "last_serial": 11254031, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "76a26ad72d7bc239ad3f59ebc43bb955", "sha256": "a72db005500942aa5a9d5af3da039b226cf88d8146827028a69d02c915fb3e98" }, "downloads": -1, "filename": "wagtail_2fa-0.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "76a26ad72d7bc239ad3f59ebc43bb955", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7431, "upload_time": "2018-03-17T16:12:23", "upload_time_iso_8601": "2018-03-17T16:12:23.155332Z", "url": "https://files.pythonhosted.org/packages/0a/c0/324693e033bfc776e92a6a70764b79b03d5d9d5045e0286db77a33e1e069/wagtail_2fa-0.0.1-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "e284f2dc08903c7b1b8d215cce82d037", "sha256": "83d606f52e2737838df449bf7c3c22be98d45a60160ee3773f3f6affed7c4939" }, "downloads": -1, "filename": "wagtail_2fa-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "e284f2dc08903c7b1b8d215cce82d037", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7424, "upload_time": "2018-03-17T16:14:26", "upload_time_iso_8601": "2018-03-17T16:14:26.537253Z", "url": "https://files.pythonhosted.org/packages/e4/b4/e0d8aeeef7d9cc934b413a0f7a2a1402eec71ec1d5adc2ec965aced7aa82/wagtail_2fa-0.0.1-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "ba41c0a66fb5d506de6d77374d70072f", "sha256": "b1ad9ff96f3cc361d3cf28fdd6b288b959a6c4438682a7065b2cccd9a00cea0c" }, "downloads": -1, "filename": "wagtail_2fa-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "ba41c0a66fb5d506de6d77374d70072f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11371, "upload_time": "2018-03-17T17:01:31", "upload_time_iso_8601": "2018-03-17T17:01:31.344689Z", "url": "https://files.pythonhosted.org/packages/c7/fc/f22d39007e9f9fedf0d9a43225ee10de8585378c7f6edf9fc8e81383e686/wagtail_2fa-0.0.2-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "f682394f7acd882cb5d80fb2f4bb6050", "sha256": "dc7476540c04b2b0095d996803539f576a648a1e9efea2d60fdde68c258f367d" }, "downloads": -1, "filename": "wagtail-2fa-0.0.2.tar.gz", "has_sig": false, "md5_digest": "f682394f7acd882cb5d80fb2f4bb6050", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8199, "upload_time": "2018-03-17T17:01:33", "upload_time_iso_8601": "2018-03-17T17:01:33.190181Z", "url": "https://files.pythonhosted.org/packages/0c/a5/44aff42e5cb3fc95bb31226261f3cc2ad24b2f66bc4765719a1e4763d810/wagtail-2fa-0.0.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "1bb5a758660ba65aade2efdc4b66b186", "sha256": "792bd9733783396e6d62ef20373842078277405d397f9377e452f3b3f1380fa5" }, "downloads": -1, "filename": "wagtail_2fa-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "1bb5a758660ba65aade2efdc4b66b186", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 12241, "upload_time": "2018-03-21T07:15:11", "upload_time_iso_8601": "2018-03-21T07:15:11.946108Z", "url": "https://files.pythonhosted.org/packages/0b/f2/899dcd27cd4afb6817f452df8d363c70efa6c502d1ea3ffb09633d2e18de/wagtail_2fa-0.0.3-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "f543f3620908c6e73f04574100b2be02", "sha256": "9a782bcefe608b96c1d5d4b1329d316ab8ba3770714c6ed5bab667eb3610006a" }, "downloads": -1, "filename": "wagtail-2fa-0.0.3.tar.gz", "has_sig": false, "md5_digest": "f543f3620908c6e73f04574100b2be02", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9227, "upload_time": "2018-03-21T07:15:14", "upload_time_iso_8601": "2018-03-21T07:15:14.107847Z", "url": "https://files.pythonhosted.org/packages/5f/f7/8aad13bd0154c9f435d324d21d69eeda98bc20235b47bff377be2e483cef/wagtail-2fa-0.0.3.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "cd42bafc2a1255d3d6bbecedd74835ec", "sha256": "454aae52ed0884a1cbee95c64539e3f39f1aee323e8f0b00e4845bcec5de33c4" }, "downloads": -1, "filename": "wagtail_2fa-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "cd42bafc2a1255d3d6bbecedd74835ec", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 19106, "upload_time": "2018-05-26T13:27:37", "upload_time_iso_8601": "2018-05-26T13:27:37.558270Z", "url": "https://files.pythonhosted.org/packages/43/ad/b3a8b126d229eeaad4f50b86d82437ad47eb24eaa9e9709796db424a4098/wagtail_2fa-0.1.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "fda724dec12a05ffb4e5d16ef6cc5caa", "sha256": "1b094148fe0529c41687fb84717523352fe34e6b2bd69bf32cae2947a9bb2ead" }, "downloads": -1, "filename": "wagtail-2fa-0.1.0.tar.gz", "has_sig": false, "md5_digest": "fda724dec12a05ffb4e5d16ef6cc5caa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11088, "upload_time": "2018-05-26T13:27:39", "upload_time_iso_8601": "2018-05-26T13:27:39.010559Z", "url": "https://files.pythonhosted.org/packages/6e/95/94639543653ca866b2b6da2929c0b25706588b246c864a9ed1859fa74c01/wagtail-2fa-0.1.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "24e91af11b39e91d9693466e41aac60e", "sha256": "2a5c4c1a633419488fccba5f23da004c79aa293af824d1062ff79fcc3649cbe9" }, "downloads": -1, "filename": "wagtail_2fa-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "24e91af11b39e91d9693466e41aac60e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 19107, "upload_time": "2018-05-26T13:28:57", "upload_time_iso_8601": "2018-05-26T13:28:57.565138Z", "url": "https://files.pythonhosted.org/packages/87/79/29e90d15255dcabb36b2271b4f7b7ce2fcf76d618640ee62e034433b40f4/wagtail_2fa-1.0.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "61b0d2849fa8f69d1e1a4e31f876e6c9", "sha256": "6c6b367bc3c6904e9cf03948f40087948ad998083e876e9c56dd1703ad2c984f" }, "downloads": -1, "filename": "wagtail-2fa-1.0.0.tar.gz", "has_sig": false, "md5_digest": "61b0d2849fa8f69d1e1a4e31f876e6c9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11087, "upload_time": "2018-05-26T13:28:59", "upload_time_iso_8601": "2018-05-26T13:28:59.027994Z", "url": "https://files.pythonhosted.org/packages/f7/b5/72267bab8fc95ed8b1317f28eb6c6a3f06c3688677e3ebf922c83b86b74b/wagtail-2fa-1.0.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "1bb2f6c10fb752b4eca6d7d9374dafd1", "sha256": "4a77a4725ad1e642899864d2a94b5f5638d494934480f495f7003f53217bf45d" }, "downloads": -1, "filename": "wagtail_2fa-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "1bb2f6c10fb752b4eca6d7d9374dafd1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 19006, "upload_time": "2019-01-18T09:39:31", "upload_time_iso_8601": "2019-01-18T09:39:31.663096Z", "url": "https://files.pythonhosted.org/packages/37/ec/bb0d4e99efbc476d153f6e84da53a73ed411f357035fc070cad9e67604a2/wagtail_2fa-1.0.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "e50746bb145739d7bffe73db1884741b", "sha256": "77388ced46ca07d47406e8752b2d2c346b0a60ae7eb1255bbd3908232b972bc8" }, "downloads": -1, "filename": "wagtail-2fa-1.0.1.tar.gz", "has_sig": false, "md5_digest": "e50746bb145739d7bffe73db1884741b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13328, "upload_time": "2019-01-18T09:39:32", "upload_time_iso_8601": "2019-01-18T09:39:32.997351Z", "url": "https://files.pythonhosted.org/packages/61/fc/95ffa62d6b509975deff96b9838f85de23f3c242c0d5d7ab7d4b53ed2e9e/wagtail-2fa-1.0.1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "8cf7953cc4abb3b0b88411e852cbd2ee", "sha256": "69d381cb84ae5cbf550fdb1fd507d9fac2a66cd672826f363843f1ee61b607f7" }, "downloads": -1, "filename": "wagtail_2fa-1.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8cf7953cc4abb3b0b88411e852cbd2ee", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 19307, "upload_time": "2019-03-29T14:58:26", "upload_time_iso_8601": "2019-03-29T14:58:26.639084Z", "url": "https://files.pythonhosted.org/packages/26/1e/c78bdcc3b922384cf604669d4b47478b23e2ae50d7ebd07c3e3ad39c776d/wagtail_2fa-1.1.0-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "e28ff4d97c4616d81a2d9525498262bb", "sha256": "a958df1dafecf7f27ed65db5fd7d0b1b0952760a180220f10630c93cb0a50710" }, "downloads": -1, "filename": "wagtail-2fa-1.1.0.tar.gz", "has_sig": false, "md5_digest": "e28ff4d97c4616d81a2d9525498262bb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12881, "upload_time": "2019-03-29T14:58:28", "upload_time_iso_8601": "2019-03-29T14:58:28.110542Z", "url": "https://files.pythonhosted.org/packages/61/cc/5de99f7a6485cab26550293d07d29d7e5e98209c349ab2bdd6aa22243bfd/wagtail-2fa-1.1.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "bad0d9075cc6ced182330d57410089c0", "sha256": "ffddeb92df4a5171ef54b5a167b707578167e28cbc36baa3d6c95e1877309023" }, "downloads": -1, "filename": "wagtail_2fa-1.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "bad0d9075cc6ced182330d57410089c0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 19849, "upload_time": "2019-10-30T13:39:01", "upload_time_iso_8601": "2019-10-30T13:39:01.822518Z", "url": "https://files.pythonhosted.org/packages/61/e8/05bd4546e9c13d329f41ea4cfd44d7d922d5733aed76bd838618f3516d34/wagtail_2fa-1.2.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "8b05f334d4a64fb37d70ac11ab1439d7", "sha256": "373e6b2327fa0b5e8e8e02721dcd9f5b9b7b586af7afbd14f022f3f5521d2e3f" }, "downloads": -1, "filename": "wagtail-2fa-1.2.0.tar.gz", "has_sig": false, "md5_digest": "8b05f334d4a64fb37d70ac11ab1439d7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14757, "upload_time": "2019-10-30T13:39:03", "upload_time_iso_8601": "2019-10-30T13:39:03.954533Z", "url": "https://files.pythonhosted.org/packages/ef/74/6c0b5d4d235780b263d6ba189771ff603c24e8f090a44d481b72d41450a3/wagtail-2fa-1.2.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "6179dc5416d0cc1b9bdc6d75c48c6ae1", "sha256": "3912792fdf3a8f54fcd2692df20178015f5b8579a3d1f3908c1c7db8449692d4" }, "downloads": -1, "filename": "wagtail_2fa-1.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "6179dc5416d0cc1b9bdc6d75c48c6ae1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 20488, "upload_time": "2019-11-26T12:00:35", "upload_time_iso_8601": "2019-11-26T12:00:35.546195Z", "url": "https://files.pythonhosted.org/packages/df/13/94be563ba8abf75aba46a0f542dae3abcf754d558be4b966093ccb05d208/wagtail_2fa-1.3.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "cb7828cfb259453663bcc66500b24fed", "sha256": "ceb28b9720b26842e0692a8f5c93ffd23f0c83be43192a9836962d179e649c51" }, "downloads": -1, "filename": "wagtail-2fa-1.3.0.tar.gz", "has_sig": false, "md5_digest": "cb7828cfb259453663bcc66500b24fed", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15093, "upload_time": "2019-11-26T12:00:40", "upload_time_iso_8601": "2019-11-26T12:00:40.020848Z", "url": "https://files.pythonhosted.org/packages/ef/57/a97446cf74c1ab316cceb381479acc54d57b0f6941bdb4eb2c5dda22d54c/wagtail-2fa-1.3.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.3.1": [ { "comment_text": "", "digests": { "md5": "dc87b223c62127bcc3c65258ebed0e93", "sha256": "bdb409de1c93802313319f13e3e24f51379148447b2a6ee71d1870b1cc8ea65f" }, "downloads": -1, "filename": "wagtail_2fa-1.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "dc87b223c62127bcc3c65258ebed0e93", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 21747, "upload_time": "2019-12-04T16:19:34", "upload_time_iso_8601": "2019-12-04T16:19:34.211371Z", "url": "https://files.pythonhosted.org/packages/e8/fc/d213f7a0a212d58cec6f8c4c3eb59640bfd9654c57e67270bb43107997e5/wagtail_2fa-1.3.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "031c6436db375452b6193f0bc2c10d74", "sha256": "27a1a5fa0decc7a996c1743579ca06ff995799b407b3bc26d3830c62e0295f10" }, "downloads": -1, "filename": "wagtail-2fa-1.3.1.tar.gz", "has_sig": false, "md5_digest": "031c6436db375452b6193f0bc2c10d74", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16286, "upload_time": "2019-12-04T16:19:35", "upload_time_iso_8601": "2019-12-04T16:19:35.726735Z", "url": "https://files.pythonhosted.org/packages/6a/70/acaee66fd0664b605eb6faa1dea9610025e1c30ef90ece0653c8e864ba3f/wagtail-2fa-1.3.1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.3.2": [ { "comment_text": "", "digests": { "md5": "30169245ea9b934cf5bda2bc6fbdf330", "sha256": "1aba56377c34f116815da314ae57ffbf9909a57d76ec039b386a3dcc5919aa02" }, "downloads": -1, "filename": "wagtail_2fa-1.3.2-py3-none-any.whl", "has_sig": false, "md5_digest": "30169245ea9b934cf5bda2bc6fbdf330", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 21751, "upload_time": "2019-12-04T18:38:28", "upload_time_iso_8601": "2019-12-04T18:38:28.880925Z", "url": "https://files.pythonhosted.org/packages/78/8e/5ac6975991c1905c8069b4abfd231743a5ceac72cf16cf245f1ef5a97937/wagtail_2fa-1.3.2-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "f3b30b0820245c5d771dcf5d531d1e5d", "sha256": "84dd8229c60be902a93d61d6e512095e48744be8e819f17fbf7ed908eac636da" }, "downloads": -1, "filename": "wagtail-2fa-1.3.2.tar.gz", "has_sig": false, "md5_digest": "f3b30b0820245c5d771dcf5d531d1e5d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16327, "upload_time": "2019-12-04T18:38:30", "upload_time_iso_8601": "2019-12-04T18:38:30.855553Z", "url": "https://files.pythonhosted.org/packages/5a/63/523b2d486b5ae93ac30be296c4f51c5f3f29193b9a5a4f4aaf4aa26e456d/wagtail-2fa-1.3.2.tar.gz", "yanked": false, "yanked_reason": null } ], "1.3.3": [ { "comment_text": "", "digests": { "md5": "edbd1c0dd48a92093d337d9b207eb65f", "sha256": "5ba23ab3553b3c20a3eff572be42da746ca36809d066e560996325a9b6747240" }, "downloads": -1, "filename": "wagtail_2fa-1.3.3-py3-none-any.whl", "has_sig": false, "md5_digest": "edbd1c0dd48a92093d337d9b207eb65f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 21759, "upload_time": "2019-12-05T12:30:32", "upload_time_iso_8601": "2019-12-05T12:30:32.438780Z", "url": "https://files.pythonhosted.org/packages/4e/f5/f3561d0ed6d9c3bc5d1680d85eaffeb49056c610d74a2505ca99c8e6c6cc/wagtail_2fa-1.3.3-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "a1f07f1c8920d7431068b9b8d43e549c", "sha256": "bec34473401c0a7a5a827d09f54848ec639547f44e2c2a9d641993806907fa0d" }, "downloads": -1, "filename": "wagtail-2fa-1.3.3.tar.gz", "has_sig": false, "md5_digest": "a1f07f1c8920d7431068b9b8d43e549c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16352, "upload_time": "2019-12-05T12:30:34", "upload_time_iso_8601": "2019-12-05T12:30:34.279496Z", "url": "https://files.pythonhosted.org/packages/88/e9/d0e29c5cdc1c188550241d6041f9b7b304599ec4c2413476aeea40a45e74/wagtail-2fa-1.3.3.tar.gz", "yanked": false, "yanked_reason": null } ], "1.3.4": [ { "comment_text": "", "digests": { "md5": "7bfc30ab33f11982e0478e3f8c1ef7ae", "sha256": "4ab5396933b8ed69dfcb23cedf3e7a3fd3ecd8e5c464579046f8ffaaecf9944c" }, "downloads": -1, "filename": "wagtail_2fa-1.3.4-py3-none-any.whl", "has_sig": false, "md5_digest": "7bfc30ab33f11982e0478e3f8c1ef7ae", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 21877, "upload_time": "2019-12-11T10:02:23", "upload_time_iso_8601": "2019-12-11T10:02:23.786797Z", "url": "https://files.pythonhosted.org/packages/dc/a4/cd706d223516495f47f6ffa6853393c031a1907350bc074ce4e1caa3d67c/wagtail_2fa-1.3.4-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "652778948b72fcc2c30b6235e52e7164", "sha256": "993939cfab7ac15326b0416c5eaf6d626fdcbf8a540269cac65b04592cc8a140" }, "downloads": -1, "filename": "wagtail-2fa-1.3.4.tar.gz", "has_sig": false, "md5_digest": "652778948b72fcc2c30b6235e52e7164", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16477, "upload_time": "2019-12-11T10:02:26", "upload_time_iso_8601": "2019-12-11T10:02:26.708462Z", "url": "https://files.pythonhosted.org/packages/31/0c/ccc0fe0fb76ad98db5d46e004cbcd0519cf1ba7e0bd4cf748dd9542e95a2/wagtail-2fa-1.3.4.tar.gz", "yanked": false, "yanked_reason": null } ], "1.4.0": [ { "comment_text": "", "digests": { "md5": "979c419b306503cff50bd1b99bda4613", "sha256": "9c140bbcf49b87db56b832ddd3f27321f3cedfe4e2a1bb0a7e51041d21e984a9" }, "downloads": -1, "filename": "wagtail_2fa-1.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "979c419b306503cff50bd1b99bda4613", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 21928, "upload_time": "2020-02-04T20:41:43", "upload_time_iso_8601": "2020-02-04T20:41:43.625637Z", "url": "https://files.pythonhosted.org/packages/ed/05/12acd00e6ba0a04b32ef4d2e1e4ad4d12f2a755204dd8f91462a9e1f0a06/wagtail_2fa-1.4.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "14874c2924604bbad2ac029408e0f813", "sha256": "4c85854d02354c0b6c061449efd630f1f6a5f1b4e2081e8f1e95089ea1d7a198" }, "downloads": -1, "filename": "wagtail-2fa-1.4.0.tar.gz", "has_sig": false, "md5_digest": "14874c2924604bbad2ac029408e0f813", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 16590, "upload_time": "2020-02-04T20:41:45", "upload_time_iso_8601": "2020-02-04T20:41:45.206210Z", "url": "https://files.pythonhosted.org/packages/f2/ed/fe22c28c57e39530af026120a2ecda317938b5a2eb226685377e2ed3b3a0/wagtail-2fa-1.4.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.4.1": [ { "comment_text": "", "digests": { "md5": "9531505dc0f49e4f56e85e4cc83d773c", "sha256": "00a602433aa4a4bfdfb5d974d0616b48414f6e5c1a1905bff72ca3bfb092e52d" }, "downloads": -1, "filename": "wagtail_2fa-1.4.1-py3-none-any.whl", "has_sig": false, "md5_digest": "9531505dc0f49e4f56e85e4cc83d773c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 22186, "upload_time": "2020-02-10T15:41:24", "upload_time_iso_8601": "2020-02-10T15:41:24.499974Z", "url": "https://files.pythonhosted.org/packages/a1/d5/c0e81add2b0fa10ac8500eaa478f6c79f75262c9daa68dbd7f9a64684b3b/wagtail_2fa-1.4.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "d5ba71439fb3b2ee0b96e6f8bf4e711d", "sha256": "3fdb5cf76eba996610e84439efc520d275f754239c3b93225839d5e64cebbf36" }, "downloads": -1, "filename": "wagtail-2fa-1.4.1.tar.gz", "has_sig": false, "md5_digest": "d5ba71439fb3b2ee0b96e6f8bf4e711d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 16785, "upload_time": "2020-02-10T15:41:25", "upload_time_iso_8601": "2020-02-10T15:41:25.966156Z", "url": "https://files.pythonhosted.org/packages/05/96/ba6300192c3d7178f037c00be143eac942bdf269760481cb48d8b96ba98b/wagtail-2fa-1.4.1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.4.2": [ { "comment_text": "", "digests": { "md5": "3cbaae017908762c400220c2b8cb7b1e", "sha256": "59895c700a4735d2afe7aeb7bab2e6277c1f80f838da1f999b5a76e0e1ed1a18" }, "downloads": -1, "filename": "wagtail_2fa-1.4.2-py3-none-any.whl", "has_sig": false, "md5_digest": "3cbaae017908762c400220c2b8cb7b1e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 22190, "upload_time": "2020-02-29T09:10:17", "upload_time_iso_8601": "2020-02-29T09:10:17.571055Z", "url": "https://files.pythonhosted.org/packages/df/48/6116e0c70f414402ffdb2da2a4eeb8dfb6644b59c44f4a8c84281ba1a6db/wagtail_2fa-1.4.2-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "8218e076fc4c35d41d01b16b727dad98", "sha256": "b9f06ffc9e8ac37df461dd0e97ca08754849610b2e7ca180010f95d5523a35ac" }, "downloads": -1, "filename": "wagtail-2fa-1.4.2.tar.gz", "has_sig": false, "md5_digest": "8218e076fc4c35d41d01b16b727dad98", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 17045, "upload_time": "2020-02-29T09:10:19", "upload_time_iso_8601": "2020-02-29T09:10:19.417719Z", "url": "https://files.pythonhosted.org/packages/a7/95/06bcaf6c34965230d3d0ad240cd9ef3384c3dcc63f4a2430bcd2c632f01f/wagtail-2fa-1.4.2.tar.gz", "yanked": false, "yanked_reason": null } ], "1.5.0": [ { "comment_text": "", "digests": { "md5": "a3871fdc4850a7e0354a84d3594269d6", "sha256": "d275d46738b86fd1422595fb6b677226c8b0f8485f725c6a966afe390bb6e6a1" }, "downloads": -1, "filename": "wagtail_2fa-1.5.0-py3-none-any.whl", "has_sig": false, "md5_digest": "a3871fdc4850a7e0354a84d3594269d6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 22862, "upload_time": "2021-08-23T16:42:18", "upload_time_iso_8601": "2021-08-23T16:42:18.582120Z", "url": "https://files.pythonhosted.org/packages/f2/fb/194cd59eb5c16a5c813b9d5786296877d66c8ddc04ff636a4b67ac308d51/wagtail_2fa-1.5.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "229a0ecb3819b63bd7b18b81527db279", "sha256": "a625c83e9e597c7619c7b44a58dc5f7a0c1e34dc3097ee3823404b50553a51af" }, "downloads": -1, "filename": "wagtail-2fa-1.5.0.tar.gz", "has_sig": false, "md5_digest": "229a0ecb3819b63bd7b18b81527db279", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 18530, "upload_time": "2021-08-23T16:42:21", "upload_time_iso_8601": "2021-08-23T16:42:21.347579Z", "url": "https://files.pythonhosted.org/packages/a5/f0/224d91027871fed1d3498c77ce2a2d5c953cae8e32307a20fb037e1bd5f6/wagtail-2fa-1.5.0.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a3871fdc4850a7e0354a84d3594269d6", "sha256": "d275d46738b86fd1422595fb6b677226c8b0f8485f725c6a966afe390bb6e6a1" }, "downloads": -1, "filename": "wagtail_2fa-1.5.0-py3-none-any.whl", "has_sig": false, "md5_digest": "a3871fdc4850a7e0354a84d3594269d6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 22862, "upload_time": "2021-08-23T16:42:18", "upload_time_iso_8601": "2021-08-23T16:42:18.582120Z", "url": "https://files.pythonhosted.org/packages/f2/fb/194cd59eb5c16a5c813b9d5786296877d66c8ddc04ff636a4b67ac308d51/wagtail_2fa-1.5.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "229a0ecb3819b63bd7b18b81527db279", "sha256": "a625c83e9e597c7619c7b44a58dc5f7a0c1e34dc3097ee3823404b50553a51af" }, "downloads": -1, "filename": "wagtail-2fa-1.5.0.tar.gz", "has_sig": false, "md5_digest": "229a0ecb3819b63bd7b18b81527db279", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 18530, "upload_time": "2021-08-23T16:42:21", "upload_time_iso_8601": "2021-08-23T16:42:21.347579Z", "url": "https://files.pythonhosted.org/packages/a5/f0/224d91027871fed1d3498c77ce2a2d5c953cae8e32307a20fb037e1bd5f6/wagtail-2fa-1.5.0.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }