django-authtools


Namedjango-authtools JSON
Version 2.0.1 PyPI version JSON
download
home_pagehttps://django-authtools.readthedocs.org/
SummaryCustom user model app for Django featuring email as username.
upload_time2024-03-19 18:46:58
maintainer
docs_urlNone
authorFusionbox, Inc.
requires_python
licenseBSD
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            django-authtools
================

|Build status|

.. |Build status| image:: https://github.com/fusionbox/django-authtools/actions/workflows/ci.yml/badge.svg
   :target: https://github.com/fusionbox/django-authtools/actions/workflows/ci.yml
   :alt: Build Status


A custom user model app for Django 2.2+ that features email as username and
other things. It tries to stay true to the built-in user model for the most
part.

Read the `django-authtools documentation
<https://django-authtools.readthedocs.org/en/latest/>`_.

Quickstart
==========

Before you use this, you should probably read the documentation about `custom
User models
<https://docs.djangoproject.com/en/dev/topics/auth/customizing/#substituting-a-custom-user-model>`_.

1.  Install the package:

    .. code-block:: bash

        $ pip install django-authtools

2.  Add ``authtools`` to your ``INSTALLED_APPS``.

3.  Add the following to your settings.py:

    .. code-block:: python

        AUTH_USER_MODEL = 'authtools.User'

4.  Enjoy.


CHANGES
=======

2.0.1 (2024-03-19)
------------------

- Resolve `SHA1PasswordHasher` deprecation warning for Django 4.0 and above
- Resolve `pkg_resources` deprecation warning for Python 3.8 and above
- Add test coverage for Django 4.1, 4.2, and 5.0
- Add test coverage for Python 3.11 and 3.12
- Python 3.5 and 3.6 are no longer availble in GitHub runner using `ubuntu-latest`


2.0.0 (2022-07-29)
------------------
** BREAKING **

Remove views and URLs. You can now use the ones built in to Django. Removes
support for Django 1.11 and Python 2.

