web-dev-qa-db-fra.com

Python Bibliothèque de graphes

J'écris une application python qui fera un usage intensif de la structure de données d'un graphe. Rien d'horriblement complexe, mais je pense qu'une sorte de bibliothèque de graphes/algorithmes de graphes pourrait m'aider. J'ai cherché sur Google, mais je ne trouve rien qui me saute aux yeux.

Quelqu'un a de bonnes recommandations?

336
cpatrick

Il y a deux excellents choix:

NetworkX

et

igraph

J'aime NetworkX, mais je lis aussi de bonnes choses sur igraph. J'utilise régulièrement NetworkX avec des graphes avec 1 million de nœuds sans problème (c'est environ le double de la surcharge d'un dict de taille V + E)

Si vous voulez une comparaison des fonctionnalités, voyez ceci dans la liste de discussion Networkx

Fil de comparaison des fonctionnalités

228
Gregg Lind

Je voudrais brancher ma propre graphe python bibliothèque: graph-tool .

Il est très rapide, car il est implémenté en C++ avec la bibliothèque de graphes Boost, et contient de nombreux algorithmes et une documentation complète.

102
Tiago Peixoto

Avez-vous regardé python-graph ? Je ne l'ai pas utilisé moi-même, mais la page du projet semble prometteuse.

31
zweiterlinde

Aussi, vous voudrez peut-être jeter un oeil à NetworkX

9
lmount

Jetez un oeil à cette page sur l'implémentation de graphes en python .

Vous pouvez également jeter un oeil à pygraphlib sur sourceforge.

6
Brian R. Bondy
5
Frank

J'appuie la suggestion de zweiterlinde d'utiliser python-graph. Je l'ai utilisé comme base d'un projet de recherche basé sur des graphes sur lequel je travaille. La bibliothèque est bien écrite, stable et possède une bonne interface. Les auteurs répondent également rapidement aux demandes de renseignements et aux rapports.

0
jtguerin

J'ai le plus de chance avec pydot. Certaines des autres sont difficiles à installer et à configurer sur différentes plates-formes telles que Win 7.

http://code.google.com/p/pydot/

0
syvex