graphql-python / graphene

GraphQL framework for Python

Home Page:http://graphene-python.org/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Would you consider a pull-request adding support for Peewee ORM?

coleifer opened this issue · comments

Hi, my name is Charles Leifer. I'm the author of Peewee, a lightweight Python ORM. It's been steadily growing in popularity in the last couple years and has over 3000 stars and 500+ forks. graphene is an impressive library and I am grateful to you for taking the time to write it and open-source it. I think it'd be great for the users of Peewee to be able to use your library, and if you did not want to write the bindings I would be happy to contribute some in a pull-request.

What do you think?

Hi Charles,

I'm absolutely open for having an integration between Peewee and Graphene, I think it will be super valuable for the developers!

Starting with the next version 1.0, Graphene integrations will be separated from the main codebase into external repos within the graphql-python community. (This is already happening for the Graphene Google App Engine integration)

Each of the repos will be maintained by different people that are specialized in the framework that are integrating with (I can't think of someone better than you for the graphene-peewee integration! 😉 )

We can follow the same process we did for graphene-gae: You can start a graphene-peewee repo in your profile and once is mature (tested and with a working example) we can move it into the graphql-python community :)

Or we can start directly creating a graphene-peewee repo in the graphql-python community and you will be the admin of this repo.

Just let me know what you prefer! :)

I'll take it on as a personal repo, and we can take it from there. Thanks for your encouragement and your interest!

Great! :)
PS: I just added you the perms for maintain the graphene-peewee package in PyPI (if you want to use it!)

@coleifer Awesome, look forward to it. I'd love to help if you need any.

Hey guys, thanks so much for these two amazing libraries. Can't wait for them to work together officially. Is there anywhere I can follow the progress of graphene-peewee?

Thanks

@coleifer we need to decide in our organization if we go for SQLAlchemy or Peewee (coming from Django ORM in older projects), could you open the work in progress so we can check how is it doing and possibly contribute to make it possible? Most devs in my team we prefer Peewee (congrats and thanx!) but GraphQL is one elevated requirement for the stack we are building.

Hey @danigosa -- between work and moving our house I don't believe I'll be able to work on this for at least a couple weeks. I hope you understand.

Don't even worry, we are facing other architecture layers? Anyway we are using peewee-async finally so no matter what in the times to come if you start this we'll contribute, for now we are not going to far in the frontend side to use graphql at its best so... Good luck with the move :)

Thank you very much for this contribution @coleifer! @danigosa I would definitely recommend Peewee, especially if you come from the Django ORM world

Is there a place where I can follow this? @coleifer

Excited! Can we help out? Is there a place we can follow @coleifer ?

What's the status of this? Are there any existing ways to use peewee with graphql?

It's interesting for me @coleifer @syrusakbary @danigosa . I can try to implement if it's not done yet and nobody already works with it..

commented

If someone is interested I've done some implementation for peewee-async package here. It should not be much different from graphene-django integration which I mostly relied on at the design stage. Initially I was doing that for my own needs, but now I am trying to provide generic maintaining. So if someone will make use of it or want to contribute, I would be glad to help.

I ported @insolite’s graphene-peewee-async to the regular Peewee. Check it out here:

graphene-peewee

This is my first major OSS contribution, so please leave feedback if anything can be improved. Also, this is an early release with limited testing. It has not been used in production by me. There may well be bugs.