Skip to main content

pyiec61850-ng

This library is experimental. Use at your own risk. No warranty of any kind is provided.

Next Generation Python bindings for libiec61850, packaged as a Python wheel.

Build and Test PyPI version Python Versions

This repository provides Python bindings for the libiec61850 library, which is an open-source implementation of the IEC 61850 standard for communication networks and systems in substations.

Installation

Install from PyPI (Recommended)

pip install pyiec61850-ng

Install from GitHub Release

pip install pyiec61850-ng --find-links https://github.com/f0rw4rd/pyiec61850-ng/releases/latest/download/

Install directly from GitHub

pip install git+https://github.com/f0rw4rd/pyiec61850-ng.git

Install from local wheel

pip install pyiec61850-ng-*.whl

Usage

Quick Start (Recommended - Safe API)

from pyiec61850.mms import MMSClient

# Use context manager for automatic cleanup
with MMSClient() as client:
    client.connect("192.168.1.100", 102)
    print("Connected successfully!")

    # Get server identity
    identity = client.get_server_identity()
    print(f"Server: {identity.vendor} {identity.model}")

    # Discover logical devices
    devices = client.get_logical_devices()
    for device in devices:
        print(f"Device: {device}")

        # Get logical nodes
        nodes = client.get_logical_nodes(device)
        for node in nodes:
            print(f"  Node: {node}")

# Connection automatically closed

Low-Level API

For advanced use cases, you can use the raw bindings directly:

import pyiec61850.pyiec61850 as pyiec61850

# Create and connect to an IEC 61850 server
connection = pyiec61850.IedConnection_create()
error = pyiec61850.IedConnection_connect(connection, "192.168.1.100", 102)

if error == pyiec61850.IED_ERROR_OK:
    print("Connected successfully!")
    # Perform operations...
    pyiec61850.IedConnection_close(connection)

pyiec61850.IedConnection_destroy(connection)

Examples

For comprehensive examples, see the examples directory:

Run examples:

python examples/01_basic_connection.py 192.168.1.100
python examples/02_device_discovery.py 192.168.1.100

Building from Source

The wheel package is built using Docker:

docker build -t pyiec61850-builder --build-arg LIBIEC61850_VERSION=v1.6 .

To extract the wheel file:

mkdir -p ./dist
docker create --name wheel-container pyiec61850-builder
docker cp wheel-container:/wheels/. ./dist/
docker rm wheel-container

Versioning

This package uses the format: LIBIEC61850_VERSION.REVISION

  • Example: 1.6.0.1 = libiec61850 v1.6.0, first package revision
  • 1.6.0: The exact libiec61850 version included (static)
  • .1: Package revision for bug fixes, rebuilds, binding improvements

This clearly shows which libiec61850 version you're getting and our package iteration.

Check current version:

python version.py        # Package version: 1.6.0.1
python version.py --libiec61850  # libiec61850 version: v1.6.0

TASE.2/ICCP Support (Highly Experimental)

Warning: TASE.2 support is highly experimental and may change significantly.

pyiec61850-ng includes support for TASE.2 (IEC 60870-6), also known as ICCP (Inter-Control Center Communications Protocol), used for real-time data exchange between control centers in the electric utility industry.

TASE.2 Quick Start

from pyiec61850.tase2 import TASE2Client

client = TASE2Client(
    local_ap_title="1.1.1.999",
    remote_ap_title="1.1.1.998"
)
client.connect("192.168.1.100", port=102)

# Discover domains (VCC/ICC)
domains = client.get_domains()
for domain in domains:
    print(f"Domain: {domain.name} ({domain.domain_type})")

# Read a data point
value = client.read_point("ICC1", "Voltage")
print(f"Value: {value.value}, Quality: {value.quality}")

# Security analysis
security = client.analyze_security()
print(f"Readable points: {security['readable_points']}")
print(f"Concerns: {security['concerns']}")

client.disconnect()

TASE.2 Features

  • Domain Discovery: VCC (Virtual Control Center) and ICC (Indication Control Center)
  • Variable Enumeration: List and read data points with quality information
  • Data Point Access: Read/write individual points or bulk enumeration
  • Transfer Sets (Block 2): RBE (Report-by-Exception) management
  • Device Control (Block 5): Select-Before-Operate, commands, setpoints
  • Bilateral Tables: Access control configuration queries
  • Security Analysis: Automated security assessment and recommendations

