Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

☂️Graphene-Django v3 #705

Closed
7 tasks done
jkimbo opened this issue Jul 9, 2019 · 96 comments
Closed
7 tasks done

☂️Graphene-Django v3 #705

jkimbo opened this issue Jul 9, 2019 · 96 comments

Comments

@jkimbo
Copy link
Member

jkimbo commented Jul 9, 2019

This issue is to track v3 of Graphene-Django which will contain some breaking changes.

WIP branch: v3 (compare)

Breaking changes

@stale
Copy link

stale bot commented Sep 10, 2019

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the wontfix label Sep 10, 2019
@ktosiek
Copy link
Contributor

ktosiek commented Sep 10, 2019

Hey stale bot, this issue is not dead yet, it's just getting started!

@stale stale bot removed the wontfix label Sep 10, 2019
@ktosiek
Copy link
Contributor

ktosiek commented Sep 12, 2019

Has anyone started working on this? I'm currently trying to just make tests pass under graphene 3.

@swist
Copy link

swist commented Oct 1, 2019

Is there an up to date todolist on this? I have a couple of days this week so can pick it up and finish off your branch

@ktosiek
Copy link
Contributor

ktosiek commented Oct 1, 2019

I think it's complete enough to try building on top of it (porting an actual application, or checking if graphene-django-optimizer works).
It would also be nice to drop the dependency on promise.

@patrick91
Copy link
Member

@ktosiek we could try with https://github.com/graphql-python/swapi-graphene

I wanted to test graphene 3 at work, but we are still on v1 :D

@swist
Copy link

swist commented Oct 1, 2019

I've just tried it on my current project. Seems to work fine minus some of our custom graphene types that allow us to use django_more/django_enum

@BfutureP
Copy link

BfutureP commented Dec 4, 2019

graphene-django doesn;t support graphql 3, says from graphql import get_default_backend not found

@garimagupta715
Copy link

is asgi server supported in graphene. how can we implement subscription with graphene

@ulgens
Copy link
Collaborator

ulgens commented Feb 5, 2020

Any progress on this?

@rhizoome
Copy link
Contributor

rhizoome commented Feb 5, 2020

@ulgens Last month I started to run graphen-django v3 against our test-suite (https://github.com/projectcaluma/caluma), but I got distracted by other projects. I was able to reduce errors from 500 of 600 to about 150 of 600. I assume there are still bugs in the graphql*/graphene* projects, some are in caluma itself of course. I hope I can resume the work in February.

@ulgens
Copy link
Collaborator

ulgens commented Feb 6, 2020

@ganwell Thanks for answering to both of my comments 🙂 Is there any way to push your work, so we can continue on that?

@ulgens
Copy link
Collaborator

ulgens commented Feb 6, 2020

Or maybe, somehow, we can do some partial / incremental changes? I think it'd be more productive and beneficial for everyone.

@rhizoome
Copy link
Contributor

rhizoome commented Feb 8, 2020

@ulgens

I did two things:

  1. Match the revisions of all projects to minimize the amount of inconsistencies and give me a base to work without confusing errors because of version mismatches, this was quite a task: https://github.com/ganwell/gwork

  2. One pull request with an actual bug: The default_value of InputField should be INVALID graphene#1111

I want to continue working with the versions in gwork till I found all bugs I can with these versions and the I would iterate and update the versions.

@ulgens
Copy link
Collaborator

ulgens commented Mar 15, 2020

Hey everyone, i used existing PR and solved all left errors: #905

@ulgens
Copy link
Collaborator

ulgens commented Mar 21, 2020

Hey @jkimbo, for DJANGO_CHOICE_FIELD_ENUM_V3_NAMING settings, instead of defaulting it to True i think this setting should be removed and instead, we should intruduce a new one for V2_NAMING to revert changed behaviour.

@jkimbo
Copy link
Member Author

jkimbo commented Apr 1, 2020

@ulgens that sounds like a good idea!

@rhizoome
Copy link
Contributor

rhizoome commented Apr 1, 2020

Hey everyone, i used existing PR and solved all left errors: #905

@ulgens Thanks a lot. I currently have the problem that my work is based on #774 and yours is not. I don't know how to proceed at the moment.

caluma test-suite:

355 failed, 222 passed, 96 errors
281 failed, 296 passed, 96 errors
163 failed, 414 passed, 96 errors
161 failed, 500 passed, 12 errors
Switch: 342 failed, 319 passed, 12 errors

I am more or less back where I started. I guess I will continue on #774 and check for every bug if you have already fixed it.

@ulgens
Copy link
Collaborator

ulgens commented Apr 1, 2020

@ganwell There is small issue with commits in my branch, i can fix it tomorrow. There is no failing test in it, so i think we can continue from there.

@JSv4
Copy link

JSv4 commented Jan 28, 2022

@bellini666, the way I found this thread was via your note in the graphene-django-plus repo (cool project btw). I do appreciate the heads-up and wish I had known about all of the above discussion sooner. That said, those kinds of deprecation warnings before a project is right and truly dead (there was a release just a few months ago) will only accelerate the process. Perhaps that's the point though?

@bellini666
Copy link
Contributor

@bellini666, the way I found this thread was via your note in the graphene-django-plus repo (cool project btw). I do appreciate the heads-up and wish I had known about all of the above discussion sooner. That said, those kinds of deprecation warnings before a project is right and truly dead (there was a release just a few months ago) will only accelerate the process. Perhaps that's the point though?

Hey @JSv4, not really the point (wasn't expecting it to attract attention to this thread =P), but maybe that's actually good because it contribute to start focing an action to be taken, either to really acknowledge it as deprecated or for someone to step up.

I'm following this and the other thread at graphene repo and I sometimes see someone here and there commenting on wanting to help to keep it alive. I'm really hoping someone will :)

Also, glad to see you liked graphene-django-plus. I'm putting a lot of efforts on strawberry-django-plus now (clearly naming projects isn't my greatest skill :P) so, if you ever want to try strawberry, be sure to check it out!

