Netwulf

Netwulf: Interactive visualization of networks in Python - Published in JOSS (2019)

https://github.com/benmaier/netwulf

Science Score: 98.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 6 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: joss.theoj.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords

d3 network-visualization networkx python

Keywords from Contributors

geosciences
Last synced: 4 months ago · JSON representation ·

Repository

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

Basic Info
  • Host: GitHub
  • Owner: benmaier
  • License: mit
  • Language: Python
  • Default Branch: master
  • Homepage:
  • Size: 82.3 MB
Statistics
  • Stars: 300
  • Watchers: 8
  • Forks: 28
  • Open Issues: 17
  • Releases: 8
Topics
d3 network-visualization networkx python
Created about 7 years ago · Last pushed almost 3 years ago
Metadata Files
Readme Changelog Contributing License Code of conduct Citation

README.md

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

Paper

DOI

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

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

```python import networkx as nx from netwulf import visualize

G = nx.barabasialbertgraph(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. 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

bash 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

bash 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

bash make readme

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

bash make pypi

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

bash make upload

Owner

  • Name: Benjamin F. Maier
  • Login: benmaier
  • Kind: user
  • Location: Copenhagen
  • Company: Technical University of Denmark

Postdoc @suneman 's, generative art, electronic music. DTU Compute & SODAS.

JOSS Publication

Netwulf: Interactive visualization of networks in Python
Published
October 01, 2019
Volume 4, Issue 42, Page 1425
Authors
Ulf Aslak ORCID
Center for Social Data Science, University of Copenhagen, DK-1353 København K, DTU Compute, Technical University of Denmark, DK-2800 Kgs. Lyngby
Benjamin F. Maier ORCID
Robert Koch Institute, Nordufer 20, D-13353 Berlin, Department of Physics, Humboldt-University of Berlin, Newtonstr. 15, D-12489 Berlin
Editor
Leonardo Uieda ORCID
Tags
JavaScript networks visualization interactive

Citation (CITATION.cff)

cff-version: 1.2.0
title: Netwulf
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: Ulf
    family-names: Aslak
    email: ulfaslak@gmail.com
  - given-names: Benjamin Frank
    family-names: Maier
    email: benjaminfrankmaier@gmail.com
identifiers:
  - type: doi
    value: 
repository-code: 'https://github.com/benmaier/netwulf'
abstract: >-
  Netwulf is a light-weight Python library that provides a simple API for interactively visualizing
  a network and returning the computed layout and style. It 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.
  Therefore, it offers no analysis functionality and only few exploration features, but instead
  focuses almost entirely on fast and intuitive layout manipulation and node/link styling.
preferred-citation:
  type: article
  authors:
  - family-names: "Aslak"
    given-names: "Ulf"
    orcid: "https://orcid.org/0000-0003-4704-3609"
  - family-names: "Benjamin Frank"
    given-names: "Maier"
    orcid: "https://orcid.org/0000-0001-7414-8823"
  journal: "Journal of Open Source Software"
  title: "Netwulf: Interactive visualization of networks in Python"
  volume: 4
  issue: 42
  year: 2019
  start: 1425
  doi: "10.21105/joss.01425"
  url: "https://doi.org/10.21105/joss.01425"
  publisher: "The Open Journal"

GitHub Events

Total
  • Watch event: 7
  • Fork event: 2
Last Year
  • Watch event: 7
  • Fork event: 2

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 189
  • Total Committers: 6
  • Avg Commits per committer: 31.5
  • Development Distribution Score (DDS): 0.206
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Benjamin Maier b****r@g****m 150
ulfaslak u****n@g****m 35
vc1492a v****a@g****m 1
Michael Hoefer m****r@g****m 1
Leonardo Uieda l****a@g****m 1
Kyle Niemeyer k****r@g****m 1

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 44
  • Total pull requests: 10
  • Average time to close issues: about 1 month
  • Average time to close pull requests: about 1 month
  • Total issue authors: 20
  • Total pull request authors: 7
  • Average comments per issue: 3.82
  • Average comments per pull request: 0.8
  • Merged pull requests: 7
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • benmaier (18)
  • floklimm (3)
  • zoldaten (3)
  • ulfaslak (2)
  • jonimatix (2)
  • leouieda (2)
  • optidus (1)
  • tasgon (1)
  • wanderingashenvalewisp (1)
  • davhin (1)
  • g-ioannou (1)
  • Umak49 (1)
  • vc1492a (1)
  • ramadap (1)
  • HarrialX (1)
Pull Request Authors
  • ulfaslak (3)
  • yarikoptic (2)
  • vc1492a (1)
  • leouieda (1)
  • kyleniemeyer (1)
  • davhin (1)
  • mjhoefer (1)
Top Labels
Issue Labels
feature request (12) bug (7) documentation (6) enhancement (5) js (3) install (1) wontfix (1) help wanted (1) good first issue (1)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 2,877 last-month
  • Total dependent packages: 2
  • Total dependent repositories: 12
  • Total versions: 22
  • Total maintainers: 1
pypi.org: netwulf

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

  • Versions: 22
  • Dependent Packages: 2
  • Dependent Repositories: 12
  • Downloads: 2,877 Last month
Rankings
Dependent packages count: 3.2%
Stargazers count: 3.8%
Dependent repos count: 4.2%
Average: 5.0%
Downloads: 6.1%
Forks count: 7.7%
Maintainers (1)
Last synced: 4 months ago

Dependencies

docs/requirements.txt pypi
  • pip >=18.0
requirements.txt pypi
  • matplotlib >=3.0
  • networkx >=2.0
  • numpy >=0.14
  • simplejson >=3.0
setup.py pypi
  • matplotlib >=3.0
  • networkx >=2.0
  • numpy >=0.14
  • simplejson >=3.0