TASE.2 Data Types

from pyiec61850.tase2 import (
    Domain,          # VCC/ICC domain
    PointValue,      # Data point with value and quality
    TransferSet,     # Block 2 transfer set
    BilateralTable,  # Access control table
    ServerInfo,      # Server information
)

MMS Module (Safe Wrappers)

The pyiec61850.mms module provides safe Python wrappers around the raw SWIG bindings, preventing common crashes from NULL pointer dereferences and memory leaks.

Why Use the Safe Wrappers?

The raw pyiec61850 bindings require careful memory management:

  • LinkedList_destroy() must be called after iteration
  • MmsValue_delete() must be called after reading values
  • toCharP() crashes on NULL pointers

The MMS module handles all of this automatically.

MMS Client Example

from pyiec61850.mms import MMSClient, ConnectionFailedError

with MMSClient() as client:
    try:
        client.connect("192.168.1.100", 102)

        # All memory management is automatic
        for device in client.get_logical_devices():
            for node in client.get_logical_nodes(device):
                print(f"{device}/{node}")

    except ConnectionFailedError as e:
        print(f"Connection failed: {e}")

MMS over TLS

The wheels ship libiec61850 with mbedTLS compiled in. Configure TLS with TLSConfig and pass it to the client — both server-authentication-only and mutual TLS are supported:

from pyiec61850.mms import MMSClient
from pyiec61850.mms.tls import TLSConfig, TLSVersion

tls = TLSConfig(
    own_cert="client.pem",          # omit cert+key for server-auth-only TLS
    own_key="client-key.pem",
    ca_certs=["ca.pem"],
    min_version=TLSVersion.TLS_1_2,
)

with MMSClient("192.168.1.100", tls=tls) as client:  # default TLS port 3782
    print(client.get_logical_devices())

Self-signed / test servers. If you have the server's certificate, pin it (real authentication, no CA needed):

tls = TLSConfig.pinning("server.pem")                 # trust exactly this cert
tls = TLSConfig.pinning("server.pem", own_cert="client.pem", own_key="client.key")
tls = TLSConfig.pinning("server.pem", allow_expired=True)   # tolerate expiry

If you don't have the certificate and just want an encrypted channel for testing, insecure=True accepts any certificate the server presents:

tls = TLSConfig(insecure=True)                        # accept any cert

⚠️ insecure=True disables all peer authentication — the connection is encrypted but offers no protection against a man-in-the-middle. Never use it in production. (Stock libiec61850 has no such mode; this package adds it via a small TLSConfiguration_setInsecure patch to the bundled library.)

The raw TLSConfiguration_* API (TLSConfiguration_create, TLSConfiguration_setOwnCertificateFromFile, …) is also exposed for low-level use, e.g. for IedServer_createWithTlsSupport.

Variable Type Introspection

get_variable_spec() reads a variable's MMS type specification (recursively for structures and arrays) and returns a plain dataclass:

spec = client.get_variable_spec("simpleIOGenericIO/GGIO1.AnIn1.mag[MX]")
print(spec.type_name)                    # "STRUCTURE"
print([c.name for c in spec.children])   # ["f"]

Safe Utilities for Raw Bindings

If you need to use raw bindings, use the safe utilities:

from pyiec61850.mms.utils import (
    safe_to_char_p,        # NULL-safe string conversion
    LinkedListGuard,       # Auto-cleanup context manager
    MmsValueGuard,         # Auto-cleanup for MmsValue
)
import pyiec61850.pyiec61850 as iec61850

# Safe iteration with automatic cleanup
result = iec61850.IedConnection_getLogicalDeviceList(connection)
device_list, error = result

with LinkedListGuard(device_list) as guard:
    for device_name in guard:  # NULL pointers automatically skipped
        print(device_name)
# LinkedList automatically destroyed

License

This project is licensed under the GNU General Public License v3.0 (GPLv3) - see the LICENSE file for details.

Third-Party Components

  • libiec61850 by MZ Automation GmbH - GPLv3 (commercial license available)
  • Mbed TLS - Apache License 2.0

The compiled libiec61850.so and SWIG bindings included in wheel distributions are built from the libiec61850 source code. See the NOTICE file for full attribution details.

