advantech-edge
Python hardware-abstraction library for Advantech edge devices (industrial IoT boards).
Exposes board features through a stable public API while dispatching underneath to whichever
vendor hardware library is installed on the host: SUSI, SUSI IoT, or EAPI.
Mirrors the API shape of the sibling C# library Advantech.Edge.
Requirements
- Linux (x86-64 or ARM64)
- Python ≥ 3.8
- Root / Administrator privileges at runtime
- One of the Advantech vendor libraries installed on the host: SUSI, SUSI IoT, or EAPI
Installation
# From public PyPI
pip install advantech-edge
# From the internal Azure Artifacts feed (pre-release / QA-validated builds)
pip install --index-url <FEED_URL> advantech-edge
# From a local wheel
pip install dist/advantech_edge-<version>-py3-none-any.whl
Quick Start
from advantech.edge.platform import MainBoard
with MainBoard() as board:
# Board identification
print(board.board_info.name) # e.g. "MIC-770"
print(board.board_info.manufacturer) # e.g. "Advantech"
print(board.board_info.bios_version) # e.g. "5.27"
# Onboard sensors (None if unsupported by the active backend)
if board.onboard_sensors:
for src in board.onboard_sensors.temperature_sources:
sample = board.onboard_sensors.get_temperature(src)
print(sample.source, sample.value) # degrees Celsius
for src in board.onboard_sensors.voltage_sources:
sample = board.onboard_sensors.get_voltage(src)
print(sample.source, sample.value) # volts
for src in board.onboard_sensors.fan_sources:
sample = board.onboard_sensors.get_fan_speed(src)
print(sample.source, sample.value) # RPM
# GPIO (None if unsupported)
if board.gpio:
from advantech.edge.platform import GpioDirection, GpioLevel
board.gpio.set_direction(0, GpioDirection.OUTPUT)
board.gpio.set_level(0, GpioLevel.HIGH)
print(board.gpio.get_level(0))
# Watchdog (None if unsupported)
if board.watchdog:
for timer in board.watchdog.timer_ids:
print(board.watchdog.try_get_cap(timer))
print(board.watchdog.try_get_config(timer))
# Thermal protection (None if unsupported)
if board.thermal_protection:
for zone in board.thermal_protection.zone_ids:
print(board.thermal_protection.try_get_zone_cap(zone))
API Overview
| Feature | Access | Description |
|---|---|---|
| Board info | board.board_info |
Board name, manufacturer, BIOS version, DMI info |
| Onboard sensors | board.onboard_sensors |
Temperature, voltage, fan-speed readings |
| GPIO | board.gpio |
Pin direction and level control, input-change events |
| Watchdog | board.watchdog |
Watchdog timer configuration, start/stop, event callbacks |
| Thermal protection | board.thermal_protection |
Per-zone thermal protection policies and event callbacks |
Features not supported by the active backend are exposed as None on the MainBoard instance.
Supported Backends
| Backend | Board Info | Sensors | GPIO | Watchdog | Thermal Protection |
|---|---|---|---|---|---|
| SUSI | ✓ | ✓ | |||
| SUSI IoT | ✓ | ✓ | ✓ | ||
| EAPI | ✓ | ✓ | ✓ | ✓ |
The library auto-detects which vendor library is installed and selects the appropriate backend.
Metadata
Release files for advantech-edge 2.0.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| advantech_edge-2.0.6.tar.gz | 192.1 kB | Without provenance | Details for advantech_edge-2.0.6.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| advantech_edge-2.0.6-py3-none-any.whl | Python 3 | none | any | Details for advantech_edge-2.0.6-py3-none-any.whl |
Total release size: 312.5 kB
Release files / advantech_edge-2.0.6.tar.gz
| Download URL | advantech_edge-2.0.6.tar.gz |
|---|---|
| Size | 192.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
98feb76900ef5875ed152758f9c9aa4b0d2fb2352a5f3b8f9afaa697fbc59e66
|
|
BLAKE2b-256 checksum How to use checksums |
3e63d72895336c51668fc6f8ff71e5f7d2b8edf03f4d616a1ae635446c07bef8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.1
|
Release files / advantech_edge-2.0.6-py3-none-any.whl
| Download URL | advantech_edge-2.0.6-py3-none-any.whl |
|---|---|
| Size | 120.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0f7610833923259cb9da00857b345693dd4d57e17533b3e5e16bed19de536a99
|
|
BLAKE2b-256 checksum How to use checksums |
07e8f796bf76d2bd7b7bf9b1389c792ee0a93e86334320b0b7184127f48ced83
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.1
|
Security for advantech-edge 2.0.6
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.