Skip to main content

A framework for performing DTN simulations based on asyncio.

Project description

aiodtnsim

A minimal framework for performing DTN simulations based on Python 3.7 and asyncio.

Note that this project is still a work in progress.

Requirements

  • Python 3.7+
  • NumPy
  • tqdm for the progress bars
  • dtn-tvg-util
  • for uPCN integration, uPCN v0.7.0+ with the pyupcn module installed in the Python environment

Getting Started

Just install aiodtnsim via pip, e.g., in a virtual environment:

pip install aiodtnsim

For generating satellite scenarios (needed by the example script), you need to install the dtn-tvg-util Ring Road dependencies additionally:

pip install "dtn-tvg-util[ring_road]"

Now, you should be able to use the example scripts provided in the root directory of aiodtnsim to perform simple simulation runs, e.g. via:

bash examples/example_test_run.sh

Development Setup

First, clone the aiodtnsim, dtn-tvg-util, and upcn repositories (the latter only for using uPCN emulation) and change into the aiodtnsim directory. Now, 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 -e "../dtn-tvg-util[ring_road,gs_placement]"
pip install -U -r ../upcn/pyupcn/requirements.txt
python ../upcn/pyupcn/install.py

If you want to perform a run with uPCN, ensure the latest binary has been built:

cd ../upcn
make

License

aiodtnsim is provided under the MIT license. See LICENSE for details.

Acknowledgments

The simulation event loop is based upon code by Damon Wischik.

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

aiodtnsim-0.3.1.tar.gz (42.9 kB view details)

Uploaded Source

File details

Details for the file aiodtnsim-0.3.1.tar.gz.

File metadata

  • Download URL: aiodtnsim-0.3.1.tar.gz
  • Upload date:
  • Size: 42.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.56.2 CPython/3.9.1

File hashes

Hashes for aiodtnsim-0.3.1.tar.gz
Algorithm Hash digest
SHA256 20b1d3b3eb47f058e45dbd1eb7eb495ac272dab553afc344b556d6bd86e84926
MD5 01d279a5fe2aa6a3098c7156c58fc98f
BLAKE2b-256 03c8e3fc8428922268f87ead212bf22a351bdd307b29cf7edd95934c361fc2b9

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