graphql-core
graphql-core copied to clipboard
A Python 3.6+ port of the GraphQL.js reference implementation of GraphQL.
Yesterday I added the pull request #165 to start a discussion on supporting the trio ecosystem, preferably using anyio. @Cito invited me to create an issue as a place for...
When executing a query against a schema that contains async resolvers, then the executor method creates some overhead by defining and calling async functions (`async def async_...` inside methods in...
I wanted to add some custom validation rules in addition to the default `graphql.specified_rules`. Unless I'm mistaken, the only way to do so is to manually call `validate` with the...
Hi, I've been thinking a bit about how we could implement the Dataloader pattern in v3 while still running in multi-threaded mode. Since v3 does not support Syrus's [Promise library](https://github.com/syrusakbary/promise),...
The graphql-core `graphql_sync` function takes approximately 20x slower than a module that I wrote that solely executes the introspection query. https://github.com/kensho-technologies/graphql-compiler/blob/main/graphql_compiler/fast_introspection.py With the graphql-core Python library, executing the default introspection...
Hello! While working on enum support in Ariadne I've found that enums values aren't validated against GraphQL enum when they are defined as fields on GraphQL schema. Following schema passes...
# Reporting issues with GraphQL-core 3 The GraphQL protocol already supports interfaces extending other interfaces like ```graphql interface Identifiable { id: ID! } interface Resource implements Identifiable { id: ID!...
In #141 it was discussed whether using a different event loop such as `uvloop` can speed up async use of GraphQL-core. We should do some benchmarking and document how to...
I use middleware for that right now ```python class HideIntrospectMiddleware: """ This middleware should use for production mode. This class hide the introspection. """ def resolve(self, next, root, info, **args):...
When we receive calls burst we found that the calls "wait each other" (i.e. the first call of the burst waits the last one). This result in degradation of performances...