For commercial use cases where GPLv3 is not suitable, a commercial license for libiec61850 is available from MZ Automation GmbH.

Trademarks

All marks belong to their owners; used nominatively to describe interoperability; no endorsement implied.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pyiec61850_ng-1.6.1.10-cp314-cp314-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.14Windows x86-64

pyiec61850_ng-1.6.1.10-cp314-cp314-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.26+ x86-64manylinux: glibc 2.28+ x86-64

pyiec61850_ng-1.6.1.10-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

pyiec61850_ng-1.6.1.10-cp313-cp313-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.13Windows x86-64

pyiec61850_ng-1.6.1.10-cp313-cp313-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.26+ x86-64manylinux: glibc 2.28+ x86-64

pyiec61850_ng-1.6.1.10-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

pyiec61850_ng-1.6.1.10-cp312-cp312-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.12Windows x86-64

pyiec61850_ng-1.6.1.10-cp312-cp312-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.26+ x86-64manylinux: glibc 2.28+ x86-64

pyiec61850_ng-1.6.1.10-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

pyiec61850_ng-1.6.1.10-cp311-cp311-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.11Windows x86-64

pyiec61850_ng-1.6.1.10-cp311-cp311-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.26+ x86-64manylinux: glibc 2.28+ x86-64

pyiec61850_ng-1.6.1.10-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

pyiec61850_ng-1.6.1.10-cp310-cp310-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.10Windows x86-64

pyiec61850_ng-1.6.1.10-cp310-cp310-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.26+ x86-64manylinux: glibc 2.28+ x86-64

pyiec61850_ng-1.6.1.10-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

pyiec61850_ng-1.6.1.10-cp39-cp39-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.9Windows x86-64

pyiec61850_ng-1.6.1.10-cp39-cp39-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.26+ x86-64manylinux: glibc 2.28+ x86-64

pyiec61850_ng-1.6.1.10-cp39-cp39-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

File details

Details for the file pyiec61850_ng-1.6.1.10-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for pyiec61850_ng-1.6.1.10-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 9ae75581f7dcc3ab8c6869ab8ac07d632f293ccd1f14635260a5425020721e61
MD5 c9be598a74da39f9e7608070325161e2
BLAKE2b-256 393328644eb663527472a6a4408dbd772a34acd59d3795aeb61618799a2271cb

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyiec61850_ng-1.6.1.10-cp314-cp314-win_amd64.whl:

Publisher: build-wheel.yml on f0rw4rd/pyiec61850-ng

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyiec61850_ng-1.6.1.10-cp314-cp314-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyiec61850_ng-1.6.1.10-cp314-cp314-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ee85b1fbed233b7879c231fecddb1135744492225711b1392ba8290d07ba87ae
MD5 844d9d8fbc16d37130030222a54d5b42
BLAKE2b-256 05ffe3d73eb7500e4d713c4576aa489cb71f3a3f5d3e786bb7031f8930012314

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyiec61850_ng-1.6.1.10-cp314-cp314-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build-wheel.yml on f0rw4rd/pyiec61850-ng

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyiec61850_ng-1.6.1.10-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyiec61850_ng-1.6.1.10-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 4bad2d1a4c9aad1359f37e637a2a95c7a3fd6eef867d4f0fc565321f9242a02a
MD5 95627aa313c3ed335dd9d5528905fe49
BLAKE2b-256 bd6fe6ffa2edfbfa23c6426fd04c631f0eab6ce86591d9de23e1376c70b921f4

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyiec61850_ng-1.6.1.10-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:

Publisher: build-wheel.yml on f0rw4rd/pyiec61850-ng

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyiec61850_ng-1.6.1.10-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for pyiec61850_ng-1.6.1.10-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 de2ca88ab22b6a3d859fb8986db9f123291be9f174628ca287b7ae8993a2396e
MD5 06be891d957379d9175368b374763d58
BLAKE2b-256 5d4da09c8a306e190a70738184cfa209e8bb268e9ce8a342b50ffe6549781919

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyiec61850_ng-1.6.1.10-cp313-cp313-win_amd64.whl:

