semvec/pypi-packages huggingface dataset:
aiodtnsim 0.3.1
A framework for performing DTN simulations based on asyncio.
Requires Python: >=3.7

# 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](https://gitlab.com/d3tn/dtn-tvg-util)
* for uPCN integration, [uPCN](https://upcn.eu) 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](LICENSE) for details.

## Acknowledgments

The simulation event loop is based upon [code by Damon Wischik](https://gist.github.com/damonjw/35aac361ca5d313ee9bf79e00261f4ea).
dtn-tvg-util 0.1.5
A Python module providing functions for the representation of DTNs based on time-varying network graphs. Supports Python 2.7 and Python 3.4+.

# 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` and `libgdal-dev`

## Getting Started

For just using this module, install it via `pip`:

```
pip install dtn-tvg-util
```

For the development setup, you should first create a virtual environment and install with `pip install -e`

```
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 .
```

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.

For using the Ring Road scenario generators, you have to install some further dependencies:

```
pip install "dtn-tvg-util[ring_road]"
# OR
pip install -e ".[ring_road]"
```

For ground station placement (via `tvgutil/tools/create_gs_list.py`), also install the `gs_placement` extras by adding `[ring_road,gs_placement]` to the `pip install` command.

## 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](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.*