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.

Metadata

Release files for pyiec61850-ng 1.6.1.10

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for pyiec61850-ng 1.6.1.10
File Actions
pyiec61850_ng-1.6.1.10-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details for pyiec61850_ng-1.6.1.10-cp314-cp314-win_amd64.whl
pyiec61850_ng-1.6.1.10-cp314-cp314-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64, Linux glibc 2.26+ x86-64 Details for pyiec61850_ng-1.6.1.10-cp314-cp314-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl
pyiec61850_ng-1.6.1.10-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details for pyiec61850_ng-1.6.1.10-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
pyiec61850_ng-1.6.1.10-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details for pyiec61850_ng-1.6.1.10-cp313-cp313-win_amd64.whl
pyiec61850_ng-1.6.1.10-cp313-cp313-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64, Linux glibc 2.26+ x86-64 Details for pyiec61850_ng-1.6.1.10-cp313-cp313-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl
pyiec61850_ng-1.6.1.10-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details for pyiec61850_ng-1.6.1.10-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
pyiec61850_ng-1.6.1.10-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details for pyiec61850_ng-1.6.1.10-cp312-cp312-win_amd64.whl
pyiec61850_ng-1.6.1.10-cp312-cp312-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.26+ x86-64, Linux glibc 2.28+ x86-64 Details for pyiec61850_ng-1.6.1.10-cp312-cp312-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl
pyiec61850_ng-1.6.1.10-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.26+ ARM64, Linux glibc 2.28+ ARM64 Details for pyiec61850_ng-1.6.1.10-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
pyiec61850_ng-1.6.1.10-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details for pyiec61850_ng-1.6.1.10-cp311-cp311-win_amd64.whl
pyiec61850_ng-1.6.1.10-cp311-cp311-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.26+ x86-64, Linux glibc 2.28+ x86-64 Details for pyiec61850_ng-1.6.1.10-cp311-cp311-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl
pyiec61850_ng-1.6.1.10-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.26+ ARM64, Linux glibc 2.28+ ARM64 Details for pyiec61850_ng-1.6.1.10-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
pyiec61850_ng-1.6.1.10-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details for pyiec61850_ng-1.6.1.10-cp310-cp310-win_amd64.whl
pyiec61850_ng-1.6.1.10-cp310-cp310-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64, Linux glibc 2.26+ x86-64 Details for pyiec61850_ng-1.6.1.10-cp310-cp310-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl
pyiec61850_ng-1.6.1.10-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details for pyiec61850_ng-1.6.1.10-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
pyiec61850_ng-1.6.1.10-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details for pyiec61850_ng-1.6.1.10-cp39-cp39-win_amd64.whl
pyiec61850_ng-1.6.1.10-cp39-cp39-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.28+ x86-64, Linux glibc 2.26+ x86-64 Details for pyiec61850_ng-1.6.1.10-cp39-cp39-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl
pyiec61850_ng-1.6.1.10-cp39-cp39-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.9 CPython 3.9 Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details for pyiec61850_ng-1.6.1.10-cp39-cp39-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Total release size: 22.8 MB

Release files / pyiec61850_ng-1.6.1.10-cp314-cp314-win_amd64.whl

Download URL pyiec61850_ng-1.6.1.10-cp314-cp314-win_amd64.whl
Size 1.2 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
9ae75581f7dcc3ab8c6869ab8ac07d632f293ccd1f14635260a5425020721e61
BLAKE2b-256 checksum
How to use checksums
393328644eb663527472a6a4408dbd772a34acd59d3795aeb61618799a2271cb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 19, 2026.

Transparency log

Release files / pyiec61850_ng-1.6.1.10-cp314-cp314-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl

Download URL pyiec61850_ng-1.6.1.10-cp314-cp314-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl
Size 1.4 MB
Tags CPython 3.14 Linux glibc 2.26+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
ee85b1fbed233b7879c231fecddb1135744492225711b1392ba8290d07ba87ae
BLAKE2b-256 checksum
How to use checksums
05ffe3d73eb7500e4d713c4576aa489cb71f3a3f5d3e786bb7031f8930012314
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 19, 2026.

Transparency log

