-
Notifications
You must be signed in to change notification settings - Fork 186
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
Upgrading dear imgui version beyond 1.82 #376
Comments
Hi there, thanks for reaching out. First of all, I have to apologize for not being present past months to manage PR and issues. I do not have the time anymore to keep up with this project and I don't really know when it will be possible for me to continue working on this. I am obviously not against the idea of updating to a newer version of DearImgui, but I won’t be able to manage it, review PR, and so on. However, and I am thinking about it for a while, pyimgui is an organization repository. Which means that I can add people to the organization to take over and build upon what is already present. I can’t ask for one person to take over everything, but maybe we can find a crew of motivated people willing to help. If you want to tackle the project of updating pyimgui, feel free to go for it, and I’ll try to help you as much as I can. Be aware that it is not a light task. We already had PR of “update” that where just about updating the sub repository. However, in order to be done correctly, each new function from DearImgui API should be mapped in our header. Obsoleted functions should be marked as such. Removed functions should be dealt with by asking ourselves how to keep the functionality since we probably don’t change the major version number. All flags should be remapped correctly and manually. Documentation should be changed. And there is a bunch of places where the version number should be changed. Moreover, there is also a few functions from internals that are exposed and that have to be managed (but it is not as important as the normal API). The best way I found to tackle the challenge is to go incrementally, meaning doing the update for one version of DearImgui at the time from the current mapped one to the most recent version. It is time consuming, but it allows to efficiently use diff tools on headers file to find which functions have changed and how. And it allows to address each point of each release, documenting every change for our version release note. I think that updating the internal version of DearImgui would be a very good thing and we should definitively go in that direction. It could add some momentum again to the project. But if we want to go in that direction, we need to find motivated contributors to take over as I can’t guarantee to be available to deal with everything anymore. And I don’t want anyone to put as much effort in something if I can’t guarantee to be helpful and proceed with build and version release and issue management. @learn-more , have you any thoughts on that matter? (If you are still around here ^^) |
Thanks for the reply! As I am new to pyimgui myself, I will wait a little longer to see if any existing contributors or more experienced users also wish to work on this - it would be silly for me to embark on this project myself if me creating this issue spurs on someone already acquainted with it :) But I am happy to have a look further into this if no one else has the time.
I agree with these entire two paragraphs. A job worth doing is worth doing well :) This was already somewhat outlined in HACKING.md so I was already expecting to use this kind of workflow. If I do take this on I would like to fully document the process as well, this would make it much easier for someone else to pick up and do another upgrade in future. (Which is one reason why I asked if there was any further existing documentation!)
The org seems to only have one person in it - @swistakm (unless hidden org memberships are a thing?). That's one of the first places I looked to see who might be working on the project. If there are active contributors maybe they should be org members? |
Let me know if you decide to start working on this. If several people want to help, I can try to create a branch for it on which you can push things or a project to coordinate everything (I am not that familiar with all github functionalities so I will have to look into that).
Indeed, hidden org member is a thing, I changed my status to public instead of private (Did not knew about it either ^^). swistakm was the original owner of this repository but he couldn't continue. I took over some time ago and now it is my turn to not being able to keep up. Yes, I do agree, if we form a group of active contributors to take over the project, they should be org members. |
There are multiple python bindings that are auto-generated, it would make sense to either incorporate something like that, or move to that: https://github.com/cammm/deargui And there is the metadata repo: |
Thanks @learn-more. I will check those out! If one of those works for all use cases that pyimgui was intended for, but don't take any effort to keep updated, it would probably make sense to archive this repository and point people over there. I think I mainly ended up here since pyimgui is on PyPI. |
I've migrated my project to use https://github.com/pthom/imgui_bundle, so I now have dear imgui 1.90. So I won't be looking at updating pyimgui after all. Hopefully others will be able to migrate too! |
I am the author of Dear ImGui Bundle, which I initially developed because I wanted to have autogenerated and documented bindings for the docking branch and the possibility to add bindings for lots of other libraries (ImPlot, ImGuizmo, etc). It was a huge undertaking but it was successful, at least I hope so. It’s API is close to pyimgui. @KinoxKlark |
This is awesome, thanks a lot for sharing! Unfortunately I do not have time to continue working on this binding anymore, I am grateful to see that other project have been able to take over. At some point it may become useful to link from this repository to other ones for new users that may be interested in a more up to date version. If you wish, feel free to add something on top of the README and to add a PR, I'll be happy to accept it! :) |
ATOW dear imgui is now on v1.90.6 and appears to have had a lot of development.
The latest release of pyimgui was from just over a year ago and this repo doesn't seem very active in comparison.
One key piece of functionality I was looking for is BeginDisabled/EndDisabled, added in v1.84.
I'd like to help out if I can. At least upgrading to v1.84 if not further. I've had a glance at HACKING.md which states
So here I am.
Is there any further documentation I should be aware of, or am I on my own here?
It would also be useful to know who is managing releases these days, or if there are any communication channels for this project other than GitHub.
@KinoxKlark it looks like you have been working on upgrading up to v1.87 over here a while ago, does this stand any chance of revival?
The text was updated successfully, but these errors were encountered: