Closed jkimbo closed 4 years ago
@KingDarBoja is going to make a first go at this with integrating flask-graphql into this library.
Alright, flask-graphql
got merged into this, next one should be sanic-graphql
.
I'm definitely in favor of this change. I've identified improvements in flask-graphql
that would entail touching all the different server integration repos.
This is finally done! All four backend servers are merged into graphql-server-core
.
Great work @KingDarBoja ! Going to close this issue now.
Time to rename this from "graphql-server-core" to probably just "graphql-server" now. :)
The problem
Currently server integrations are split into separate repos:
And they are all depend on https://github.com/graphql-python/graphql-server-core
The issue with this is that each framework specific library shares a lot of code with the other libraries and it's hard to coordinate cross cutting changes.
The solution
The suggestion is that we merge the framework specific code into the
grapqhl-server-core
library so that the code is consolidated into 1 place. That way it's much easier to share code and keep things up to date.To install the integration with flask for example:
pip install graphql-server-core[flask]
Then you can use it by:
Drawbacks
It will make the
graphql-server-core
library harder to maintain. At the moment it is very small and easy to test. Merging in the other server libs will make the library become more complex, harder to test (you will need to install all of the dependencies for testing) and easier to accidentally add unneeded dependencies. Any contributions will have to make sure they don't break other server variants supported by the library which they are not familiar with.Alternatives
We keep the separation of libraries and try and consolidate folder layout and coding standards.
List of packages to merge