A Python module providing functions for the representation of DTNs based on time-varying network graphs. Supports Python 2.7 and Python 3.4+.
Project description
dtn-tvg-util
A Python module providing functions for the representation of DTNs based on time-varying network graphs. Supports Python 2.7 and Python 3.4+.
Requirements
- Python 2.7 or 3.4+
- a build toolchain for your platform plus the
python-dev
package to install the Python dependencies - to place Ring Road ground stations,
libgeos-dev
andlibgdal-dev
Getting Started
First you have to create a virtual environment and install the required dependencies:
python3 -m venv --without-pip .venv
curl -sS https://bootstrap.pypa.io/get-pip.py | .venv/bin/python
source .venv/bin/activate
pip install -e .
pip install -U -r requirements-ring-road.txt
Some example tools can be found in tvgutil.tools
. These scripts allow to generate and convert time-varying graph representations of Ring Road [1] scenarios.
You may skip installing dependencies from requirements-ring-road.txt
(the last line) if you don't want to use these tools or generate such scenarios.
Testing
Unit tests for the core functionality are provided in test/
. They are based on the Python unittest
package. Use a test runner of your choice to execute them, e.g. pytest
or nose
.
pip install nose
python -m nose test
License
This code is licensed under the MIT license. See LICENSE for details.
References
[1] Ring Road Networks (RRN) are Disruption-tolerant Networks (DTN) for communication, based on the deployment of low-cost LEO satellites. For more information, see the following paper: S. C. Burleigh and E. J. Birrane, “Toward a Communications Satellite Network for Humanitarian Relief,” in International Conference on Wireless Technologies for Humanitarian Relief, Amritapuri, India, 2011.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.