Skip to main content

OpenWISP 2 Network Topology

Project description Requirements Status

OpenWISP 2 network topology module (built using Python and Django web-framework).

Install stable version from pypi

Install from pypi:

pip install openwisp-network-topology

Install development version

Install tarball:

pip install

Alternatively you can install via pip using git:

pip install -e git+git://

If you want to contribute, install your cloned fork:

git clone<your_fork>/openwisp-network-topology.git
cd openwisp-network-topology
python develop

Setup (integrate in an existing django project)

INSTALLED_APPS in should look like the following (order is important):

    # for customized openwisp admin theme
    # all-auth
    # openwisp2 modules
    # admin
EXTENDED_APPS = ('django_netjsongraph',)

Note that the EXTENDED_APPS may contain other names (if you installed other modules), in that case you should just add django_netjsongraph.

Add openwisp_utils.staticfiles.DependencyFinder to STATICFILES_FINDERS in your


Add openwisp_utils.loaders.DependencyLoader to template loaders and openwisp_utils.admin_theme.context_processor.menu_items to context processors in the TEMPLATES setting of

        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'OPTIONS': {
            'loaders': [
            'context_processors': [

Add the following settings to

LOGIN_REDIRECT_URL = 'admin:index'

Add the URLs to your main

from django.conf.urls import include, url
from django.contrib.staticfiles.urls import staticfiles_urlpatterns

from openwisp_utils.admin_theme.admin import admin, openwisp_admin


urlpatterns = [
    url(r'^', include('openwisp_network_topology.urls')),
    url(r'^admin/', include(,

urlpatterns += staticfiles_urlpatterns()

Then run:

./ migrate

Installing for development

Install sqlite:

sudo apt-get install sqlite3 libsqlite3-dev

Install your forked repo:

git clone git://<your_fork>/openwisp-network-topology
cd openwisp-network-topology/
python develop

Install test requirements:

pip install -r requirements-test.txt

Create database:

cd tests/
./ migrate
./ createsuperuser

Set EMAIL_PORT in to a port number (eg: 1025):

EMAIL_PORT = '1025'

Launch development server and SMTP deubgging server:

./ runserver
# open another session and run
python -m smtpd -n -c DebuggingServer localhost:1025

You can access the admin interface at

Run tests with:



  1. Announce your intentions in the OpenWISP Mailing List and open relavant issues using the issue tracker
  2. Fork this repo and install the project following the instructions
  3. Follow PEP8, Style Guide for Python Code
  4. Write code and corresponding tests
  5. Ensure that all tests pass and the test coverage does not decrease
  6. Document your changes
  7. Send a pull request





Project details

Download files

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

Files for openwisp-network-topology, version 0.3.1
Filename, size File type Python version Upload date Hashes
Filename, size openwisp_network_topology-0.3.1-py2.py3-none-any.whl (23.8 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size openwisp-network-topology-0.3.1.tar.gz (16.0 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page