Skip to content

Commit

Permalink
merge for release of 4.1.1
Browse files Browse the repository at this point in the history
  • Loading branch information
maxv committed Jul 5, 2016
1 parent 360d237 commit 7e38bf2
Show file tree
Hide file tree
Showing 38 changed files with 143 additions and 369 deletions.
2 changes: 1 addition & 1 deletion Doc/DevGuide.mdown
Original file line number Diff line number Diff line change
Expand Up @@ -334,7 +334,7 @@ software to generate the documentation and website:

After you installed the above mentioned software, you can build the class documentation by calling `./make_doc.sh`
in the folder `Doc/doc`. This will generate the class documentation for C++ and Python in `Doc/Documentation`.
Similarly, you can call `./make_doc.sh` to build the website. After the build finished, you find the generated website
Similarly, you can call `./make_www.sh` to build the website. After the build finished, you find the generated website
in `Doc/Website/`.


Expand Down
Binary file modified Doc/Readme.pdf
Binary file not shown.
2 changes: 1 addition & 1 deletion Doc/doc/_templates/home_navbar.html
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@
<h1>NetworKit</h1>
<h3>Large-Scale Network Analysis &#8212; Interactive and Fast!</h3>
<a class="customButton" href="{{ pathto('get_started') }}">Get Started</a>
<a class="customButton" href="http://nbviewer.ipython.org/urls/networkit.iti.kit.edu/data/uploads/docs/NetworKit_UserGuide.ipynb">User Guide</a>
<a class="customButton" href="http://nbviewer.ipython.org/urls/networkit.iti.kit.edu/uploads/docs/NetworKit_UserGuide.ipynb">User Guide</a>
</div>

</div>
14 changes: 11 additions & 3 deletions Doc/doc/api/DevGuide.rst
Original file line number Diff line number Diff line change
Expand Up @@ -196,6 +196,13 @@ branch. We recommend the following workflow:
3. make and commit your changes while being on the ``Dev`` branch
4. send a pull request to the main repository

Student Projects
~~~~~~~~~~~~~~~~

Students with long-term projects like Bachelor's or Master's theses
should familiarize themselves with the guidelines and select a
forking/branching model with their advisor.

Branching Cheat Sheet
---------------------

Expand Down Expand Up @@ -434,6 +441,7 @@ shared by Dijkstra and BFS only need to be wrapped through SSSP.