Publisher: build-wheel.yml on f0rw4rd/pyiec61850-ng

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyiec61850_ng-1.6.1.10-cp313-cp313-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyiec61850_ng-1.6.1.10-cp313-cp313-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ab0bcd4c0d2627b717c01e89fba2c04e05223b79390354250212d9f70e961f07
MD5 8574968e114c36391ed394b5c086eb3f
BLAKE2b-256 e15724b6dd989cc66cbc5603a0326605e6cd9ea5923fbe5a20c30dbc241f97ef

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyiec61850_ng-1.6.1.10-cp313-cp313-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build-wheel.yml on f0rw4rd/pyiec61850-ng

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyiec61850_ng-1.6.1.10-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyiec61850_ng-1.6.1.10-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 077ca1dd2deb5032f196fee111e39f29eec0c4d2e60cc4d034d06f60679f062e
MD5 140434da34a877915a993cac72995dc7
BLAKE2b-256 512f0c276bf9b9a1b26e011db0d2a370299fae9b679b659fa84b74d711c55d81

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyiec61850_ng-1.6.1.10-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:

Publisher: build-wheel.yml on f0rw4rd/pyiec61850-ng

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyiec61850_ng-1.6.1.10-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for pyiec61850_ng-1.6.1.10-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 236a678c144a4241d41ce0c46da456f497a6fc48854aaa3150ea97d27f74cebf
MD5 ba24a8e29be235614ccd2a4cc092005c
BLAKE2b-256 3d0c5f329fee4b6f1c46a77355c30a8e23beb7ec792c54b71501b4f61dbe4da7

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyiec61850_ng-1.6.1.10-cp312-cp312-win_amd64.whl:

Publisher: build-wheel.yml on f0rw4rd/pyiec61850-ng

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyiec61850_ng-1.6.1.10-cp312-cp312-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyiec61850_ng-1.6.1.10-cp312-cp312-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 50e3225c2d2859191c81f59db69c39de74e2bec872ae0fb7a00144dccc3e07b0
MD5 8a369bf29a372983aa2ddcc1a77343bb
BLAKE2b-256 7949d9451a1ca1d402f6596c5d5e666b73c9fcde4c8333679c222a804e7ca7ae

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyiec61850_ng-1.6.1.10-cp312-cp312-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build-wheel.yml on f0rw4rd/pyiec61850-ng

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyiec61850_ng-1.6.1.10-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyiec61850_ng-1.6.1.10-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 3471a58972503da74d7db4296eceb435c17e1d2ec579fc8eb28f856e90712262
MD5 9377dff4d6dad9217391816454a0838a
BLAKE2b-256 3b94d1ff52ea848f9f67b0310e1ea35db452f0e35ec18f819f7c2654b3c8c996

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyiec61850_ng-1.6.1.10-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:

Publisher: build-wheel.yml on f0rw4rd/pyiec61850-ng

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyiec61850_ng-1.6.1.10-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for pyiec61850_ng-1.6.1.10-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 bb9b8a6ae2dc317848708d2c2a128f9b1c94bfd7c422c3cf6c9e5fc278ee7b25
MD5 f7c4e18263cc7ec86d6bb954f31fdd19
BLAKE2b-256 dfa48b0e86386d6746f2fada3d2ce07be97b3025080ea4050661ddf01f35240c

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyiec61850_ng-1.6.1.10-cp311-cp311-win_amd64.whl:

Publisher: build-wheel.yml on f0rw4rd/pyiec61850-ng

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyiec61850_ng-1.6.1.10-cp311-cp311-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyiec61850_ng-1.6.1.10-cp311-cp311-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ce2922847c924ec4a6a264a6febc2fced33fdd16de050b090becdfa7ff0808bc
MD5 2379ba1266facaddd92405b91eb2ec4f
BLAKE2b-256 1aeb2936520dbf5eeb1f8d0365ff84cd00a6a46f8180ec13b05db3f4726b65eb

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyiec61850_ng-1.6.1.10-cp311-cp311-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build-wheel.yml on f0rw4rd/pyiec61850-ng

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyiec61850_ng-1.6.1.10-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyiec61850_ng-1.6.1.10-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 1cd49509e59bee794c3ff53a09e6c1ecfebcf832fad7e4891d939e83fb8a0195
MD5 3f79004a89051cf99ee7f7bc6d76f635
BLAKE2b-256 7c1792573b9b8b368c9d5ee0c410f8bf4b4c63c3edff3811908d776402c1288a

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyiec61850_ng-1.6.1.10-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:

