by benmaier

benmaier / netwulf

Interactive visualization of networks based on Ulf Aslak's d3 web app.

236 Stars 20 Forks Last release: 4 months ago (v0.1.5) MIT License 202 Commits 8 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:



Simple and interactive network visualization in Python. Network visualization is an indispensable tool for exploring and communicating patterns in complex systems. Netwulf offers an ultra-simple API for reproducible interactive visualization of networks directly from a Python prompt or Jupyter notebook. As a research tool, its purpose is to allow hassle-free quick interactive layouting/styling for communication purposes.

The package is build around the philosophy that network manipulation and preprocessing should be done programmatically, but that the efficient generation of a visually appealing network is best done interactively, without code.




If you use

for your scientific work, consider citing us! We're published in JOSS.


pip install netwulf

was developed and tested for
  • Python 3.5
  • Python 3.6
  • Python 3.7

So far, the package's functionality was tested on Mac OS X, several Linux distributions and Windows NT. Windows support cannot be guaranteed as we do not have constant access to machines with this OS.


directly depends on the following packages which will be installed by
during the installation process
  • networkx>=2.0
  • numpy>=0.14
  • matplotlib>=3.0
  • simplejson>=3.0


Documentation Status

The full documentation is available at


Create a network and look at it

import networkx as nx
from netwulf import visualize

G = nx.barabasi_albert_graph(100,m=1) visualize(G)

visualization example0


Changes are logged in a separate file.


This project is licensed under the MIT License.


If you want to contribute to this project, please make sure to read the code of conduct and the contributing guidelines. In case you're wondering about what to contribute, we're always collecting ideas of what we want to implement next in the outlook notes.

Contributor Covenant

Dev notes

Clone and install this repository as

git clone --recurse-submodules -j8 [email protected]:benmaier/netwulf.git

Note that

per default lets
install a development version of the repository.

The JS base code in

is a fork of Ulf Aslak's interactive web app. If this repository is updated, change to
, then do
git fetch upstream
git merge upstream/master
git commit -m "merged"
git push

If you want to upload to PyPI, first convert the new
make readme

It will give you warnings about bad

-syntax. Fix those errors in
. Then wrap the whole thing
make pypi

It will probably give you more warnings about

-syntax. Fix those until the warnings disappear. Then do
make upload

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.