Skip to content

Commit

Permalink
Initial Github commit
Browse files Browse the repository at this point in the history
  • Loading branch information
ntfrgl committed Apr 12, 2015
0 parents commit 66593b0
Show file tree
Hide file tree
Showing 117 changed files with 30,895 additions and 0 deletions.
53 changes: 53 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]

# C extensions
*.so

# Distribution / packaging
.Python
env/
bin/
build/
develop-eggs/
dist/
eggs/
lib/
lib64/
parts/
sdist/
var/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.coverage
.cache
nosetests.xml
coverage.xml

# Translations
*.mo

# Mr Developer
.project
.pydevproject

# Rope
.ropeproject

# Django stuff:
*.log
*.pot

# Sphinx documentation
docs/_build/
57 changes: 57 additions & 0 deletions CONTRIBUTIONS.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@

**Copyright**
|copy| 2008-2015 Jonathan F. Donges and pyunicorn authors.

**License**
BSD (3-clause)

**URL**
http://www.pik-potsdam.de/members/donges/software

**Mail**
Jonathan Donges, Potsdam Institute for Climate Impact Research,
P.O. Box 60 12 03, D-14412 Potsdam, Germany

**Authors**
Written as part of a diploma/PhD thesis in physics by `Jonathan F. Donges
<[email protected]>`_ at Humboldt University Berlin and the Potsdam
Institute for Climate Impact Research (PIK) and completed at the University
of Potsdam, Germany. Substantially extended by `Jobst Heitzig
<[email protected]>`_.

**Contributors**
- Jakob Runge (extended ``core`` and ``climate``)
- Alexander Radebach
- Hanna Schultz
- Marc Wiedermann (extended ``core`` and ``climate``)
- `Alraune Zech <[email protected]>`_
(extended ``timeseries`` during an internship at PIK)
- `Jan Feldhoff <[email protected]>`_ (extended ``timeseries``)
- Aljoscha Rheinwalt
- Hannes Kutza
- `Boyan Beronov <[email protected]>`_
(consolidated and updated codebase during an internship at PIK)
- `Paul Schultz <[email protected]>`_ and `Stefan Schinkel
<[email protected]>`_ supplied resistive networks and corresponding tests
**Related publications**
See :doc:`publications` (``docs/source/publications.rst``).

**Version**
0.4.1

**Dependencies**
- Python 2.7
- `Numpy <http://numpy.scipy.org/>`_ 1.8+
- `Scipy <http://www.scipy.org/>`_ 0.14+
- `Weave <https://github.com/scipy/weave>`_ 0.15+
- `Matplotlib <http://matplotlib.sourceforge.net>`_ 1.3+
- `igraph, python-igraph <http://igraph.sourceforge.net/>`_ 0.7+

**Included**
- `progressbar <http://pypi.python.org/pypi/progressbar/>`_ 2.3

**To Do**
- A lot - See current product backlog.

**Known Bugs**:
- ...
31 changes: 31 additions & 0 deletions LICENSE.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@

Copyright (C) 2008-2015, Jonathan F. Donges (Potsdam-Institute for Climate
Impact Research), pyunicorn authors

All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

* Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.

* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.

* Neither the name of pyunicorn authors and the Potsdam-Institute for
Climate Impact Research nor the names of its contributors may be used to
endorse or promote products derived from this software without specific
prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
103 changes: 103 additions & 0 deletions README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@

pyunicorn
=========

``pyunicorn`` (**Uni**\ fied **Co**\ mplex Network and **R**\ ecurre\ **N**\ ce
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.

Get more information
--------------------
This page only contains bare-bones instructions for installing ``pyunicorn``.
For more information, jump right to the `pyunicorn homepage`_.

.. _pyunicorn homepage: http://www.pik-potsdam.de/~donges/pyunicorn/

Get the latest code
-------------------
Git repository not yet public.

Dependencies
------------
``pyunicorn`` relies on the following additional open source or freely
available packages that have to be installed on your machine.

Required:
- `Numpy <http://numpy.scipy.org/>`_ 1.8+
- `Scipy <http://www.scipy.org/>`_ 0.14+
- `Weave <https://github.com/scipy/weave>`_ 0.15+
- `Matplotlib <http://matplotlib.sourceforge.net>`_ 1.3+
- `igraph, python-igraph <http://igraph.sourceforge.net/>`_ 0.7+

Optional *(required for certain classes and methods)*:
- `PyNGL <http://www.pyngl.ucar.edu/Download/>`_ (for class
NetCDFDictionary)
- `netcdf4-python <http://code.google.com/p/netcdf4-python/>`_ (for classes
Data and NetCDFDictionary)
- `Matplotlib Basemap Toolkit <http://matplotlib.org/basemap/>`_ (for drawing
maps)
- `mpi4py <http://code.google.com/p/mpi4py/>`_ (for parallelizing costly
computations)
- `Sphinx <http://sphinx-doc.org/>`_ (for generating documentation in
formats other than HTML, e.g. PDF)

Install pyunicorn
-----------------
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``.

Documentation
-------------
Using ``Sphinx``, currently HTML and PDF can be generated::

$> cd docs; make clean html latexpdf

Mailing list
------------
Not implemented yet.

Test suite
----------
Before committing changes to the codebase, please make sure that all tests
pass. The test suite is managed by `tox <https://testrun.org/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

License
-------
``pyunicorn`` is **BSD-licensed** (3 clause), see ``LICENSE.txt``.
Loading

0 comments on commit 66593b0

Please sign in to comment.