Skip to main content

Interactively visualize networks with Ulf Aslak's d3-tool from Python.

Project description

logo

About

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.

example

Install

pip install netwulf

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.

Dependencies

netwulf directly depends on the following packages which will be installed by pip during the installation process

  • networkx>=2.0

  • numpy>=0.14

  • matplotlib>=3.0

  • simplejson>=3.0

Documentation

Documentation Status

The full documentation is available at https://netwulf.rtfd.io.

Example

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

Changelog

Changes are logged in a separate file.

License

This project is licensed under the MIT License.

Contributing

If you want to contribute to this project, please make sure to read the code of conduct and the contributing guidelines.

Contributor Covenant

Dev notes

Clone and install this repository as

git clone --recurse-submodules -j8 git@github.com:benmaier/netwulf.git
make

Note that make per default lets pip install a development version of the repository.

The JS base code in /netwulf/js/ is a fork of Ulf Aslak’s interactive web app. If this repository is updated, change to /netwulf/js/, 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 README.md to README.rst

make readme

It will give you warnings about bad .rst-syntax. Fix those errors in README.rst. Then wrap the whole thing

make pypi

It will probably give you more warnings about .rst-syntax. Fix those until the warnings disappear. Then do

make upload

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

netwulf-0.1.0.tar.gz (233.0 kB view details)

Uploaded Source

File details

Details for the file netwulf-0.1.0.tar.gz.

File metadata

  • Download URL: netwulf-0.1.0.tar.gz
  • Upload date:
  • Size: 233.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.21.0 setuptools/41.0.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.3

File hashes

Hashes for netwulf-0.1.0.tar.gz
Algorithm Hash digest
SHA256 fe7f6c2c83c6172ed966ada5ce26ef37a18c0f6503953bc90b379c1e5ac62339
MD5 a8601bb090bae62ad730024db44e7ff5
BLAKE2b-256 ff4e7f0c314fa0c135962c5f6689c2c60ffa62cf361a29bdd33ea167a0a24ec9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page