Skip to main content

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.

Metadata

Release files for aiodtnsim 0.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for aiodtnsim 0.3.1
File Size Uploaded
aiodtnsim-0.3.1.tar.gz 42.9 kB Details

Release files / aiodtnsim-0.3.1.tar.gz

Download URL aiodtnsim-0.3.1.tar.gz
Size 42.9 kB
Tags Source
SHA-256 checksum
How to use checksums
20b1d3b3eb47f058e45dbd1eb7eb495ac272dab553afc344b556d6bd86e84926
BLAKE2b-256 checksum
How to use checksums
03c8e3fc8428922268f87ead212bf22a351bdd307b29cf7edd95934c361fc2b9
Upload date
Uploaded using Trusted Publishing?
What is 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

Release history Release notifications | RSS feed

This release

0.3.1 This release

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page