Installation Instructions

Note

This page is for developers who want to customize or extend OpenWISP Network Topology, whether for bug fixes, new features, or contributions.

For user guides and general information, please see:

The following diagram illustrates the role of the Network Topology module within the OpenWISP architecture.

OpenWISP Architecture: Network Topology module

OpenWISP Architecture: highlighted network topology module

Important

For an enhanced viewing experience, open the image above in a new browser tab.

Refer to Architecture, Modules, Technologies for more information.

Installing for Development

Install the system dependencies:

sudo apt install -y sqlite3 libsqlite3-dev
# Install system dependencies for spatialite which is required
# to run tests for openwisp-network-topology integrations with
# openwisp-network-topology and openwisp-monitoring.
sudo apt install libspatialite-dev libsqlite3-mod-spatialite

Fork the openwisp-network-topology repository on GitHub, then clone your fork. Replace YOUR_GITHUB_USERNAME with your GitHub username:

git clone git@github.com:YOUR_GITHUB_USERNAME/openwisp-network-topology.git

Navigate into the cloned repository:

cd openwisp-network-topology/

Start InfluxDB and Redis using Docker (required by the test project to run tests for WiFi Mesh Integration):

docker compose up -d influxdb redis

Setup and activate a virtual-environment (we'll be using virtualenv):

python -m virtualenv env
source env/bin/activate

Make sure that your base python packages are up to date before moving to the next step:

pip install -U pip wheel setuptools

Install development dependencies:

pip install -e .
pip install -r requirements-test.txt

Create database:

cd tests/
./manage.py migrate
./manage.py createsuperuser

You can access the admin interface at http://127.0.0.1:8000/admin/.

Run tests with:

./runtests

Run QA checks:

./run-qa-checks

Alternative Sources

Pypi

To install the latest Pypi:

pip install openwisp-network-topology

Github

To install the latest development version tarball via HTTPs:

pip install https://github.com/openwisp/openwisp-network-topology/tarball/master

Alternatively you can install the latest development version from Git:

pip install -e git+https://github.com/openwisp/openwisp-network-topology#egg=openwisp_network-topology