Release files / pyiec61850_ng-1.6.1.10-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL pyiec61850_ng-1.6.1.10-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 1.3 MB
Tags CPython 3.14 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
4bad2d1a4c9aad1359f37e637a2a95c7a3fd6eef867d4f0fc565321f9242a02a
BLAKE2b-256 checksum
How to use checksums
bd6fe6ffa2edfbfa23c6426fd04c631f0eab6ce86591d9de23e1376c70b921f4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 19, 2026.

Transparency log

Release files / pyiec61850_ng-1.6.1.10-cp313-cp313-win_amd64.whl

Download URL pyiec61850_ng-1.6.1.10-cp313-cp313-win_amd64.whl
Size 1.1 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
de2ca88ab22b6a3d859fb8986db9f123291be9f174628ca287b7ae8993a2396e
BLAKE2b-256 checksum
How to use checksums
5d4da09c8a306e190a70738184cfa209e8bb268e9ce8a342b50ffe6549781919
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 19, 2026.

Transparency log

Release files / pyiec61850_ng-1.6.1.10-cp313-cp313-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl

Download URL pyiec61850_ng-1.6.1.10-cp313-cp313-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl
Size 1.4 MB
Tags CPython 3.13 Linux glibc 2.26+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
ab0bcd4c0d2627b717c01e89fba2c04e05223b79390354250212d9f70e961f07
BLAKE2b-256 checksum
How to use checksums
e15724b6dd989cc66cbc5603a0326605e6cd9ea5923fbe5a20c30dbc241f97ef
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 19, 2026.

Transparency log

Release files / pyiec61850_ng-1.6.1.10-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL pyiec61850_ng-1.6.1.10-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 1.3 MB
Tags CPython 3.13 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
077ca1dd2deb5032f196fee111e39f29eec0c4d2e60cc4d034d06f60679f062e
BLAKE2b-256 checksum
How to use checksums
512f0c276bf9b9a1b26e011db0d2a370299fae9b679b659fa84b74d711c55d81
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 19, 2026.

Transparency log

Release files / pyiec61850_ng-1.6.1.10-cp312-cp312-win_amd64.whl

Download URL pyiec61850_ng-1.6.1.10-cp312-cp312-win_amd64.whl
Size 1.1 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
236a678c144a4241d41ce0c46da456f497a6fc48854aaa3150ea97d27f74cebf
BLAKE2b-256 checksum
How to use checksums
3d0c5f329fee4b6f1c46a77355c30a8e23beb7ec792c54b71501b4f61dbe4da7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 19, 2026.

Transparency log

Release files / pyiec61850_ng-1.6.1.10-cp312-cp312-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl

Download URL pyiec61850_ng-1.6.1.10-cp312-cp312-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl
Size 1.4 MB
Tags CPython 3.12 Linux glibc 2.26+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
50e3225c2d2859191c81f59db69c39de74e2bec872ae0fb7a00144dccc3e07b0
BLAKE2b-256 checksum
How to use checksums
7949d9451a1ca1d402f6596c5d5e666b73c9fcde4c8333679c222a804e7ca7ae
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 19, 2026.

Transparency log

Release files / pyiec61850_ng-1.6.1.10-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL pyiec61850_ng-1.6.1.10-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 1.3 MB
Tags CPython 3.12 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
3471a58972503da74d7db4296eceb435c17e1d2ec579fc8eb28f856e90712262
BLAKE2b-256 checksum
How to use checksums
3b94d1ff52ea848f9f67b0310e1ea35db452f0e35ec18f819f7c2654b3c8c996
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 19, 2026.

Transparency log

Release files / pyiec61850_ng-1.6.1.10-cp311-cp311-win_amd64.whl

Download URL pyiec61850_ng-1.6.1.10-cp311-cp311-win_amd64.whl
Size 1.1 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
bb9b8a6ae2dc317848708d2c2a128f9b1c94bfd7c422c3cf6c9e5fc278ee7b25
BLAKE2b-256 checksum
How to use checksums
dfa48b0e86386d6746f2fada3d2ce07be97b3025080ea4050661ddf01f35240c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 19, 2026.

Transparency log

Release files / pyiec61850_ng-1.6.1.10-cp311-cp311-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl

