Provides a standardized way to connect to machines and devices in a factory or other factory systems
Project description
The ETA Nexus package provides a standardized interface for managing communication across industrial energy and production systems. It helps handle data streams across heterogeneous Information Technology (IT) and Operational Technology (OT) resources such as factory systems, machines, field devices, databases, and external API services.
The package provides one unified node and connection model across multiple protocols, including OPC UA, Modbus TCP, REST APIs, InfluxDB, SMARD, ENTSO-E, Forecast.Solar, Wetterdienst, EnEffCo, and Emonio. It is designed for live control, operational optimization, data recording, simulation workflows, and the integration of future communication services.
Documentation
Full documentation can be found on the Documentation Page.
Warning
This is beta software. APIs and functionality might change without prior notice. Please fix the version you are using in your requirements to ensure your software will not be broken by changes in ETA Nexus.
Overview
Core
Connection: Base class for protocol-specific clients. Connections can be created directly or from nodes with Connection.from_node() and Connection.from_nodes().
RESTConnection: Base class for REST/API connectors. It provides shared request handling, retries, cached sessions, authentication hooks, and parsing hooks.
ConnectionManager: High-level orchestration class for working with multiple systems, servers, and protocols from configuration files. It manages initialization, activation, deactivation, closing, reading, writing, and step-based control workflows.
Nodes
Node: Immutable description of a single data point. A node contains the protocol, URL, authentication data, data type, and protocol-specific addressing information.
Protocol-specific nodes: OpcuaNode, ModbusNode, InfluxNode, SmardNode, EntsoeNode, ForecastsolarNode, WetterdienstNode, EneffcoNode, and EmonioNode.
Connections
Status connections: Connections that support current-value operations with read(), write(), and optionally subscribe().
Series connections: Connections that support historic time-series operations with read_series(), write_series(), and optionally subscribe_series().
Supported connectors include:
OPC UA
Modbus TCP
InfluxDB
SMARD
ENTSO-E
Forecast.Solar
Wetterdienst
EnEffCo
Emonio
Servers
OpcuaServer: Helper for creating local OPC UA servers with simple variable access.
ModbusServer: Helper for creating local Modbus TCP servers.
Subscription Handlers
SubscriptionHandler: Base class for processing values received from subscriptions.
CsvSubscriptionHandler: Stores subscribed values in CSV files.
DFSubscriptionHandler: Stores subscribed values in memory as pandas DataFrames.
MultiSubscriptionHandler: Forwards subscribed values to multiple handlers.
Time Series
df_time_slice: Slices time-indexed pandas DataFrames.
df_resample: Resamples the time index of a DataFrame to a specified frequency.
df_interpolate: Interpolates missing values in a DataFrame with a specified frequency.
find_time_slice: Finds deterministic or random time slices for time-series data.
Contributing
Please read the development guide before starting development on ETA Nexus.
Citing this Project
For referencing this package in academic work, please refer to CITATION.cff. See AUTHORS.rst for a list of further contributors.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file eta_nexus-0.2.1.tar.gz.
File metadata
- Download URL: eta_nexus-0.2.1.tar.gz
- Upload date:
- Size: 378.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.1 CPython/3.10.18 Linux/6.8.0-111-generic
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4450daf2a6149cb9b3e51b3100ed79df23d704430142c44cfe1539a2a447a22d
|
|
| MD5 |
4efc70aaa6a380cf241a729b8f0795e2
|
|
| BLAKE2b-256 |
4830a1f9adbae7bb5aa182b410be14c467fdc1a1c964d144235e3afb092a0784
|
File details
Details for the file eta_nexus-0.2.1-py3-none-any.whl.
File metadata
- Download URL: eta_nexus-0.2.1-py3-none-any.whl
- Upload date:
- Size: 123.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.1 CPython/3.10.18 Linux/6.8.0-111-generic
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2efd6c78e46a3f9ebfaeca3f16764a702cbe35c7b4506a382b30a6fa043762ca
|
|
| MD5 |
e1ad5a2efeacb0a7fa7796ffca7390f2
|
|
| BLAKE2b-256 |
fb619158f90ace477a05ccdb93de42caf76b8be61a596de95e742a3cb8156a01
|