networkx/networkx — pull request #764 by Midnighter (2012-09-10 13:00:58+00:00)
Title: Integration of Ben Edwards' GSoC project 2011 on community detection

Incomplete Pull Request
-----------------------

This pull request is incomplete and it's meant to discuss pulling @bjedwards'
GSoC project on community finding and other related code into the main networkx repository.

General Remark
-------
There have been several discussions on the mailing list showing interest in
replacing the basic Graph data structure with custom ones, e.g., using a
database instead of the dict of dict model. Should we rely on particular class
interfaces, for example, Graph.adjacency_iter or DiGraph.predecessors_iter,
instead of accessing the dictionary structures directly in order to facilitate
other data models?

Direct access of the dictionary structure is extremely
widespread throughout networkx; one could argue that any customized data
structure would have to expose a dictionary-like interface anyway because a
rewrite of networkx is not worth the time and effort.

Observations
------------

* spectrum.py and laplacian_spectral.py are disorganized and seem to serve
similar purposes. Can we reorganize it?
* similarly quality.py and community_quality.py isn't all the code community
related?

Related Issues
--------------

The GSoC project issue #549 (used to be Trac 557), other related issues are an algorithm based on Newman(2006) PNAS #160 (Trac 158),
the Louvain method #239 (same on Trac), and a fast detection algorithm #245
(same on Trac).