Name | strawberry-django-auth JSON |
Version |
0.378.4
JSON |
| download |
home_page | None |
Summary | Graphql authentication system with Strawberry for Django. |
upload_time | 2025-02-17 12:10:18 |
maintainer | None |
docs_url | None |
author | None |
requires_python | <3.14,>=3.10 |
license | None |
keywords |
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
|
[](https://github.com/nrbnlulu/strawberry-django-auth/actions/workflows/tests.yml)
[](https://app.codecov.io/gh/nrbnlulu/strawberry-django-auth)
[](https://pypi.org/project/strawberry-django-auth/)
[](https://github.com/nrbnlulu/strawberry-django-auth/blob/main/CONTRIBUTING.md)
[](https://pypistats.org/packages/strawberry-django-auth)
[](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

## 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": null,
"docs_url": null,
"requires_python": "<3.14,>=3.10",
"maintainer_email": "Nir Benlulu <nrbnlulu@gmail.com>",
"keywords": null,
"author": null,
"author_email": "Nir Benlulu <nrbnlulu@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/cb/27/79bb9c0c00db1b5ead8460c017b7cda1af2a8a516ea1e6a9b40095a66ef9/strawberry_django_auth-0.378.4.tar.gz",
"platform": null,
"description": "[](https://github.com/nrbnlulu/strawberry-django-auth/actions/workflows/tests.yml)\n[](https://app.codecov.io/gh/nrbnlulu/strawberry-django-auth)\n[](https://pypi.org/project/strawberry-django-auth/)\n[](https://github.com/nrbnlulu/strawberry-django-auth/blob/main/CONTRIBUTING.md)\n[](https://pypistats.org/packages/strawberry-django-auth)\n[](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\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": null,
"summary": "Graphql authentication system with Strawberry for Django.",
"version": "0.378.4",
"project_urls": {
"Documentation": "https://nrbnlulu.github.io/strawberry-django-auth/",
"Homepage": "https://github.com/nrbnlulu/strawberry-django-auth"
},
"split_keywords": [],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "da4cec0026f42e3b91cf46b2fa1cc7f3e8ae98887251a70bbc00621e0d182baa",
"md5": "155772546fb94764226c8f395a2a235c",
"sha256": "dd0ea04312ef969aafdcbc2d6f4be9af883ae38d0e717d32ca1983a9c91887ac"
},
"downloads": -1,
"filename": "strawberry_django_auth-0.378.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "155772546fb94764226c8f395a2a235c",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<3.14,>=3.10",
"size": 477461,
"upload_time": "2025-02-17T12:10:12",
"upload_time_iso_8601": "2025-02-17T12:10:12.519332Z",
"url": "https://files.pythonhosted.org/packages/da/4c/ec0026f42e3b91cf46b2fa1cc7f3e8ae98887251a70bbc00621e0d182baa/strawberry_django_auth-0.378.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "cb2779bb9c0c00db1b5ead8460c017b7cda1af2a8a516ea1e6a9b40095a66ef9",
"md5": "ec7643bd7e3cd0ae2f5619e34b8cec15",
"sha256": "40bf6041507118b213d67e763f813219285be3c0f677aa4b869eb7df962a0f2c"
},
"downloads": -1,
"filename": "strawberry_django_auth-0.378.4.tar.gz",
"has_sig": false,
"md5_digest": "ec7643bd7e3cd0ae2f5619e34b8cec15",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<3.14,>=3.10",
"size": 6932750,
"upload_time": "2025-02-17T12:10:18",
"upload_time_iso_8601": "2025-02-17T12:10:18.010711Z",
"url": "https://files.pythonhosted.org/packages/cb/27/79bb9c0c00db1b5ead8460c017b7cda1af2a8a516ea1e6a9b40095a66ef9/strawberry_django_auth-0.378.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-02-17 12:10:18",
"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"
}