- Add support for Django 2.2, 3.0, 3.1, 3.2, and 4.0.
- Fix bug where request is not properly set on AuthenticationForm (#102)
- Make UserAdmin compatible with Django 2.0
  - Fixes a bug where the password change link would not format correctly
  - Fixes a bug where BetterReadOnlyPasswordWidget would not work on a view only permission
- Documentation fixes (#87, #117)
- Set DEFAULT_AUTO_FIELD to AutoField in AuthtoolsConfig (#123)
  - Silences warning and prevents new migrations when using authtools with Django >= 3.2
- Normalize email in User clean method and UserManager get_by_natural_key method (weslord #112)
  - Fixes a bug where email would not be normalized when creating a user in the admin
- Migrate from TravisCI to GitHub Actions


1.7.0 (2019-06-26)
------------------

- Fix bug when using Django 1.11 where resetting a password when already logged in
  as another user caused an error
- Remove support for Django versions below 1.11 and Python below 2.7 and 3.6


1.6.0 (2017-06-14)
------------------

- Add support for Django 1.9, 1.10, 1.11 (Jared Proffitt #82)
- Remove old conditional imports dating as far back as Django 1.5
- Update readme


1.5.0 (2016-03-26)
------------------

- Update various help_text fields to match Django 1.9 (Wenze van Klink #51, Gavin Wahl #64, Jared Proffitt #67, Ivan VenOsdel #69)
- Documentation fixes (Yuki Izumi #52, Pi Delport #60, Germán Larraín #65)
- Made case-insensitive tooling work with more than just USERNAME_FIELD='username' (Jared Proffitt, Rocky Meza #72, #73)


1.4.0 (2015-11-02)
------------------

- Dropped Django 1.7 compatibility (Antoine Catton)
- Add Django 1.8 compatibility (Antoine Catton, Gavin Wahl, #56)
- **Backwards Incompatible:** Remove 1.6 URLs (Antoine Catton)
- **Backwards Incompatible:** Remove view functions

1.3.0 (unreleased)
------------------

- Added Django 1.7 compatibility (Antoine Catton, Rocky Meza, #35)
- ``LoginView.disallow_authenticated`` was changed to ``LoginView.allow_authenticated``
- ``LoginView.disallow_authenticated`` was deprecated.
- **Backwards Incompatible:** ``LoginView.allow_authenticated`` is now ``True``
  by default (which is the default behavior in Django)
- Create migrations for authtools.

  If updating from an older authtools, these migrations must be run on your apps::

    $ python manage.py migrate --fake authtools 0001_initial

    $ python manage.py migrate


1.2.0 (2015-04-02)
------------------

- Add CaseInsensitiveEmailUserCreationForm for creating users with lowercased email address
  usernames (Bradley Gordon, #31, #11)
- Add CaseInsensitiveEmailBackendMixin, CaseInsensitiveEmailModelBackend for authenticating
  case-insensitive email address usernames (Bradley Gordon, #31, #11)
- Add tox support for test running (Piper Merriam, #25)


1.1.0 (2015-02-24)
------------------

- PasswordChangeView now handles a ``next`` URL parameter (#24)

1.0.0 (released August 16, 2014)
--------------------------------

- Add friendly_password_reset view and FriendlyPasswordResetForm (Antoine Catton, #18)
- **Bugfix** Allow LOGIN_REDIRECT_URL to be unicode (Alan Johnson, Gavin Wahl, Rocky Meza, #13)
- **Backwards Incompatible** Dropped support for Python 3.2

0.2.2 (released July 21, 2014)
------------------------------

- Update safe urls in tests
- Give the ability to restrain which users can reset their password
- Add send_mail to AbstractEmailUser. (Jorge C. Leitão)


0.2.1
-----

- Bugfix: UserAdmin was expecting a User with a `name` field.

0.2.0
-----

- Django 1.6 support.

  Django 1.6 `broke backwards compatibility
  <https://docs.djangoproject.com/en/dev/releases/1.6/#django-contrib-auth-password-reset-uses-base-64-encoding-of-user-pk>`_
  of the ``password_reset_confirm`` view. Be sure to update any references to
  this URL. Rather than using a separate view for each encoding, authtools uses
  `a single view
  <https://django-authtools.readthedocs.org/en/latest/views.html#authtools.views.PasswordResetConfirmView>`_
  that works with both.

- Bugfix: if LOGIN_URL was a URL name, it wasn't being reversed in the
  PasswordResetConfirmView.

0.1.2 (released July 01, 2013)
------------------------------

- Use ``prefetch_related`` in the
  `UserChangeForm <https://django-authtools.readthedocs.org/en/latest/forms.html#authtools.forms.UserChangeForm>`_
  to avoid doing hundreds of ``ContentType`` queries. The form from
  Django has the same feature, it wasn't copied over correctly in our
  original form.

0.1.1 (released May 30, 2013)
-----------------------------

* some bugfixes:

- Call ``UserManager.normalize_email`` on an instance, not a class.
- ``authtools.models.User`` should inherit its parent's ``Meta``.

0.1.0 (released May 28, 2013)
-----------------------------

- django-authtools



            

Raw data

            {
    "_id": null,
    "home_page": "https://django-authtools.readthedocs.org/",
    "name": "django-authtools",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "",
    "author": "Fusionbox, Inc.",
    "author_email": "programmers@fusionbox.com",
    "download_url": "https://files.pythonhosted.org/packages/54/57/6a40c459ae93032f63efae348891d0b43877126f6600e27b1c511dd03c45/django-authtools-2.0.1.tar.gz",
    "platform": null,
    "description": "django-authtools\n================\n\n|Build status|\n\n.. |Build status| image:: https://github.com/fusionbox/django-authtools/actions/workflows/ci.yml/badge.svg\n   :target: https://github.com/fusionbox/django-authtools/actions/workflows/ci.yml\n   :alt: Build Status\n\n\nA custom user model app for Django 2.2+ that features email as username and\nother things. It tries to stay true to the built-in user model for the most\npart.\n\nRead the `django-authtools documentation\n<https://django-authtools.readthedocs.org/en/latest/>`_.\n\nQuickstart\n==========\n\nBefore you use this, you should probably read the documentation about `custom\nUser models\n<https://docs.djangoproject.com/en/dev/topics/auth/customizing/#substituting-a-custom-user-model>`_.\n\n1.  Install the package:\n\n    .. code-block:: bash\n\n        $ pip install django-authtools\n\n2.  Add ``authtools`` to your ``INSTALLED_APPS``.\n\n3.  Add the following to your settings.py:\n\n    .. code-block:: python\n\n        AUTH_USER_MODEL = 'authtools.User'\n\n4.  Enjoy.\n\n\nCHANGES\n=======\n\n2.0.1 (2024-03-19)\n------------------\n\n- Resolve `SHA1PasswordHasher` deprecation warning for Django 4.0 and above\n- Resolve `pkg_resources` deprecation warning for Python 3.8 and above\n- Add test coverage for Django 4.1, 4.2, and 5.0\n- Add test coverage for Python 3.11 and 3.12\n- Python 3.5 and 3.6 are no longer availble in GitHub runner using `ubuntu-latest`\n\n\n2.0.0 (2022-07-29)\n------------------\n** BREAKING **\n\nRemove views and URLs. You can now use the ones built in to Django. Removes\nsupport for Django 1.11 and Python 2.\n\n- Add support for Django 2.2, 3.0, 3.1, 3.2, and 4.0.\n- Fix bug where request is not properly set on AuthenticationForm (#102)\n- Make UserAdmin compatible with Django 2.0\n  - Fixes a bug where the password change link would not format correctly\n  - Fixes a bug where BetterReadOnlyPasswordWidget would not work on a view only permission\n- Documentation fixes (#87, #117)\n- Set DEFAULT_AUTO_FIELD to AutoField in AuthtoolsConfig (#123)\n  - Silences warning and prevents new migrations when using authtools with Django >= 3.2\n- Normalize email in User clean method and UserManager get_by_natural_key method (weslord #112)\n  - Fixes a bug where email would not be normalized when creating a user in the admin\n- Migrate from TravisCI to GitHub Actions\n\n\n1.7.0 (2019-06-26)\n------------------\n\n- Fix bug when using Django 1.11 where resetting a password when already logged in\n  as another user caused an error\n- Remove support for Django versions below 1.11 and Python below 2.7 and 3.6\n\n\n1.6.0 (2017-06-14)\n------------------\n\n- Add support for Django 1.9, 1.10, 1.11 (Jared Proffitt #82)\n- Remove old conditional imports dating as far back as Django 1.5\n- Update readme\n\n\n1.5.0 (2016-03-26)\n------------------\n\n- Update various help_text fields to match Django 1.9 (Wenze van Klink #51, Gavin Wahl #64, Jared Proffitt #67, Ivan VenOsdel #69)\n- Documentation fixes (Yuki Izumi #52, Pi Delport #60, Germ\u00e1n Larra\u00edn #65)\n- Made case-insensitive tooling work with more than just USERNAME_FIELD='username' (Jared Proffitt, Rocky Meza #72, #73)\n\n\n1.4.0 (2015-11-02)\n------------------\n\n- Dropped Django 1.7 compatibility (Antoine Catton)\n- Add Django 1.8 compatibility (Antoine Catton, Gavin Wahl, #56)\n- **Backwards Incompatible:** Remove 1.6 URLs (Antoine Catton)\n- **Backwards Incompatible:** Remove view functions\n\n1.3.0 (unreleased)\n------------------\n\n- Added Django 1.7 compatibility (Antoine Catton, Rocky Meza, #35)\n- ``LoginView.disallow_authenticated`` was changed to ``LoginView.allow_authenticated``\n- ``LoginView.disallow_authenticated`` was deprecated.\n- **Backwards Incompatible:** ``LoginView.allow_authenticated`` is now ``True``\n  by default (which is the default behavior in Django)\n- Create migrations for authtools.\n\n  If updating from an older authtools, these migrations must be run on your apps::\n\n    $ python manage.py migrate --fake authtools 0001_initial\n\n    $ python manage.py migrate\n\n\n1.2.0 (2015-04-02)\n------------------\n\n- Add CaseInsensitiveEmailUserCreationForm for creating users with lowercased email address\n  usernames (Bradley Gordon, #31, #11)\n- Add CaseInsensitiveEmailBackendMixin, CaseInsensitiveEmailModelBackend for authenticating\n  case-insensitive email address usernames (Bradley Gordon, #31, #11)\n- Add tox support for test running (Piper Merriam, #25)\n\n\n1.1.0 (2015-02-24)\n------------------\n\n- PasswordChangeView now handles a ``next`` URL parameter (#24)\n\n1.0.0 (released August 16, 2014)\n--------------------------------\n\n- Add friendly_password_reset view and FriendlyPasswordResetForm (Antoine Catton, #18)\n- **Bugfix** Allow LOGIN_REDIRECT_URL to be unicode (Alan Johnson, Gavin Wahl, Rocky Meza, #13)\n- **Backwards Incompatible** Dropped support for Python 3.2\n\n0.2.2 (released July 21, 2014)\n------------------------------\n\n- Update safe urls in tests\n- Give the ability to restrain which users can reset their password\n- Add send_mail to AbstractEmailUser. (Jorge C. Leit\u00e3o)\n\n\n0.2.1\n-----\n\n- Bugfix: UserAdmin was expecting a User with a `name` field.\n\n0.2.0\n-----\n\n- Django 1.6 support.\n\n  Django 1.6 `broke backwards compatibility\n  <https://docs.djangoproject.com/en/dev/releases/1.6/#django-contrib-auth-password-reset-uses-base-64-encoding-of-user-pk>`_\n  of the ``password_reset_confirm`` view. Be sure to update any references to\n  this URL. Rather than using a separate view for each encoding, authtools uses\n  `a single view\n  <https://django-authtools.readthedocs.org/en/latest/views.html#authtools.views.PasswordResetConfirmView>`_\n  that works with both.\n\n- Bugfix: if LOGIN_URL was a URL name, it wasn't being reversed in the\n  PasswordResetConfirmView.\n\n0.1.2 (released July 01, 2013)\n------------------------------\n\n- Use ``prefetch_related`` in the\n  `UserChangeForm <https://django-authtools.readthedocs.org/en/latest/forms.html#authtools.forms.UserChangeForm>`_\n  to avoid doing hundreds of ``ContentType`` queries. The form from\n  Django has the same feature, it wasn't copied over correctly in our\n  original form.\n\n0.1.1 (released May 30, 2013)\n-----------------------------\n\n* some bugfixes:\n\n- Call ``UserManager.normalize_email`` on an instance, not a class.\n- ``authtools.models.User`` should inherit its parent's ``Meta``.\n\n0.1.0 (released May 28, 2013)\n-----------------------------\n\n- django-authtools\n\n\n",
    "bugtrack_url": null,
    "license": "BSD",
    "summary": "Custom user model app for Django featuring email as username.",
    "version": "2.0.1",
    "project_urls": {
        "Homepage": "https://django-authtools.readthedocs.org/"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "54576a40c459ae93032f63efae348891d0b43877126f6600e27b1c511dd03c45",
                "md5": "271f6d57a578c455209c793ffac9a5da",
                "sha256": "e344cb6be7fd5155208e291eddfcb83510efd4bad3913cb5031347b000a34c4c"
            },
            "downloads": -1,
            "filename": "django-authtools-2.0.1.tar.gz",
            "has_sig": false,
            "md5_digest": "271f6d57a578c455209c793ffac9a5da",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 38956,
            "upload_time": "2024-03-19T18:46:58",
            "upload_time_iso_8601": "2024-03-19T18:46:58.316051Z",
            "url": "https://files.pythonhosted.org/packages/54/57/6a40c459ae93032f63efae348891d0b43877126f6600e27b1c511dd03c45/django-authtools-2.0.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-19 18:46:58",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "django-authtools"
}
        
Elapsed time: 0.34883s