@JSv4
Copy link

JSv4 commented Feb 1, 2022

@bellini666, well, I'm glad it did attract attention as it seems the Graphene ecosystem is not as healthy as it would first appear from raw stats (going off of comments I'm seeing in the Slack and elsewhere). Tbh, I've never been a huge fan of Graphene's API, particularly the Django integration. It works, but I often do a lot of things manually with more boilerplate as I don't like the graphene-django magic. That said, Graphene's biggest advantage is the sheer number of libraries that are available for it (and the relatively tight Django integration, despite its flaws). Since you're moving to Strawberry, I wonder how you've found the options for 1) ORM integration, 2) auth (particularly JWT) and 3) permissioning. Do you have a recommended stack? I would love to try Strawberry, but I don't have time to rebuild a lot of the utility libraries I take for granted on Graphene (even if some have their issues).

@bellini666
Copy link
Contributor

@JSv4 I did not find much alternatives since strawberry is indeed a young project. But having said that:

  1. There's already an official django integration available which can be used for ORM integration. I would recommend my strawberry-django-plus lib, specially if you were already used to graphene-django-plus. It is based on the official integration, but I'm enhancing it a lot (e.g. It provides an extension that does sql optimization, much better than graphene-django-optimizer ever did). Take a look here for more information and some examples.

  2. I'm planning on adding JWT to my extension there pretty soon (in the next couple of weeks)

  3. Also something I solved in my extension, using schema directives. Take a look here for more information and some examples.

@Luferov
Copy link

Luferov commented Feb 6, 2022

Strawberry is too young project to “production ready” that wants to cover everything that is possible, there are fastapi, and flask, and whatever you want. I don't think this is a good solution. What about SqlAlchemy? Of course, there is enthusiasm because the project has just appeared. I really love Python and I also love graphql, they makes working with the frontend much easier.
It's just that the library is already ready to switch to graphene3, a lot of people use it, I can't understand why can't switch to graphene v3.
In addition, this library works well with Django-filter. There is an implementation of subscriptions: https://github.com/datadvance/DjangoChannelsGraphqlWs. We are currently developing convenient filtering on relay.

Pydantic and type annotation are a great idea for graphene_django v4.

@felixmeziere
Copy link

Guys from Graphene's Slack it seems the project might come back from the dead as it should
image

@cpontvieux-systra
Copy link

Well it was ONE month ago and nothing moved…

@felixmeziere
Copy link

Well it was ONE month ago and nothing moved…

We're slowly starting to get used to it...

@Luferov
Copy link

Luferov commented Apr 7, 2022

We decided to switch to nestjs, we will use subgraph there and migrate calmly from graphene. While graphql is not so developed in the Python community, to my great regret:(

@jedie
Copy link
Contributor

jedie commented Apr 7, 2022

We decided to kick graphene-django but stay with graphene for the moment.

@moritz89
Copy link

moritz89 commented Jun 1, 2022

Looking at the todo list, it seems like all tasks are done for a v3 to be released. Is there anything blocking making a release?

@Luferov
Copy link

Luferov commented Jun 1, 2022

Looking at the todo list, it seems like all tasks are done for a v3 to be released. Is there anything blocking making a release?

The wish of the maintainers 😺

@tcleonard
Copy link
Collaborator

I agree! Will try to get that out (I'm not sure I have the required permissions)

@ulgens
Copy link
Collaborator

ulgens commented Jun 21, 2022

@tcleonard I do 🌹

@dkruk
Copy link

dkruk commented Jul 15, 2022

Any chance to see this alive?

@tcleonard tcleonard unpinned this issue Sep 19, 2022
@firaskafri firaskafri reopened this Sep 24, 2022
@firaskafri
Copy link
Collaborator

We are now trying to revive activity to this great repo! Everyone willing to help please let's all start with a cleanup for all stale issues and PR's!

@ulgens
Copy link
Collaborator

ulgens commented Sep 24, 2022

@firaskafri It's good to see there is some active development going on, but I couldn't really catch what is going on. The repo was in near dead state for a long time, not because we have no one to merge PRs; but because we lost the community, and there is a better alternative now. If the current effort is to give one last maintenance release, I can give my full support but if the intention is really to "revive" the repo and the community, I think it will just postpone the EOL.

In any case, we are already late for putting a "this project is dead" warning on top of the readme. Even with the best effort to clean open PRs and issues, if there is no plan for long-term support, making people think graphene-django is a good option to start their new projects with will be just harmful IMO.

@firaskafri
Copy link
Collaborator

@ulgens I know of tens of people who rely on this and many who chose to do their own fork, there is a big community of people who lost hope in activity here. The intention is to make v3 see the light and make it stable enough for those they use it. If it organically manages to go on, then be it, otherwise it gets an honorable EOL.

@ulgens
Copy link
Collaborator

ulgens commented Sep 25, 2022

I know of tens of people who rely on this and many who chose to do their own fork, there is a big community of people who lost hope in activity here.

If this is true, what you define is a group of consumers that doesn't contribute to the project but expects results from it, which doesn't really satisfy the term "community" in the scope of free software. Of course, we shouldn't and we can't discourage anyone from contributing but ignoring the project was already dead for the last two years is not the best way of communication, IMO.

If it organically manages to go on, then be it

🙏🏻 🤞🏻

@firaskafri
Copy link
Collaborator

v3.0.0 is here 🎉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests