-
Notifications
You must be signed in to change notification settings - Fork 768
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
Comments
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. |
Hey stale bot, this issue is not dead yet, it's just getting started! |
Has anyone started working on this? I'm currently trying to just make tests pass under graphene 3. |
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 |
I think it's complete enough to try building on top of it (porting an actual application, or checking if graphene-django-optimizer works). |
@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 |
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 |
graphene-django doesn;t support graphql 3, says |
is asgi server supported in graphene. how can we implement subscription with graphene |
Any progress on this? |
@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. |
@ganwell Thanks for answering to both of my comments 🙂 Is there any way to push your work, so we can continue on that? |
Or maybe, somehow, we can do some partial / incremental changes? I think it'd be more productive and beneficial for everyone. |
I did two things:
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. |
Hey everyone, i used existing PR and solved all left errors: #905 |
Hey @jkimbo, for |
@ulgens that sounds like a good idea! |
@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:
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. |
@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. |
@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 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! |
@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). |
@JSv4 I did not find much alternatives since strawberry is indeed a young project. But having said that:
|
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. Pydantic and type annotation are a great idea for graphene_django v4. |
Well it was ONE month ago and nothing moved… |
We're slowly starting to get used to it... |
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:( |
We decided to kick |
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 😺 |
I agree! Will try to get that out (I'm not sure I have the required permissions) |
@tcleonard I do 🌹 |
Any chance to see this alive? |
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! |
@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. |
@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. |
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.
🙏🏻 🤞🏻 |
v3.0.0 is here 🎉 |
This issue is to track v3 of Graphene-Django which will contain some breaking changes.
WIP branch:
v3
(compare)Breaking changes
DeprecationWarnings
for usingonly_fields
andexclude_fields
(see Aliasonly_fields
asfields
andexclude_fields
asexclude
#691) (PR Start raising DeprecationWarnings for using only_fields and exclude_fields (v3) #980)fields
orexclude
are defined onDjangoObjectTypes
Start warning iffields
orexclude
are not defined onDjangoObjectType
#710 (PR Warn iffields
orexclude
are not defined onDjangoObjectType
#981)CAMELCASE_ERRORS
setting toTrue
(PR Default CAMELCASE_ERRORS to True #789)DJANGO_CHOICE_FIELD_ENUM_V3_NAMING
toDJANGO_CHOICE_FIELD_ENUM_V2_NAMING
and default it toFalse
(reference Add options to override how Django Choice fields are converted to Enums #860) (PR Make v3 django choice field enum naming default (in v3) #982)The text was updated successfully, but these errors were encountered: