Skip to main content

IEC 61850 client for Python, backed by rust_61850 (Rust core).

Project description

iec61850

IEC 61850 client for Python — async-first, type-hinted.

Status: early development (v0.1.x). Vertical slice currently supports:

  • TCP connect / disconnect with timeout
  • read_int32 / write_int32 over MMS
  • Typed exception hierarchy (IedError / IedConnectionError / IedTimeoutError / IedDataAccessError / IedServiceError / IedControlError)

Additional surface (read_bool, read_float, reporting, control, datasets, TLS, GOOSE / SV) is stubbed and will land per release.

Install

pip install iec61850

Requires Python 3.11+.

Platform support note (v0.1.x): only Windows x86_64 wheels are published. Linux / macOS support arrives in a later release.

Quick start

import asyncio
import iec61850

async def main():
    conn = await iec61850.IedConnection.connect("127.0.0.1:102", timeout_ms=5000)
    try:
        value = await conn.read_int32("simpleIOGenericIO/LLN0.Mod.stVal", iec61850.FC.ST)
        print("Mod.stVal =", value)
    finally:
        await conn.disconnect()

asyncio.run(main())

Error handling

try:
    conn = await iec61850.IedConnection.connect("10.0.0.1:102", timeout_ms=2000)
except iec61850.IedTimeoutError:
    ...   # 連線超時
except iec61850.IedConnectionError:
    ...   # TCP / OSI stack 失敗
except iec61850.IedError:
    ...   # 其他 IEC 61850 錯誤的 catch-all base

License

Apache-2.0

Project details


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.

iec61850-0.1.0-cp311-abi3-win_amd64.whl (418.8 kB view details)

Uploaded CPython 3.11+Windows x86-64

iec61850-0.1.0-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (464.3 kB view details)

Uploaded CPython 3.11+manylinux: glibc 2.17+ x86-64

File details

Details for the file iec61850-0.1.0-cp311-abi3-win_amd64.whl.

File metadata

  • Download URL: iec61850-0.1.0-cp311-abi3-win_amd64.whl
  • Upload date:
  • Size: 418.8 kB
  • Tags: CPython 3.11+, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for iec61850-0.1.0-cp311-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 43551b7c3505ea343de794b0e6990c93087365df4841416509aa929145bf60c1
MD5 e38614d3d4717034ffea3f5569227029
BLAKE2b-256 af490510a6a8bf620e054fa705d0d6d269965b9e5862f41e848b264bfda69220

See more details on using hashes here.

File details

Details for the file iec61850-0.1.0-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for iec61850-0.1.0-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 484d564c397d3002bfe66b8d879801a2a2a610a188135fb3f2fcd04c6d58e35e
MD5 aa72c4918c6d529af2a47fd48c1fcaf4
BLAKE2b-256 bae7877713c0e6019e8850e42ce5a32cbb74834c185cb3aea5e1716b8364e6fb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page