Skip to main content

How does FastQL compare to Strawberry?

FastQL and Strawberry are both code-first Python GraphQL frameworks, but they differ in their architecture and design goals: FastQL’s zero-dependency core means you can embed it in environments where adding graphql-core is undesirable, and its single schema model avoids the split between a code-first definition layer and a separate execution runtime.

Does FastQL really have zero runtime dependencies?

Yes. The mygenx-fastql package installs with no required third-party runtime dependencies. All optional integrations (Pydantic, OpenTelemetry, federation) are behind package extras ([pydantic], [opentelemetry]) and are never imported by the core.

Is FastQL async-first? Can I use sync resolvers?

FastQL’s execution pipeline is async-first — execute, subscribe, and execute_incremental are all async. Sync resolvers are fully supported: the engine detects non-coroutines and calls them directly without wrapping in asyncio.run_in_executor, so plain def resolvers add no threading overhead.

Where does the HTTP transport live?

FastQL’s core (fastql) has no transport code at all. HTTP, WebSocket, and SSE are implemented in the framework adapters (fastql.asgi, fastql.starlette, fastql.fastapi, etc.). This boundary means:
  • The same schema works with any supported web framework.
  • The development server (python -m fastql serve) is a thin ASGI wrapper and is not suitable for production.
  • Framework-specific concerns (auth middleware, CORS, TLS) belong in the framework layer, not in FastQL itself.
See Deployment for production setup guidance.

How mature is FastQL?

FastQL is early-stage. The core engine — schema building, validation, async execution, introspection, SDL output, subscriptions, incremental delivery, and federation — is implemented and tested against canonical specifications. Features that are planned but not yet implemented are listed in the project status page. Compatibility should be evaluated against the repository’s test suite and canonical specifications, not inferred from another framework’s surface area.

Can FastQL run in serverless or embedded environments?

Yes — because there are no runtime dependencies, FastQL can be bundled in a Lambda function, a Cloud Run container, or any environment where dependency size matters. Use the ASGI adapter behind any ASGI-compatible platform.