gaphor / gaphas

Gaphas is the diagramming widget library for Python.
https://gaphas.readthedocs.io
164 stars 21 forks source link

Is gaphas accepting new contributions and pull requests? #7

Closed jlstevens closed 6 years ago

jlstevens commented 9 years ago

First, I wish to thank you for your work on gaphas!

Gaphas has been a real delight to use. The code is of excellent quality, very readable and well documented. I love that gaphas has minimal dependencies, is written in pure Python and successfully abstracts away the more painful parts of using a gtk.DrawingArea as a canvas. Gaphas is quite wonderful, thank you!

I've been working on a prototype project using gaphas to implement something like the Blender node editor. This project is currently in a private repository but I hope to make it public very soon.

My main concern with gaphas is that the last public commit is from July 2012. Is development still active? Are you accepting pull requests? While learning gaphas, I have made several improvements that I would like to contribute back. Some suggestions that I would be happy to submit as a series of pull requests:

Please do tell me if you are interested in accepting these sorts of PRs!

amolenaar commented 9 years ago

Hi, Gaphas is not under active development, although I ported it to GTK+ 3 at the beginning of this year. I'm fine with merging a series of pull requests.

Are you using Gtk 2 or 3 for your project?

Looking forward to your improvements,

Arjan

jlstevens commented 9 years ago

Thank you for merging my PRs so quickly!

This concludes my more minor suggestions for improvements. In the end, I decided that gaphas make perfect sense without a .gitignore; gaphas will normally be part of a larger project with its own .gitignore file.

As for Gtk3, I only just noticed that you already have a gtk3 branch available. For the time being, I am using Gtk2 (Gtk3 is not available on some of the systems I use). I will certainly try out the gtk3 branch soon: I do want the option of upgrading in future!

Anyway, I think that resolves this particular issue so do feel free to close it now.

danyeaw commented 6 years ago

Gaphas is active again, I will be maintaining the project. We are working on porting it to toga to make it truly cross platform native.

franzlst commented 6 years ago

Hi @danyeaw,

it is great to hear that gaphas is active again!

You ported gaphas to Gtk3 and I guess it no longer supports Gtk2? Would it be possible to have separate branches for Gtk2 and Gtk3 and at least fix bugs in both branches (such as my pull request #13)?

Keep up the good work!

danyeaw commented 6 years ago

Hi @franzlst, I may be open to keeping branches, but I would really like to focus on migrating to Toga. How great would a truly cross platform native GUI be!

Are you currently using gaphas for another app? I would like to understand current usage before committing to supporting pygtk long term. Pygtk is no longer maintained, last update was in 2011. Legacy python is also on its death march.

franzlst commented 6 years ago

Hi @franzlst, I may be open to keeping branches, but I would really like to focus on migrating to Toga. How great would a truly cross platform native GUI be!

Sure! But cherry-picking bugfix commits would be great nevertheless.Migrating a project from GTK 2 to 3 is not an easy task, so this would help people that are currently using gaphas.

We use gaphas for RAFCON, a tool for the visual programming hierarchical state machines. You can read about it in this paper or watch this video. We plan to make this tool open source within the next months.

jlstevens commented 6 years ago

@franzlst

That is quite funny! I was using gaphas for essentially the same task for a personal/side-project I was working on.

I also used gaphas to visually connect between computational components drawn on a canvas for working in a dataflow programming style. I eventually stopped using gaphas when I switched from Linux to a macbook (given to me by my employer - I miss Linux!) which made it much harder to use GTK.

This project (currently unmaintained) became boxflow, using HTML5 canvas. I think it is worth mentioning all this in case there is an opportunity here to avoid more reinvention of the wheel. A generic library based on gaphas for writing dataflow style applications would be a nice thing to have!

danyeaw commented 6 years ago

@franzlst Thanks for sharing, that's a very cool use of gaphas! I will do my best to keep the master branch a 0.17.x version that supports gtk2 with bugfixes. When the switch to Toga is ready, it will be a breaking change to the API and we'll release a new major version as 1.x.x.

@amolenaar also mentioned to me that ASCEND is using the library as well. Maybe we could start a list the documentation of the different uses of the library.