ud3tn/python-ud3tn-utils
Felix Walter 36a1f8bfc9 python: aap2: Properly handle communication errors when receiving
We are using exceptions for signaling users of the AAP2Client that
communication with µD3TN failed when receiving data, however, we did not
differentiate between normal connection closure and abnormal conditions.
This adds a `AAP2ServerDisconnected` exception to signal that µD3TN has
closed the connection. The supplied tools are adapted to properly handle
both this new exception and other usual cases for termination such as
keyboard interrupts, so that no unnecessary stack traces are printed.

Signed-off-by: Felix Walter <felix.walter@d3tn.com>
2024-08-09 15:02:19 +02:00
..
ud3tn_utils python: aap2: Properly handle communication errors when receiving 2024-08-09 15:02:19 +02:00
.gitignore Prepare PyPi packages 2020-11-19 12:38:39 +01:00
LICENSE Prepare PyPi packages 2020-11-19 12:38:39 +01:00
pyproject.toml Bump version to v0.14.0-rc1 2024-07-16 22:50:45 +02:00
README.md Prepare PyPi packages 2020-11-19 12:38:39 +01:00
requirements.txt Bump version to v0.14.0-rc1 2024-07-16 22:50:45 +02:00

python-uD3TN-utils

The Python package uD3TN-utils is a utility library to simplify the interaction with the uD3TN daemon within python applications.

The included AAPClient enables user-friendly communication with the uD3TN daemon via local or remote sockets using the Application Agent Protocol (AAP). Besides sending and receiving bundles, it is also possible to change the configuration of the uD3TN daemon via AAP messages.

Installation

From source:

git clone https://gitlab.com/d3tn/ud3tn
cd python-ud3tn-utils
python setup.py install

From PyPi directly:

pip install ud3tn-utils

Examples

from ud3tn_utils.aap import AAPUnixClient

with AAPUnixClient() as aap_client:
    aap_client.register()
    aap_client.send_str(aap_client.eid(), "Hello World")
    print(aap_client.receive())

Development

pyD3TN is maintained as part of the µD3TN project and follows its development processes. Please see the µD3TN repository for the code and further information.