pyunicorn
(Unified Complex Network and RecurreNce analysis toolbox) is a fully object-oriented Python package for the advanced analysis and modeling of complex networks. Above the standard measures of complex network theory such as degree, betweenness and clustering coefficient it provides some uncommon but interesting statistics like Newman's random walk betweenness. pyunicorn
features novel node-weighted (node splitting invariant) network statistics as well as measures designed for analyzing networks of interacting/interdependent networks.
Moreover, pyunicorn
allows to easily construct networks from uni- and multivariate time series data (functional (climate) networks and recurrence networks). This involves linear and nonlinear measures of time series analysis for constructing functional networks from multivariate data as well as modern techniques of nonlinear analysis of single time series like recurrence quantification analysis (RQA) and recurrence network analysis.
This page only contains bare-bones instructions for installing pyunicorn
. For more information, jump right to the pyunicorn homepage.
Git repository not yet public.
pyunicorn
relies on the following additional open source or freely available packages that have to be installed on your machine.
- Required:
- Numpy 1.8+
- Scipy 0.14+
- Weave 0.15+
- igraph, python-igraph 0.7+
- Optional (required for certain classes and methods):
- PyNGL (for class NetCDFDictionary)
- netcdf4-python (for classes Data and NetCDFDictionary)
- Matplotlib 1.3+
- Matplotlib Basemap Toolkit (for drawing maps)
- mpi4py (for parallelizing costly computations)
- Sphinx (for generating documentation in formats other than HTML, e.g. PDF)
Install pyunicorn
using Python's distutils
with the supplied setup.py
script:
$> python setup.py install
Depending on your system, you may need root priviledges. On UNIX-based operating systems (Linux, MacOSX etc.) this is achieved with sudo
.
Install the latest stable release of pyunicorn
via the Python package index:
$> pip install pyunicorn
Using Sphinx
, currently HTML and PDF can be generated:
$> cd docs; make clean html latexpdf
Not implemented yet.
Before committing changes to the codebase, please make sure that all tests pass. The test suite is managed by tox and configured to use system-wide packages when available. Thus to avoid frequent waiting, we recommend you to install the following packages:
$> pip install tox nose networkx Sphinx
$> pip install pytest pytest-xdist pytest-flakes pytest-pep8
The test suite can be run from anywhere in the project tree by issuing:
$> tox
To expose the defined test environments and target them independently:
$> tox -l
$> tox -e py27-doctest,py27-style
To test single files:
$> tests/test_doctests.py core.interacting_networks # doctests
$> nosetests tests/core/TestResitiveNetwork-circuits.py # unit tests
$> py.test pyunicorn/core/network.py # style
pyunicorn
is BSD-licensed (3 clause), see LICENSE.txt
.