Strawberry is a developer friendly GraphQL library for Python, designed for
modern development.
* Type hints: Leverages Python type hints to provide a great developer
experience while creating GraphQL Libraries.
* Async Support: Supports async/await out of the box, allowing you to write
your resolvers in a non-blocking way.
* Extensible: Has support for schema and field extensions, allowing you to
extend the schema with custom logic.
* Generics: Supports generics, allowing you to create reusable types that can
be used in multiple places.
* Federation: Supports Federation, allowing you to create a federated GraphQL
schema.
* Dataloaders: Comes with support for dataloaders, allowing you to batch
multiple queries into a single one.
* Integrations: Has support for multiple integrations, allowing you to use it
with your favorite web framework.
NOTE: If this package has multiple flavors (see below), then use one of them instead of the name specified above. NOTE: This is a Python port. Instead of py312-dj60-strawberry-graphql listed in the above command, you can pick from the names under the Packages section.
===> The following configuration options are available for py312-dj60-strawberry-graphql-0.327.3_1:
AIOHTTP=off: Basic AIOHTTP integration
APOLLO-FEDERATION=off: Apollo Federation GraphQL support
ASGI=off: Basic ASGI integration
CHANNELS=off: Support for Django Channels
CLI=off: Support for CLI commands
DEBUG=off: Generate verbose debug information
DJANGO=off: Basic Django integration
FASTAPI=off: Support for FastAPI in conjunction with GraphQLRouter
FLASK=off: Basic Flask integration
OPENTELEMETRY=off: Generate Open Telemetry compatible tracing information
PYDANTIC=off: Support for Pydantic models
===> Use 'make config' to modify these settings
devel/py-dj60-strawberry-graphql: Fix with Python 3.13 and the deps
- The asgi and fastapi extras need python-multipart (starlette's
request.form()), but the ASGI and FASTAPI options pulled in
devel/py-multipart, an unrelated package with the same import name.
Depend on www/py-python-multipart instead.
- Upstream's cli extra also requires python-multipart, starlette,
uvicorn and websockets: the "strawberry dev" command runs a Starlette
app with WebSocket routes under uvicorn. Add them to
CLI_RUN_DEPENDS.
- strawberry/ext/dataclasses/dataclasses.py is a vendored helper for
Python < 3.10 that nothing imports (strawberry requires 3.10+ and
uses dataclass(kw_only=True)). On Python 3.13 it cannot be
(Only the first 15 lines of the commit message are shown above )