Migrating from v3 to v4#
Some things have changed from Exploration Tool v3. Here are some things that may affect you when you transition to Exploration Tool v4.
(See also Changelog, section v4.0.0)
General#
The preferred way to install Exploration Tool is now via Python’s package manager;
pip
. Install is done withpython -m pip install --upgrade acconeer-exptool[app]
, which downloads and installs the Exploration Tool App including all its Python dependencies.The Exploration Tool App is no longer run with
python gui/main.py
. The command has been replaced withpython -m acconeer.exptool.app
, which can be run from anywhere.Standalone processing examples (earlier found under
examples/processing
) have been moved. Runnable with e.g.python -m acconeer.exptool.a111.algo.<service or detector> --uart
Many modules have been moved to
acconeer.exptool.a111
.The Calibration management section have been added to the App. This is the new way to handle recorded background data. Please revisit Collecting background data for more information.
API changes#
There have been some small API-changes for users that have extended Exploration Tool by modifying or have added to the source code.
The
SocketClient
-,SPIClient
- andUARTClient
-classes are unified in a singleClient
-class. These are the before and after:import acconeer.exptool as et # Before (v3) socket_client = et.SocketClient("192.168.XXX.YYY") spi_client = et.SPIClient() uart_client = et.UARTClient("COMX") # After (v4) socket_client = et.a111.Client(host="192.168.XXX.YYY") spi_client = et.a111.Client(link="spi") uart_client = et.a111.Client(serial_port="COMX", protocol="module") # Support for Exploration server over UART was added aswell: exploration_uart_client = et.a111.Client(serial_port="COMX", protocol="exploration")
For more details, please see API reference - A111
A lot of code have been moved into the
acconeer-exptool
-package, including what before was example processing (earlier found underexamples/processing
). The old files have been moved toacconeer.exptool.a111.algo
and separated into multiple files. Here is the separation ofsparse
for example:sparse ├── __init__.py ├── __main__.py # main function of the Algorithm module ├── _meta.py # Defines the ModuleInfo, imported by the App ├── _processor.py # Defines data processing └── ui.py # Defines plotting
(Please see Adding your own algorithm module for more details)
The way Algorithm modules are registered to the App have changed slightly, see Adding your own algorithm module.