Download URL pyiec61850_ng-1.6.1.10-cp311-cp311-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl
Size 1.4 MB
Tags CPython 3.11 Linux glibc 2.26+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
ce2922847c924ec4a6a264a6febc2fced33fdd16de050b090becdfa7ff0808bc
BLAKE2b-256 checksum
How to use checksums
1aeb2936520dbf5eeb1f8d0365ff84cd00a6a46f8180ec13b05db3f4726b65eb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 19, 2026.

Transparency log

Release files / pyiec61850_ng-1.6.1.10-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL pyiec61850_ng-1.6.1.10-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 1.3 MB
Tags CPython 3.11 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
1cd49509e59bee794c3ff53a09e6c1ecfebcf832fad7e4891d939e83fb8a0195
BLAKE2b-256 checksum
How to use checksums
7c1792573b9b8b368c9d5ee0c410f8bf4b4c63c3edff3811908d776402c1288a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 19, 2026.

Transparency log

Release files / pyiec61850_ng-1.6.1.10-cp310-cp310-win_amd64.whl

Download URL pyiec61850_ng-1.6.1.10-cp310-cp310-win_amd64.whl
Size 1.1 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
b41cba7fd0f25ae6bd02fe47c62e4f75f5d6863b48f6242325181d97443956fc
BLAKE2b-256 checksum
How to use checksums
69fb55a39bfc7f8094dadd8470e537dbf9ae35590c5df0ea690dfe8087c19df3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 19, 2026.

Transparency log

Release files / pyiec61850_ng-1.6.1.10-cp310-cp310-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl

Download URL pyiec61850_ng-1.6.1.10-cp310-cp310-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl
Size 1.4 MB
Tags CPython 3.10 Linux glibc 2.26+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
1476ad3eb497688a6917734d821eddae31c59f7485554a1fde449cbdb216cdc8
BLAKE2b-256 checksum
How to use checksums
631eb8ed7e09b6ccde14b137c868a42d36949f75fba963d5140de79af093ce23
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 19, 2026.

Transparency log

Release files / pyiec61850_ng-1.6.1.10-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL pyiec61850_ng-1.6.1.10-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 1.3 MB
Tags CPython 3.10 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
6ac01f44c778ddd88cc10d0d7c1d9ee19cbc56ba190caccdde5e8d914a57320b
BLAKE2b-256 checksum
How to use checksums
77843f07145b6cfc303493b3c5b031659f58458bd14ce2c040a8bee79d9d50aa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 19, 2026.

Transparency log

Release files / pyiec61850_ng-1.6.1.10-cp39-cp39-win_amd64.whl

Download URL pyiec61850_ng-1.6.1.10-cp39-cp39-win_amd64.whl
Size 1.1 MB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
2636a2af79b4e652246a1904f396ed941e983ce3b36962c4af1eaa2123572783
BLAKE2b-256 checksum
How to use checksums
4ca0af7cb5a4ac3f3a67658dd1d5a59e2987ee76df014cbf78fc1c83affb3d5f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 19, 2026.

Transparency log

Release files / pyiec61850_ng-1.6.1.10-cp39-cp39-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl

Download URL pyiec61850_ng-1.6.1.10-cp39-cp39-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl
Size 1.4 MB
Tags CPython 3.9 Linux glibc 2.26+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
e7a3969cd5103a5891009f016b54630ce3beb61e0bc879d56dead8079c3bac34
BLAKE2b-256 checksum
How to use checksums
4d68769bd66a61150782d4bb6e707d7d94a297ae7a9201ebd14123e84ce81849
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 19, 2026.

Transparency log

Release files / pyiec61850_ng-1.6.1.10-cp39-cp39-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL pyiec61850_ng-1.6.1.10-cp39-cp39-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 1.3 MB
Tags CPython 3.9 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
9f4e0eb0fcda00d49d241d060a4a14985763711a88867d2317bd5af1b3c39bd4
BLAKE2b-256 checksum
How to use checksums
d4bffb5e5e165f6361a4f2a0360fcf0fa5bc88656c103c6ce52062ccde1938f5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 19, 2026.

Transparency log

Security for pyiec61850-ng 1.6.1.10

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.

Full provenance

All 18 files in this release have been uploaded with provenance metadata.

Select from 18 files

Attestation for pyiec61850_ng-1.6.1.10-cp314-cp314-win_amd64.whl

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 19, 2026.

Transparency log

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.

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