# strawberry-django-plus
[![build status](https://img.shields.io/endpoint.svg?url=https%3A%2F%2Factions-badge.atrox.dev%2Fblb-ventures%2Fstrawberry-django-plus%2Fbadge%3Fref%3Dmain&style=flat)](https://actions-badge.atrox.dev/blb-ventures/strawberry-django-plus/goto?ref=main)
[![coverage](https://img.shields.io/codecov/c/github/blb-ventures/strawberry-django-plus.svg)](https://codecov.io/gh/blb-ventures/strawberry-django-plus)
[![downloads](https://pepy.tech/badge/strawberry-django-plus)](https://pepy.tech/project/strawberry-django-plus)
[![PyPI version](https://img.shields.io/pypi/v/strawberry-django-plus.svg)](https://pypi.org/project/strawberry-django-plus/)
![python version](https://img.shields.io/pypi/pyversions/strawberry-django-plus.svg)
![django version](https://img.shields.io/pypi/djversions/strawberry-django-plus.svg)
> **Warning**
>
> All the extra features provided by this lib were contributed and merged directly
> into the official
> [strawberry-graphql-django](https://github.com/strawberry-graphql/strawberry-graphql-django)
> lib. Since then this lib is deprecated and the official integration should be used instead
> and development will continue there!
>
> If you were using this lib before, check out the
> [migration guide](https://blb-ventures.github.io/strawberry-django-plus/migration-guide#migrating-to-strawberry-django)
> for more information on how to migrate your code.
Enhanced Strawberry integration with Django.
Built on top of [strawberry-django](https://github.com/strawberry-graphql/strawberry-graphql-django)
integration, enhancing its overall functionality.
Check the [docs](https://blb-ventures.github.io/strawberry-django-plus/)
for information on how to use this lib.
## Features
- All supported features by `strawberry` and `strawberry-django`, with proper typing and
documentation.
- [Query optimizer extension](https://blb-ventures.github.io/strawberry-django-plus/query-optimizer/)
that automatically optimizes querysets
(using `only`/`select_related`/`prefetch_related`) to solve graphql `N+1` problems, with support
for fragment spread, inline fragments, `@include`/`@skip` directives, prefetch merging, etc
- [Django choices enums using](https://blb-ventures.github.io/strawberry-django-plus/quickstart/#django-choices-enums)
support for better enum typing (requires
[django-choices-field](https://github.com/bellini666/django-choices-field))
- [Permissioned resolvers](https://blb-ventures.github.io/strawberry-django-plus/quickstart/#permissioned-resolvers)
using schema directives, supporting both
[django authentication system](https://docs.djangoproject.com/en/4.0/topics/auth/default/),
direct and per-object permission checking for backends that implement those (e.g.
[django-guardian](https://django-guardian.readthedocs.io/en/stable/)).
- [Mutations for Django](https://blb-ventures.github.io/strawberry-django-plus/mutations/),
with CRUD support and automatic errors validation.
- [Relay support](https://blb-ventures.github.io/strawberry-django-plus/quickstart/#relay-support)
for queries, connections and input mutations, using the official strawberry's
[relay integration](https://strawberry.rocks/docs/guides/relay)
- [Django Debug Toolbar integration](https://blb-ventures.github.io/strawberry-django-plus/debug-toolbar/)
with graphiql to display metrics like SQL queries
- Improved sync/async resolver that priorizes the model's cache to avoid have to use
[sync_to_async](https://docs.djangoproject.com/en/4.0/topics/async/#asgiref.sync.sync_to_async)
when not needed.
## Installation
```shell
pip install strawberry-django-plus
```
## Licensing
The code in this project is licensed under MIT license. See [LICENSE](./LICENSE)
for more information.
## Stats
![Recent Activity](https://images.repography.com/23718985/blb-ventures/strawberry-django-plus/recent-activity/bf7c25def67510b494ac7981e0f4082c.svg)
Raw data
{
"_id": null,
"home_page": "https://github.com/blb-ventures/strawberry-django-plus",
"name": "strawberry-django-plus",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.8,<4.0",
"maintainer_email": "",
"keywords": "strawberry,django,graphql,relay,optimizer",
"author": "Thiago Bellini Ribeiro",
"author_email": "thiago@bellini.dev",
"download_url": "https://files.pythonhosted.org/packages/30/a8/902bf493cb3a1bdf836c853702d906cc7a34194fb4ba4ae1737079875a67/strawberry_django_plus-3.1.0.tar.gz",
"platform": null,
"description": "# strawberry-django-plus\n\n[![build status](https://img.shields.io/endpoint.svg?url=https%3A%2F%2Factions-badge.atrox.dev%2Fblb-ventures%2Fstrawberry-django-plus%2Fbadge%3Fref%3Dmain&style=flat)](https://actions-badge.atrox.dev/blb-ventures/strawberry-django-plus/goto?ref=main)\n[![coverage](https://img.shields.io/codecov/c/github/blb-ventures/strawberry-django-plus.svg)](https://codecov.io/gh/blb-ventures/strawberry-django-plus)\n[![downloads](https://pepy.tech/badge/strawberry-django-plus)](https://pepy.tech/project/strawberry-django-plus)\n[![PyPI version](https://img.shields.io/pypi/v/strawberry-django-plus.svg)](https://pypi.org/project/strawberry-django-plus/)\n![python version](https://img.shields.io/pypi/pyversions/strawberry-django-plus.svg)\n![django version](https://img.shields.io/pypi/djversions/strawberry-django-plus.svg)\n\n> **Warning**\n>\n> All the extra features provided by this lib were contributed and merged directly\n> into the official\n> [strawberry-graphql-django](https://github.com/strawberry-graphql/strawberry-graphql-django)\n> lib. Since then this lib is deprecated and the official integration should be used instead\n> and development will continue there!\n>\n> If you were using this lib before, check out the\n> [migration guide](https://blb-ventures.github.io/strawberry-django-plus/migration-guide#migrating-to-strawberry-django)\n> for more information on how to migrate your code.\n\nEnhanced Strawberry integration with Django.\n\nBuilt on top of [strawberry-django](https://github.com/strawberry-graphql/strawberry-graphql-django)\nintegration, enhancing its overall functionality.\n\nCheck the [docs](https://blb-ventures.github.io/strawberry-django-plus/)\nfor information on how to use this lib.\n\n## Features\n\n- All supported features by `strawberry` and `strawberry-django`, with proper typing and\n documentation.\n- [Query optimizer extension](https://blb-ventures.github.io/strawberry-django-plus/query-optimizer/)\n that automatically optimizes querysets\n (using `only`/`select_related`/`prefetch_related`) to solve graphql `N+1` problems, with support\n for fragment spread, inline fragments, `@include`/`@skip` directives, prefetch merging, etc\n- [Django choices enums using](https://blb-ventures.github.io/strawberry-django-plus/quickstart/#django-choices-enums)\n support for better enum typing (requires\n [django-choices-field](https://github.com/bellini666/django-choices-field))\n- [Permissioned resolvers](https://blb-ventures.github.io/strawberry-django-plus/quickstart/#permissioned-resolvers)\n using schema directives, supporting both\n [django authentication system](https://docs.djangoproject.com/en/4.0/topics/auth/default/),\n direct and per-object permission checking for backends that implement those (e.g.\n [django-guardian](https://django-guardian.readthedocs.io/en/stable/)).\n- [Mutations for Django](https://blb-ventures.github.io/strawberry-django-plus/mutations/),\n with CRUD support and automatic errors validation.\n- [Relay support](https://blb-ventures.github.io/strawberry-django-plus/quickstart/#relay-support)\n for queries, connections and input mutations, using the official strawberry's\n [relay integration](https://strawberry.rocks/docs/guides/relay)\n- [Django Debug Toolbar integration](https://blb-ventures.github.io/strawberry-django-plus/debug-toolbar/)\n with graphiql to display metrics like SQL queries\n- Improved sync/async resolver that priorizes the model's cache to avoid have to use\n [sync_to_async](https://docs.djangoproject.com/en/4.0/topics/async/#asgiref.sync.sync_to_async)\n when not needed.\n\n## Installation\n\n```shell\npip install strawberry-django-plus\n```\n\n## Licensing\n\nThe code in this project is licensed under MIT license. See [LICENSE](./LICENSE)\nfor more information.\n\n## Stats\n\n![Recent Activity](https://images.repography.com/23718985/blb-ventures/strawberry-django-plus/recent-activity/bf7c25def67510b494ac7981e0f4082c.svg)\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Enhanced Strawberry GraphQL integration with Django",
"version": "3.1.0",
"project_urls": {
"Documentation": "https://strawberry-django-plus.readthedocs.io",
"Homepage": "https://github.com/blb-ventures/strawberry-django-plus",
"Repository": "https://github.com/blb-ventures/strawberry-django-plus"
},
"split_keywords": [
"strawberry",
"django",
"graphql",
"relay",
"optimizer"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "8dc3c2b6af60c82c9c4323f0a57e88e53161b0859248d44f6984b0df9f3a1a60",
"md5": "39a6021df5e9794c5739914849afa3e9",
"sha256": "6c1f1be518ab18314a530d404c2362cda1c8284c6d62c2f098975d614ab5df20"
},
"downloads": -1,
"filename": "strawberry_django_plus-3.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "39a6021df5e9794c5739914849afa3e9",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8,<4.0",
"size": 63190,
"upload_time": "2023-07-05T14:49:53",
"upload_time_iso_8601": "2023-07-05T14:49:53.510514Z",
"url": "https://files.pythonhosted.org/packages/8d/c3/c2b6af60c82c9c4323f0a57e88e53161b0859248d44f6984b0df9f3a1a60/strawberry_django_plus-3.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "30a8902bf493cb3a1bdf836c853702d906cc7a34194fb4ba4ae1737079875a67",
"md5": "8cb6193684c1b90dc6a53a5e1a0a7f91",
"sha256": "2539d5709fb3311cab393885c0d7e9daeffc6aeb1958f061dfca67c13816b3ee"
},
"downloads": -1,
"filename": "strawberry_django_plus-3.1.0.tar.gz",
"has_sig": false,
"md5_digest": "8cb6193684c1b90dc6a53a5e1a0a7f91",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8,<4.0",
"size": 52906,
"upload_time": "2023-07-05T14:49:55",
"upload_time_iso_8601": "2023-07-05T14:49:55.346811Z",
"url": "https://files.pythonhosted.org/packages/30/a8/902bf493cb3a1bdf836c853702d906cc7a34194fb4ba4ae1737079875a67/strawberry_django_plus-3.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-07-05 14:49:55",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "blb-ventures",
"github_project": "strawberry-django-plus",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"lcname": "strawberry-django-plus"
}