Publisher: build-wheel.yml on f0rw4rd/pyiec61850-ng

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyiec61850_ng-1.6.1.10-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for pyiec61850_ng-1.6.1.10-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 b41cba7fd0f25ae6bd02fe47c62e4f75f5d6863b48f6242325181d97443956fc
MD5 a909d2fbc22af93c29954776686e7b0f
BLAKE2b-256 69fb55a39bfc7f8094dadd8470e537dbf9ae35590c5df0ea690dfe8087c19df3

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyiec61850_ng-1.6.1.10-cp310-cp310-win_amd64.whl:

Publisher: build-wheel.yml on f0rw4rd/pyiec61850-ng

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyiec61850_ng-1.6.1.10-cp310-cp310-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyiec61850_ng-1.6.1.10-cp310-cp310-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1476ad3eb497688a6917734d821eddae31c59f7485554a1fde449cbdb216cdc8
MD5 a8305431e8083b8005efd4f8fce89350
BLAKE2b-256 631eb8ed7e09b6ccde14b137c868a42d36949f75fba963d5140de79af093ce23

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyiec61850_ng-1.6.1.10-cp310-cp310-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build-wheel.yml on f0rw4rd/pyiec61850-ng

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyiec61850_ng-1.6.1.10-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyiec61850_ng-1.6.1.10-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 6ac01f44c778ddd88cc10d0d7c1d9ee19cbc56ba190caccdde5e8d914a57320b
MD5 34b7c04476702d6260795c328147f55a
BLAKE2b-256 77843f07145b6cfc303493b3c5b031659f58458bd14ce2c040a8bee79d9d50aa

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyiec61850_ng-1.6.1.10-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:

Publisher: build-wheel.yml on f0rw4rd/pyiec61850-ng

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyiec61850_ng-1.6.1.10-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for pyiec61850_ng-1.6.1.10-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 2636a2af79b4e652246a1904f396ed941e983ce3b36962c4af1eaa2123572783
MD5 d69c716ce632f32da62e3ecb06636423
BLAKE2b-256 4ca0af7cb5a4ac3f3a67658dd1d5a59e2987ee76df014cbf78fc1c83affb3d5f

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyiec61850_ng-1.6.1.10-cp39-cp39-win_amd64.whl:

Publisher: build-wheel.yml on f0rw4rd/pyiec61850-ng

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyiec61850_ng-1.6.1.10-cp39-cp39-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyiec61850_ng-1.6.1.10-cp39-cp39-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e7a3969cd5103a5891009f016b54630ce3beb61e0bc879d56dead8079c3bac34
MD5 9d92333dfffb5820b461e91d84ecae86
BLAKE2b-256 4d68769bd66a61150782d4bb6e707d7d94a297ae7a9201ebd14123e84ce81849

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyiec61850_ng-1.6.1.10-cp39-cp39-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build-wheel.yml on f0rw4rd/pyiec61850-ng

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyiec61850_ng-1.6.1.10-cp39-cp39-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyiec61850_ng-1.6.1.10-cp39-cp39-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 9f4e0eb0fcda00d49d241d060a4a14985763711a88867d2317bd5af1b3c39bd4
MD5 e5b1d09a3830b2748acb87399e6d65ef
BLAKE2b-256 d4bffb5e5e165f6361a4f2a0360fcf0fa5bc88656c103c6ce52062ccde1938f5

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyiec61850_ng-1.6.1.10-cp39-cp39-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:

Publisher: build-wheel.yml on f0rw4rd/pyiec61850-ng

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

1.6.1.10 This release

18 files

1.6.1.9

12 files

1.6.1.8

12 files

1.6.1.7

12 files

1.6.1.4

12 files

1.6.1.3

12 files

1.6.1.2

7 files

1.6.1.1

7 files

1.6.1.0

7 files

1.6.0.14

7 files

1.6.0.13

7 files

1.6.0.12

7 files

1.6.0.11

7 files

1.6.0.10

7 files

1.6.0.9

1 file

1.6.0.8

7 files

1.6.0.7

6 files

1.6.0.6

6 files

1.6.0.5

7 files

1.6.0.4

6 files

1.6.0.3

1 file

1.6.0.2

6 files

1.6.0.1

6 files

1.6.0.0

6 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page