## open-dis-python

[![Build Status](https://app.travis-ci.com/open-dis/open-dis-python.svg?branch=master)](https://app.travis-ci.com/open-dis/open-dis-python)
[![PyPI Version](https://shields.mitmproxy.org/pypi/v/opendis.svg)](https://pypi.org/project/opendis/)

A Python 3 implementation of the Distributed Interactive Simulation (DIS) 7 standard.
Initially generated by [xmlpg](https://github.com/open-dis/xmlpg).

## Library installation

From source:

```bash
pip install .
```

For developers of this library (This installs a symlink to the sources so they can be edited and referenced in `tests` and `examples` without a reinstall):
```bash
pip install -e .
```

## Run examples

Run a receiver:

```bash
cd examples
python3 dis_receiver.py
```

In another terminal, run the sender:

```bash
python3 dis_sender.py
```

You should also see the traffic on the net in Wireshark on your localhost interface.

Press `Ctrl+\` to stop the process.

## Documentation

You can auto generate API docs from the project source code:
```bash
pip install pdoc
pdoc --html --html-dir docs opendis
```

The docs will be generated in the `docs/opendis` folder.

## Poetry setup
1. `poetry install` or `poetry update`
1. `poetry run python examples/dis_receiver.py` or `poetry shell` && `python examples/dis_receiver.py`
