Skip to main content

OpenWISP 2 Network Topology

Project description

https://travis-ci.org/openwisp/openwisp-network-topology.svg?branch=master https://coveralls.io/repos/github/openwisp/openwisp-network-topology/badge.svg Requirements Status https://badge.fury.io/py/openwisp-network-topology.svg

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 https://github.com/openwisp/openwisp-network-topology/tarball/master

Alternatively you can install via pip using git:

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

If you want to contribute, install your cloned fork:

git clone git@github.com:<your_fork>/openwisp-network-topology.git
cd openwisp-network-topology
python setup.py develop

Setup (integrate in an existing django project)

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

INSTALLED_APPS = [
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    # for customized openwisp admin theme
    'openwisp_utils.admin_theme',
    # all-auth
    'django.contrib.sites',
    'allauth',
    'allauth.account',
    'allauth.socialaccount',
    # openwisp2 modules
    'openwisp_users',
    'openwisp_network_topology',
    'rest_framework',
    # admin
    'django.contrib.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 settings.py

STATICFILES_FINDERS = [
    'django.contrib.staticfiles.finders.FileSystemFinder',
    'django.contrib.staticfiles.finders.AppDirectoriesFinder',
    'openwisp_utils.staticfiles.DependencyFinder',
]

Add openwisp_utils.loaders.DependencyLoader to TEMPLATES in your settings.py

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [],
        'OPTIONS': {
            'loaders': [
                'django.template.loaders.filesystem.Loader',
                'django.template.loaders.app_directories.Loader',
                'openwisp_utils.loaders.DependencyLoader',
            ],
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

Add the following settings to settings.py

LOGIN_REDIRECT_URL = 'admin:index'
ACCOUNT_LOGOUT_REDIRECT_URL = LOGIN_REDIRECT_URL

Add the URLs to your main urls.py:

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

openwisp_admin()

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

urlpatterns += staticfiles_urlpatterns()

Then run:

./manage.py migrate

Installing for development

Install sqlite:

sudo apt-get install sqlite3 libsqlite3-dev

Install your forked repo:

git clone git://github.com/<your_fork>/openwisp-network-topology
cd openwisp-network-topology/
python setup.py develop

Install test requirements:

pip install -r requirements-test.txt

Create database:

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

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

EMAIL_PORT = '1025'

Launch development server and SMTP deubgging server:

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

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

Run tests with:

./runtests.py

Contributing

  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

Changelog

See CHANGES.

License

See LICENSE.

Support

See OpenWISP Support Channels.

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

openwisp-network-topology-0.2.1.tar.gz (12.0 kB view details)

Uploaded Source

Built Distribution

openwisp_network_topology-0.2.1-py2.py3-none-any.whl (22.6 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file openwisp-network-topology-0.2.1.tar.gz.

File metadata

File hashes

Hashes for openwisp-network-topology-0.2.1.tar.gz
Algorithm Hash digest
SHA256 7e7d9eeeeb6d3955a4cbfc9ad5584309e1721653b2721734d6eaf69aace4d7eb
MD5 de4123394f21c635af03142dcbe9172c
BLAKE2b-256 ca863771d6701a872f5ef33e56d8ed664a3c3d6c599598cd84c0d5a1e0653650

See more details on using hashes here.

File details

Details for the file openwisp_network_topology-0.2.1-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for openwisp_network_topology-0.2.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 c5caccf925c7815f7060c572815b69552791d480142547519d99af9b33e3e828
MD5 a1c7e87ad6d0693acdbff3ca76f9d427
BLAKE2b-256 e70d33635ce6b237e52cace9761ba70449ca1197cb8209948c967c5f9ca34180

See more details on using hashes here.

Supported by

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