geremy condra wrote: > On Thu, Dec 3, 2009 at 12:57 PM, M.-A. Lemburg <m...@egenix.com> wrote: >> geremy condra wrote: >>> On Thu, Dec 3, 2009 at 7:04 AM, M.-A. Lemburg <m...@egenix.com> wrote: >>>> I think the only major CS data type missing from Python is some >>>> form of (fast) directed graph implementation à la kjGraph: >>>> >>>> http://gadfly.sourceforge.net/kjbuckets.html >>>> >>>> With these, you can easily build all sorts of relations between >>>> objects and apply fast operations on them. In fact, it should then >>>> be possible to build a complete relational database in Python >>>> (along the lines of Gadfly). >>> >>> If you're in the market for a Python graph library, you may want >>> to check out Graphine- I'm obviously biased (I wrote most of it) >>> but it has a few more bells and whistles than kjbuckets, and is >>> pretty darned easy to use. It also supports undirected and >>> bridge graphs. >> >> Thanks for the hint :-) >> >> The lib looks nice and would probably serve as a good prototype >> for writing a new built-in type for Python. > > I suspect that it would have a better chance at getting into > collections than becoming a builtin, but who knows. I'd just > like to have something like it in the standard library.
Integrating an easy-to-use graph library into the collections module (and it's C companion) is good idea. >> This would have to be written in C, though, > > That's currently in the works, along with database backing. > We'd welcome any help though... hint, hint... > >> and come under a Python compatible license. > > I'm willing to dual license under the Python license if > there were a substantial interest in doing so, and I'm > confident that the other authors and maintainers > would feel the same way. Great ! > The question in my mind is whether such an interest exists. Since Python is being used more and more in CS classes, such an addition would complete the tool-set and make Python even more attractive for undergrad CS courses. Finding out how much interest exists in advance is always a bit difficult with new data-structures. People have to get a feeling of how they can be put to good use first, so it's a chicken-and-egg problem. We've seen the same thing happen with sets. They were first made available via a separate module and then became built-ins after people realized how useful they are in practice. With graphs, it's probably going to take a little longer before people realize their usefulness - graph theory is certainly a lot more complicated than set theory :-) >> With the built-in feature moratorium >> currently in place, there's about 1.5-2 years time to get this >> done; perhaps a good GSoC project for next year :-) > > I'd love to have Graphine be a GSoC project, although > if the target were to get it into collections the > moratorium wouldn't change the timeline AFAICS. True. -- Marc-Andre Lemburg eGenix.com Professional Python Services directly from the Source (#1, Dec 04 2009) >>> Python/Zope Consulting and Support ... http://www.egenix.com/ >>> mxODBC.Zope.Database.Adapter ... http://zope.egenix.com/ >>> mxODBC, mxDateTime, mxTextTools ... http://python.egenix.com/ ________________________________________________________________________ ::: Try our new mxODBC.Connect Python Database Interface for free ! :::: eGenix.com Software, Skills and Services GmbH Pastor-Loeh-Str.48 D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg Registered at Amtsgericht Duesseldorf: HRB 46611 http://www.egenix.com/company/contact/ -- http://mail.python.org/mailman/listinfo/python-list