cdef class Dijkstra(SSSP):
""" Dijkstra's SSSP algorithm.

Returns list of weighted distances from node source, i.e. the length of the shortest path from source to
any other node.

Expand Down Expand Up @@ -496,9 +504,9 @@ implementation. There are many examples of how to use it, e.g.
Contact
-------

To discuss important changes to NetworKit, use the `mailing
To discuss important changes to NetworKit, use the `e-mail
list <https://lists.ira.uni-karlsruhe.de/mailman/listinfo/networkit>`__
(``networkit-dev@ira.uka.de``).
(``[email protected]``).

Building the documentation
--------------------------
Expand All @@ -516,7 +524,7 @@ After you installed the above mentioned software, you can build the
class documentation by calling ``./make_doc.sh`` in the folder
``Doc/doc``. This will generate the class documentation for C++ and
Python in ``Doc/Documentation``. Similarly, you can call
``./make_doc.sh`` to build the website. After the build finished, you
``./make_www.sh`` to build the website. After the build finished, you
find the generated website in ``Doc/Website/``.

Further Reading
Expand Down
14 changes: 7 additions & 7 deletions Doc/doc/api/notebooks.rst
Original file line number Diff line number Diff line change
Expand Up @@ -25,34 +25,34 @@ We provide several example notebooks to get started with NetworKit and Jupyter N

.. |userGuide| raw:: html

<a href="http://nbviewer.ipython.org/urls/networkit.iti.kit.edu/data/uploads/docs/NetworKit_UserGuide.ipynb" target="_blank">NetworKit User Guide</a>
<a href="http://nbviewer.ipython.org/urls/networkit.iti.kit.edu/uploads/docs/NetworKit_UserGuide.ipynb" target="_blank">NetworKit User Guide</a>


.. |gephiStreaming| raw:: html

<a href="http://nbviewer.ipython.org/urls/networkit.iti.kit.edu/data/uploads/docs/GephiStreaming_UserGuide.ipynb" target="_blank">Gephi Streaming</a>
<a href="http://nbviewer.ipython.org/urls/networkit.iti.kit.edu/data/uploads/GephiStreaming_UserGuide.ipynb" target="_blank">Gephi Streaming</a>


.. |spectralCentrality| raw:: html

<a href="http://nbviewer.ipython.org/urls/networkit.iti.kit.edu/data/uploads/docs/SpectralCentrality.ipynb" target="_blank">Spectral Centrality</a>
<a href="http://nbviewer.ipython.org/urls/networkit.iti.kit.edu/data/uploads/SpectralCentrality.ipynb" target="_blank">Spectral Centrality</a>


.. |spectralCentralityPandas| raw:: html

<a href="http://nbviewer.ipython.org/urls/networkit.iti.kit.edu/data/uploads/docs/SpectralCentralityWithPandas.ipynb" target="_blank">Spectral Centrality with Pandas</a>
<a href="http://nbviewer.ipython.org/urls/networkit.iti.kit.edu/data/uploads/SpectralCentralityWithPandas.ipynb" target="_blank">Spectral Centrality with Pandas</a>


.. |spectralColoring| raw:: html

<a href="http://nbviewer.ipython.org/urls/networkit.iti.kit.edu/data/uploads/docs/SpectralColoring.ipynb" target="_blank">Spectral Coloring</a>
<a href="http://nbviewer.ipython.org/urls/networkit.iti.kit.edu/data/uploads/SpectralColoring.ipynb" target="_blank">Spectral Coloring</a>


.. |spectralDrawing| raw:: html

<a href="http://nbviewer.ipython.org/urls/networkit.iti.kit.edu/data/uploads/docs/SpectralDrawing.ipynb" target="_blank">Spectral Drawing</a>
<a href="http://nbviewer.ipython.org/urls/networkit.iti.kit.edu/data/uploads/SpectralDrawing.ipynb" target="_blank">Spectral Drawing</a>


.. |spectralPartitioning| raw:: html

<a href="http://nbviewer.ipython.org/urls/networkit.iti.kit.edu/data/uploads/docs/SpectralPartitioning.ipynb" target="_blank">Spectral Partitioning</a>
<a href="http://nbviewer.ipython.org/urls/networkit.iti.kit.edu/data/uploads/SpectralPartitioning.ipynb" target="_blank">Spectral Partitioning</a>
8 changes: 5 additions & 3 deletions Doc/doc/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,8 @@
# All configuration values have a default; values that are commented out
# serve to show the default.

import sys, os
import sys, os, inspect
import sphinx_bootstrap_theme
from pathlib import Path
#import matplotlib as mpl
#mpl.use("Agg")

Expand Down Expand Up @@ -61,7 +60,10 @@
# built documents.
#
# The short X.Y version.
sys.path.insert(0, Path(__file__).parents[2])
currentdir = os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))
networkitDir = os.path.dirname(os.path.dirname(currentdir))
sys.path.insert(0, networkitDir)

import networkit
version = networkit.__version__
# The full version, including alpha/beta/rc tags.
Expand Down
14 changes: 7 additions & 7 deletions Doc/doc/features.rst
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ To see the most important features of a network at a glance, NetworKit provides
.. image:: resources/profiling_overview.png
:align: center

For detailed instructions on how to use the Profiling module take a look at our `Profiling Notebook <http://nbviewer.jupyter.org/urls/networkit.iti.kit.edu/data/uploads/docs/Profiling.ipynb>`_.
For detailed instructions on how to use the Profiling module take a look at our `Profiling Notebook <http://nbviewer.jupyter.org/urls/networkit.iti.kit.edu/uploads/docs/Profiling.ipynb>`_.

|separator|

Expand All @@ -54,7 +54,7 @@ Degree Distribution
^^^^^^^^^^^^^^^^^^^
Empirically observed complex networks tend to show a heavy tailed degree distribution which follow a power-law with a characteristic exponent. NetworKit provides functions to analyze the
degree distribution of a network. For details visit the
`Degree Distribution <http://nbviewer.jupyter.org/urls/networkit.iti.kit.edu/data/uploads/docs/NetworKit_UserGuide.ipynb#Degree-Distribution>`_ Section of the User Guide. The algorithm runs in :math:`O(n)`.
`Degree Distribution <http://nbviewer.jupyter.org/urls/networkit.iti.kit.edu/uploads/docs/NetworKit_UserGuide.ipynb#Degree-Distribution>`_ Section of the User Guide. The algorithm runs in :math:`O(n)`.

(Degree) Assortativity
^^^^^^^^^^^^^^^^^^^^^^
Expand All @@ -74,27 +74,27 @@ Clustering Coefficients

Clustering coefficients are key figures for the amount of transitivity in networks. NetworKit provides functions for both the global clustering coefficient as well as the local clustering
coefficient. NetworKit implements the wedge sampling approximation algorithm. It runs in essentially linear or even constant time, depending on the respective measure. For details on the
usage visit the `Clustering Coefficient <http://nbviewer.jupyter.org/urls/networkit.iti.kit.edu/data/uploads/docs/NetworKit_UserGuide.ipynb#Transitivity-/-Clustering-Coefficients>`_
usage visit the `Clustering Coefficient <http://nbviewer.jupyter.org/urls/networkit.iti.kit.edu/uploads/docs/NetworKit_UserGuide.ipynb#Transitivity-/-Clustering-Coefficients>`_
Section of the User Guide.

Components and Cores
^^^^^^^^^^^^^^^^^^^^

We compute connected components in linear time using a parallel label propagation scheme in which each node adopts the maximum label in its neighborhood. Take a look at
the `Connected Components <http://nbviewer.jupyter.org/urls/networkit.iti.kit.edu/data/uploads/docs/NetworKit_UserGuide.ipynb#Connected-Components>`_ Section in the User Guide.
the `Connected Components <http://nbviewer.jupyter.org/urls/networkit.iti.kit.edu/uploads/docs/NetworKit_UserGuide.ipynb#Connected-Components>`_ Section in the User Guide.

The core decomposition algorithm implemented in NetworKit uses a bucket data structure for managing remaining node degrees and has a running time which is linear
in the number of edges. Visit the `Core Decomposition <http://nbviewer.jupyter.org/urls/networkit.iti.kit.edu/data/uploads/docs/NetworKit_UserGuide.ipynb#Core-Decomposition>`_
in the number of edges. Visit the `Core Decomposition <http://nbviewer.jupyter.org/urls/networkit.iti.kit.edu/uploads/docs/NetworKit_UserGuide.ipynb#Core-Decomposition>`_
Section of the User Guide for usage details.

Centrality
^^^^^^^^^^

Centrality refers to the relative importance of a node or edge within a network. We distribute efficient implementations for betweenness, closeness, degree, Katz, eigenvector centrality and PageRank.

* Betweenness: |br| Betweenness centrality expresses the concept that a node is important if it lies on many shortest paths between nodes in the network. A naive algorithm for calculating betweeness centrality for all nodes would require cubic time. We implement Brandes's algorithm, by which betweenness centrality can be computed more efficiently (O(nm) time, where n is the number of nodes and m is the number of edges of the graph). Optionally, our implementation computes the scores in parallel, at the expense of a larger memory footprint. Since this is still practically infeasible for the large data sets we target, NetworKit includes also parallelized implementations of two approximation algorithms. One of them has probabilistic guarantees such that the error is at most an additive constant, whereas the other has no theoretical guarantee but performs very well in practice. |br| |br|
* Betweenness: |br| Betweenness centrality expresses the concept that a node is important if it lies on many shortest paths between nodes in the network. A naive algorithm for calculating betweeness centrality for all nodes would require cubic time. We implement Brandes's algorithm, by which betweenness centrality can be computed more efficiently (:math:`O(n*m)` time, where :math:`n` is the number of nodes and :math:`m` is the number of edges of the graph). Optionally, our implementation computes the scores in parallel, at the expense of a larger memory footprint. Since this is still practically infeasible for the large data sets we target, NetworKit includes also parallelized implementations of two approximation algorithms. One of them has probabilistic guarantees such that the error is at most an additive constant, whereas the other has no theoretical guarantee but performs very well in practice. |br| |br|

* Closeness: |br| Closeness centrality measures the importance of a node by the average distance to every other node in the graph. A node is therefore important when the distances to the other nodes are rather small. Computing the closeness values for all nodes requires to solve a single-source shortest path problem for all nodes (O(nm) time, where n is the number of nodes and m is the number of edges of the graph) which makes it infeasible to compute for large networks. We therefore also provide an approximation algorithm with a probabilistic error guarantee. Notice that, since many real-world complex networks have a small diameter, the range of closeness values for the nodes of such a network is rather small. |br| |br|
* Closeness: |br| Closeness centrality measures the importance of a node by the average distance to every other node in the graph. A node is therefore important when the distances to the other nodes are rather small. Computing the closeness values for all nodes requires to solve a single-source shortest path problem for all nodes (:math:`O(n*m)` time, where :math:`n` is the number of nodes and :math:`m` is the number of edges of the graph) which makes it infeasible to compute for large networks. We therefore also provide an approximation algorithm with a probabilistic error guarantee. Notice that, since many real-world complex networks have a small diameter, the range of closeness values for the nodes of such a network is rather small. |br| |br|

* Degree: |br| Degree centrality simply ranks the nodes by their degree (i.e. nodes with high degree are more important than nodes having low degrees). The degree centrality can be computed in linear time for all nodes and the algorithm can be parallelized easily. |br| |br|

Expand Down
17 changes: 9 additions & 8 deletions Doc/doc/get_started.rst
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ workflows. View the `IPython Quickstart Guide`_ for installation instructions an


Once you have installed NetworKit, please make sure to check out our
`NetworKit UserGuide <http://nbviewer.ipython.org/urls/networkit.iti.kit.edu/data/uploads/docs/NetworKit_UserGuide.ipynb>`_ for an overview of the features provided
`NetworKit UserGuide <http://nbviewer.ipython.org/urls/networkit.iti.kit.edu/uploads/docs/NetworKit_UserGuide.ipynb>`_ for an overview of the features provided
in NetworKit.

|separator|
Expand All @@ -36,9 +36,10 @@ Install the NetworKit Virtual Machine
=====================================

If you want a quick and easy way to try NetworKit for your purposes or you use a Microsoft Windows operating system, we strongly recommend the installation of our
NetworKit virtual machine.
NetworKit virtual machine that can be downloaded `here <https://networkit.iti.kit.edu/uploads/networkit-vm.zip>`_.

Take a look at our `installation guide <https://networkit.iti.kit.edu/networkit-vm_guide.html>`_ for further instructions on installing the virtual machine on your system.

A detailed installation guide can be found `here <networkit-vm_guide.html>`_.


|separator|
Expand Down Expand Up @@ -101,7 +102,7 @@ Build NetworKit from Source
===========================

You can clone NetworKit from `AlgoHub <http://algohub.iti.kit.edu/parco/NetworKit/NetworKit/>`_ with Mercurial or download the source code as a
`Zip file <https://networkit.iti.kit.edu/data/uploads/networkit.zip>`_.
`Zip file <https://networkit.iti.kit.edu/uploads/NetworKit.zip>`_.

Requirements
~~~~~~~~~~~~
Expand Down Expand Up @@ -212,7 +213,7 @@ Test
~~~~

You actually do not need to build and run our unit tests. However, if you experience any issues with NetworKit, you might want to check, if NetworKit runs properly.
Please refer to the `Unit Tests and Testing <api/DevGuide.html#devguide-unittests>`_ section in our `NetworKit Development Guide <api/DevGuide.html#devGuide>`_.
Please refer to the `Unit Tests and Testing <https://networkit.iti.kit.edu/api/DevGuide.html#devguide-unittests>`_ section in our `NetworKit Development Guide <https://networkit.iti.kit.edu/api/DevGuide.html#devGuide>`_.


Known Issues
Expand All @@ -231,7 +232,7 @@ Known Issues
Contributions
~~~~~~~~~~~~~

We would like to encourage contributions to the NetworKit source code. See the `NetworKit Development Guide <api/DevGuide.html#devGuide>`_ for instructions. For support
We would like to encourage contributions to the NetworKit source code. See the `NetworKit Development Guide <https://networkit.iti.kit.edu/api/DevGuide.html#devGuide>`_ for instructions. For support
please contact the `mailing list <https://lists.ira.uni-karlsruhe.de/mailman/listinfo/networkit>`_.


Expand Down Expand Up @@ -259,7 +260,7 @@ If you want to use NetworKit in the IPython terminal, type the following command
from networkit import *
The first line opens the IPython terminal. The second line imports the *networkit* Python module. After that, you should be able to use NetworKit interactively.
For usage examples, refer to the `NetworKit UserGuide <http://nbviewer.ipython.org/urls/networkit.iti.kit.edu/data/uploads/docs/NetworKit_UserGuide.ipynb>`_.
For usage examples, refer to the `NetworKit UserGuide <http://nbviewer.ipython.org/urls/networkit.iti.kit.edu/uploads/docs/NetworKit_UserGuide.ipynb>`_.

IPython Notebook/jupyter
~~~~~~~~~~~~~~~~~~~~~~~~
Expand Down Expand Up @@ -316,5 +317,5 @@ Now that you are done installing NetworKit, you might want to try the following
avg. community size 23.5128
modularity 0.987991
------------------- -----------
>>>
6 changes: 3 additions & 3 deletions Doc/doc/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -44,17 +44,17 @@
<div style="padding-top: 15px">Install via pip</div>
<span style="display: block;overflow: hidden;"><input onClick="this.setSelectionRange(0, this.value.length)" style="width: 100%" type="text" value="pip install networkit" readonly=""/></span>

<div style="padding-top: 15px">Download from <a href="https://algohub.iti.kit.edu/parco/NetworKit/NetworKit">Algohub</a> or as <a href="https://networkit.iti.kit.edu/data/uploads/networkit.zip">Zip file</a></div>
<div style="padding-top: 15px">Download from <a href="https://algohub.iti.kit.edu/parco/NetworKit/NetworKit">Algohub</a> or as <a href="https://networkit.iti.kit.edu/uploads/NetworKit.zip">Zip file</a></div>

<div style="padding-top: 15px">Download the <a href="https://networkit.iti.kit.edu/data/uploads/NetworKit-Doc.zip">Class Documentation</a></div>
<div style="padding-top: 15px">Download the <a href="https://networkit.iti.kit.edu/uploads/Documentation.zip">Class Documentation</a></div>

<div style="padding-top: 15px">Download the <a href="http://arxiv.org/pdf/1403.3005v3.pdf">Technical Report</a></div>

<div style="padding-top: 15px;"> <div style="float: left;">Mailing List</div> <div><a style="padding-left: 10px" href="https://lists.ira.uni-karlsruhe.de/mailman/listinfo/networkit"><img style="padding-bottom:2px" src="_static/mailinglist.png"></a> </div> </div>

<div style="padding-top: 15px">View the <a href="https://lists.ira.uni-karlsruhe.de/pipermail/networkit/">mailing list archive</a></div>

<div style="padding-top: 15px"><a href="http://nbviewer.ipython.org/urls/networkit.iti.kit.edu/data/uploads/docs/NetworKit_UserGuide.ipynb">NetworKit UserGuide</a></div>
<div style="padding-top: 15px"><a href="http://nbviewer.ipython.org/urls/networkit.iti.kit.edu/uploads/docs/NetworKit_UserGuide.ipynb">NetworKit UserGuide</a></div>

</div>
</div>
Expand Down
13 changes: 7 additions & 6 deletions Doc/doc/make_www.sh
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,7 @@ doxygen Doxyfile
python3 -c'import sphinxPreparation; sphinxPreparation.cleanUp()'
rm -rf __pycache__

# remove doctrees (not needed for html) and move html one up
rm -rf ../Website/doctrees
# move html one up
mv ../Website/html/* ../Website/
rm -rd ../Website/html

Expand All @@ -31,20 +30,22 @@ cp ../Notebooks/GephiStreaming_UserGuide.ipynb ../uploads/docs/GephiStreaming_Us
cp ../Notebooks/SpectralCentrality.ipynb ../uploads/docs/SpectralCentrality.ipynb
cp ../Notebooks/SpectralCentralityWithPandas.ipynb ../uploads/docs/SpectralCentralityWithPandas.ipynb

# copy uploads folder

# create uploads folder in ../Website
mkdir ../Website/uploads/
cp -r ../uploads ../Website/

# create documentation
./make_doc.sh

# zip documentation and repository and move it to uploads/
zip -r ../Website/uploads/Documentation.zip ../Documentation/
zip -r ../Website/uploads/NetworKit.zip ../../../
hg archive -t zip ../Website/uploads/NetworKit.zip

# remove doctrees (not needed for html)
rm -rf ../Website/doctrees/


# copy uploads folder
cp -a ../uploads ../Website/



Expand Down
Loading

0 comments on commit 7e38bf2

Please sign in to comment.