NetworkX
========
*High productivity software for complex networks*
-------------------------------------------------
.. raw:: html
About
-----
NetworkX (NX) is a Python package for the creation, manipulation, and
study of the structure, dynamics, and functions of complex networks.
Features:
- Allows for 1M+ nodes, 10M+ edges
- Includes standard graph-theoretic and statistical physics functions
- Easy exchange of network algorithms between applications,
disciplines, and platforms
- Includes many classic graphs and synthetic networks
- Nodes and edges can be "anything"
(e.g. time-series, text, images, XML records)
- Exploits existing code from high-quality legacy software in C,
C++, Fortran, etc.
- Open source (encourages community input)
- Unit-tested
Additional benefits due to Python:
- Allows fast prototyping of new algorithms
- Easy to teach
- Multi-platform
- Allows easy access to almost any database
Quick Example
-------------
Just write in Python
>>> import networkx as NX
>>> G=NX.Graph()
>>> G.add_edge(1,2)
>>> G.add_node("spam")
>>> print G.nodes()
[1, 2, 'spam']
>>> print G.edges()
[(1, 2)]
Requirements
-------------
To use NetworkX you need
- Python version 2.3 or later http://www.python.org/
Optional packages to enable drawing networks:
- Matplotlib http://matplotlib.sourceforge.net/
- pygraphviz http://networkx.lanl.gov/pygraphviz/
- Graphviz http://graphviz.org/
- numpy http://numpy.scipy.org/
Optional useful packages:
- Ipython http://ipython.scipy.org/
- SciPy http://scipy.org/
- PyGSL http://pygsl.sourceforge.net/
- sAsync http://foss.eepatents.com/sAsync
- PyYAML http://pyyaml.org/
Download
--------
You can download NetworkX from
http://sourceforge.net/project/showfiles.php?group_id=122233
You can browse the source at https://networkx.lanl.gov/browser/networkx/trunk
To access the source repository using subversion, you will need a subversion client (e.g. svn for Linux). Then check out the code using
svn co https://networkx.lanl.gov/svn/networkx/trunk networkx
Quick Install
-------------
Installing from source:
- Download the source (tar.gz or zip file)
- Unpack and change directory to networkx-x.xx
- Run "python setup.py install" to build and install
- (optional) cd networkx/tests and run "python setup_egg.py test" to execute the tests
Installing a Python egg from source:
- Download the source (tar.gz or zip file)
- Unpack and change directory to networkx-x.xx
- Run "python setup_egg.py install" to build and install
- (optional) run "python setup_egg.py test" to execute the tests
**Windows** (binary installer)
Download the installer, run and follow the instructions.
Please note that we are not Windows users and have only verified
that the Windows installer passes the "smoke test". If you
have problems we suggest installing from the source distribution.
NetworkX also may be installed using EasyInstall http://peak.telecommunity.com/DevCenter/EasyInstall
easy_install networkx
Authors
-------
- Aric Hagberg http://math.lanl.gov/~hagberg/
- Dan Schult
- Pieter Swart
.. raw:: html