strawberry-django-auth


Namestrawberry-django-auth JSON
Version 0.376.11 PyPI version JSON
download
home_pageNone
SummaryGraphql authentication system with Strawberry for Django.
upload_time2024-04-10 06:31:31
maintainerNir.J Benlulu
docs_urlNone
authorNir.J Benlulu
requires_python<3.13,>=3.8
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage
            [![Tests](https://img.shields.io/github/actions/workflow/status/nrbnlulu/strawberry-django-auth/tests.yml?label=Tests&style=for-the-badge)](https://github.com/nrbnlulu/strawberry-django-auth/actions/workflows/tests.yml)
[![Codecov](https://img.shields.io/codecov/c/github/nrbnlulu/strawberry-django-auth?style=for-the-badge)](https://app.codecov.io/gh/nrbnlulu/strawberry-django-auth)
[![Pypi](https://img.shields.io/pypi/v/strawberry-django-auth.svg?style=for-the-badge&logo=appveyor)](https://pypi.org/project/strawberry-django-auth/)
[![contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=for-the-badge&logo=appveyor)](https://github.com/nrbnlulu/strawberry-django-auth/blob/main/CONTRIBUTING.md)
[![Pypi downloads](https://img.shields.io/pypi/dm/strawberry-django-auth?style=for-the-badge)](https://pypistats.org/packages/strawberry-django-auth)
[![Python versions](https://img.shields.io/pypi/pyversions/strawberry-django-auth?style=social)](https://pypi.org/project/strawberry-django-auth/)

# Strawberry-django Auth
[Django](https://github.com/django/django) registration and authentication with [Strawberry](https://strawberry.rocks/).

## Demo

![Demo Video](https://github.com/nrbnlulu/strawberry-django-auth/blob/main/demo.gif)

## About
#### This Library was inspired by [Django-graphql-auth](https://github.com/pedrobern/django-graphql-auth/).

Abstract all the basic logic of handling user accounts out of your app,
so you don't need to think about it and can **get you up and running faster**.

No lock-in. When you are ready to implement your own code or this package
is not up to your expectations , it's *easy to extend or switch to
your implementation*.


### Docs can be found [here](https://nrbnlulu.github.io/strawberry-django-auth/)

## Features

* [x] Awesome docs!
* [x] Captcha validation (with extra `strawberry-django-auth[captcha]`)
* [x] Async/Sync supported!
* [x] Works with default or custom user model
* [x] Builtin JWT authentication using [PyJWT](https://github.com/jpadilla/pyjwt)
* [x] User registration with email verification
* [x] Retrieve/Update user
* [x] Archive user
* [x] Permanently delete user or make it inactive
* [x] Turn archived user active again on login
* [x] Track user status <small>(archived, verified)</small>
* [x] Password change
* [x] Password reset through email
* [x] Revoke user tokens on account archive/delete/password change/reset
* [x] All mutations return `success` and `errors`
* [x] Default email templates <small>(you will customize though)</small>
* [x] Customizable, no lock-in
* [x] Passwordless registration


### Full schema features

```python


@strawberry.type
class Mutation:
    verify_token = mutations.VerifyToken.field
    update_account = mutations.UpdateAccount.field
    archive_account = mutations.ArchiveAccount.field
    delete_account = mutations.DeleteAccount.field
    password_change = mutations.PasswordChange.field
    swap_emails = mutations.SwapEmails.field

    # these are mutation that does not require authentication.
    captcha = Captcha.field
    token_auth = mutations.ObtainJSONWebToken.field
    register = mutations.Register.field
    verify_account = mutations.VerifyAccount.field
    resend_activation_email = mutations.ResendActivationEmail.field
    send_password_reset_email = mutations.SendPasswordResetEmail.field
    password_reset = mutations.PasswordReset.field
    password_set = mutations.PasswordSet.field
    refresh_token = mutations.RefreshToken.field
    revoke_token = mutations.RevokeToken.field
    verify_secondary_email = mutations.VerifySecondaryEmail.field


schema = strawberry.Schema(query=Query, mutation=Mutation)

```

## Contributing

See [CONTRIBUTING.md](https://github.com/nrbnlulu/strawberry-django-auth/blob/main/CONTRIBUTING.md)

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "strawberry-django-auth",
    "maintainer": "Nir.J Benlulu",
    "docs_url": null,
    "requires_python": "<3.13,>=3.8",
    "maintainer_email": "nrbnlulu@gmail.com",
    "keywords": null,
    "author": "Nir.J Benlulu",
    "author_email": "nrbnlulu@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/a9/7a/a2cf0d50a347fc5493b38cb414cfb7b77469891f71035da51ce8e5ff7eb3/strawberry_django_auth-0.376.11.tar.gz",
    "platform": null,
    "description": "[![Tests](https://img.shields.io/github/actions/workflow/status/nrbnlulu/strawberry-django-auth/tests.yml?label=Tests&style=for-the-badge)](https://github.com/nrbnlulu/strawberry-django-auth/actions/workflows/tests.yml)\n[![Codecov](https://img.shields.io/codecov/c/github/nrbnlulu/strawberry-django-auth?style=for-the-badge)](https://app.codecov.io/gh/nrbnlulu/strawberry-django-auth)\n[![Pypi](https://img.shields.io/pypi/v/strawberry-django-auth.svg?style=for-the-badge&logo=appveyor)](https://pypi.org/project/strawberry-django-auth/)\n[![contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=for-the-badge&logo=appveyor)](https://github.com/nrbnlulu/strawberry-django-auth/blob/main/CONTRIBUTING.md)\n[![Pypi downloads](https://img.shields.io/pypi/dm/strawberry-django-auth?style=for-the-badge)](https://pypistats.org/packages/strawberry-django-auth)\n[![Python versions](https://img.shields.io/pypi/pyversions/strawberry-django-auth?style=social)](https://pypi.org/project/strawberry-django-auth/)\n\n# Strawberry-django Auth\n[Django](https://github.com/django/django) registration and authentication with [Strawberry](https://strawberry.rocks/).\n\n## Demo\n\n![Demo Video](https://github.com/nrbnlulu/strawberry-django-auth/blob/main/demo.gif)\n\n## About\n#### This Library was inspired by [Django-graphql-auth](https://github.com/pedrobern/django-graphql-auth/).\n\nAbstract all the basic logic of handling user accounts out of your app,\nso you don't need to think about it and can **get you up and running faster**.\n\nNo lock-in. When you are ready to implement your own code or this package\nis not up to your expectations , it's *easy to extend or switch to\nyour implementation*.\n\n\n### Docs can be found [here](https://nrbnlulu.github.io/strawberry-django-auth/)\n\n## Features\n\n* [x] Awesome docs!\n* [x] Captcha validation (with extra `strawberry-django-auth[captcha]`)\n* [x] Async/Sync supported!\n* [x] Works with default or custom user model\n* [x] Builtin JWT authentication using [PyJWT](https://github.com/jpadilla/pyjwt)\n* [x] User registration with email verification\n* [x] Retrieve/Update user\n* [x] Archive user\n* [x] Permanently delete user or make it inactive\n* [x] Turn archived user active again on login\n* [x] Track user status <small>(archived, verified)</small>\n* [x] Password change\n* [x] Password reset through email\n* [x] Revoke user tokens on account archive/delete/password change/reset\n* [x] All mutations return `success` and `errors`\n* [x] Default email templates <small>(you will customize though)</small>\n* [x] Customizable, no lock-in\n* [x] Passwordless registration\n\n\n### Full schema features\n\n```python\n\n\n@strawberry.type\nclass Mutation:\n    verify_token = mutations.VerifyToken.field\n    update_account = mutations.UpdateAccount.field\n    archive_account = mutations.ArchiveAccount.field\n    delete_account = mutations.DeleteAccount.field\n    password_change = mutations.PasswordChange.field\n    swap_emails = mutations.SwapEmails.field\n\n    # these are mutation that does not require authentication.\n    captcha = Captcha.field\n    token_auth = mutations.ObtainJSONWebToken.field\n    register = mutations.Register.field\n    verify_account = mutations.VerifyAccount.field\n    resend_activation_email = mutations.ResendActivationEmail.field\n    send_password_reset_email = mutations.SendPasswordResetEmail.field\n    password_reset = mutations.PasswordReset.field\n    password_set = mutations.PasswordSet.field\n    refresh_token = mutations.RefreshToken.field\n    revoke_token = mutations.RevokeToken.field\n    verify_secondary_email = mutations.VerifySecondaryEmail.field\n\n\nschema = strawberry.Schema(query=Query, mutation=Mutation)\n\n```\n\n## Contributing\n\nSee [CONTRIBUTING.md](https://github.com/nrbnlulu/strawberry-django-auth/blob/main/CONTRIBUTING.md)\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Graphql authentication system with Strawberry for Django.",
    "version": "0.376.11",
    "project_urls": {
        "Documentation": "https://nrbnlulu.github.io/strawberry-django-auth/",
        "Homepage": "https://github.com/nrbnlulu/strawberry-django-auth"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "345bddf8dadb2c1c20cf884fe79a9599a6f921cd55ad26be133eb3c82170185b",
                "md5": "2f47f0dd398be24a5c8b6d78a073950f",
                "sha256": "44eb62c6ac8ee6ae945240ac0a3a4ec1e0beeb35109de94040ce91e94c473350"
            },
            "downloads": -1,
            "filename": "strawberry_django_auth-0.376.11-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "2f47f0dd398be24a5c8b6d78a073950f",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<3.13,>=3.8",
            "size": 477165,
            "upload_time": "2024-04-10T06:31:29",
            "upload_time_iso_8601": "2024-04-10T06:31:29.646797Z",
            "url": "https://files.pythonhosted.org/packages/34/5b/ddf8dadb2c1c20cf884fe79a9599a6f921cd55ad26be133eb3c82170185b/strawberry_django_auth-0.376.11-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a97aa2cf0d50a347fc5493b38cb414cfb7b77469891f71035da51ce8e5ff7eb3",
                "md5": "bea53ab25d6dba62409c7e17deb9b3b7",
                "sha256": "0e8d277f8ad5a8c9e9b19746f6eb0e378c9dc1b57141e350e9533be6663b5ba0"
            },
            "downloads": -1,
            "filename": "strawberry_django_auth-0.376.11.tar.gz",
            "has_sig": false,
            "md5_digest": "bea53ab25d6dba62409c7e17deb9b3b7",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<3.13,>=3.8",
            "size": 469269,
            "upload_time": "2024-04-10T06:31:31",
            "upload_time_iso_8601": "2024-04-10T06:31:31.576665Z",
            "url": "https://files.pythonhosted.org/packages/a9/7a/a2cf0d50a347fc5493b38cb414cfb7b77469891f71035da51ce8e5ff7eb3/strawberry_django_auth-0.376.11.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-04-10 06:31:31",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "nrbnlulu",
    "github_project": "strawberry-django-auth",
    "travis_ci": false,
    "coveralls": true,
    "github_actions": true,
    "lcname": "strawberry-django-auth"
}
        
Elapsed time: 0.28143s