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
pyupcnmodule 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)
| 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
|