title: Are there any graph algorithm implementations in Python that are not coupled with a particular implementation?
body: <p>I need some graph algorithms for a project. I could implement them from scratch, but before I do so I wanted to see if there was something out there that I could use. I've looked at <a href="http://networkx.github.io/" rel="nofollow">networkx</a> and <a href="http://igraph.sourceforge.net/" rel="nofollow">igraph</a>. Networkx turns out to be memory inefficient for the size of the graphs I have to deal with. I think I'm using igraph incorrectly because it seems to just hang. I'll get more information on igraph if anyone's interested.</p>
  
  <p>Networkx seemed promising because it is implemented in pure Python. The problem is that building the graph eats up all the memory. I have the graph in an SQLite database as an adjacency list.
  So what I wanted to do was modify the code so that it can work directly with the SQLite representation instead of the networkx representation. Has anybody ever tried this successfully?</p>
  
  <p>If that does not work, it goes back to the question in the title. Are there any graph implementations in Python that are reasonably decoupled from the graph representation?</p>