A client application for 5G-ERA NetApps. Contains the basic implementation of the client (client.py).
- era-5g-interface - Python interface (support classes) for Net Applications.
- Reference-NetApp - reference NetApp implementation with MMCV detector.
The package could be installed via pip:
pip install era_5g_client
Three example clients (reference implementations) are provided to test the NetApp.
System environment variables can be set, e.g.:
# Use video file
export FROM_SOURCE=False
export TEST_VIDEO_FILE=whatever_video.mp4
or
# Use webcam
export FROM_SOURCE=True
The first example uses middleware to deploy the NetApp and to handle its life cycle. Therefore, the NetApp needs to be uploaded to the accessible docker repository and the NetApp needs to be registered within the middleware. Basic configuration needs to be provided:
System environment variables that should be set:
# ip address or hostname of the computer, where the middleware runs
export MIDDLEWARE_ADDRESS=middleware_address
# the GUID of the registered middleware user
export MIDDLEWARE_USER=middleware_user
the password of the registered middleware user
export MIDDLEWARE_PASSWORD=middleware_password
the middleware GUID of the task that should be initialized
export MIDDLEWARE_TASK_ID=middleware_task_id
The user and password could be registered with the /register endpoint on the middleware (using Postman for example).
python3 client.py
For local testing, the middleware could be avoided, so the NetApp needs to be started manually. Basic configuration needs to be provided:
System environment variables that can be set, e.g.:
# ip address or hostname and port (default is 5896) of the computer, where the NetApp is deployed
export NETAPP_ADDRESS=http://localhost:5896
python3 client_no_middleware.py
Basic implementation of the client. Allows to register with the NetApp and set the websocket-based communication for reading of results.
- The package is developed and tested with Python 3.8.
- Any contribution should go through a pull request from your fork.
- Before committing, please run locally:
./pants fmt ::
- format all code according to our standard../pants lint ::
- checks formatting and few more things../pants check ::
- runs type checking (mypy).
- The same checks will be run within CI.
- A virtual environment with all necessary dependencies can be generated using
./pants export ::
. You may then activate the environment and addera_5g_client
to yourPYTHONPATH
, which is equivalent to installing a package usingpip install -e
. - To generate distribution packages (
tar.gz
andwhl
), you may run./pants package ::
. - For commit messages, please stick to https://www.conventionalcommits.org/en/v1.0.0/.