Skip to main content

A Cython Modbus TCP client with heartbeat and multi-connection management.

Project description

modbus-tcp-cython

一个 Cython 实现的 Modbus TCP 客户端模块。

支持:

  • Modbus TCP MBAP 组包和响应解析
  • 读保持寄存器,功能码 03
  • 读输入寄存器,功能码 04
  • 写单个保持寄存器,功能码 06
  • 写多个保持寄存器,功能码 10
  • 自定义 PDU 请求
  • 普通请求失败后自动重连重试
  • 后台心跳和自动重连
  • 多连接管理

安装

本地源码安装:

python -m pip install -U pip setuptools wheel Cython
python -m pip install .

强制重新安装本地源码:

python -m pip install --force-reinstall --no-build-isolation .

基本用法

from modbus_tcp import ModbusTcpClient

client = ModbusTcpClient(
    "192.168.180.18",
    26,
    timeout=5.0,
    debug=True,
    request_retries=1,
    request_retry_delay=0.2,
)

try:
    client.connect()
    values = client.read_holding_registers(
        unit_id=3,
        start_address=2,
        quantity=1,
    )
    print(values)
finally:
    client.close()

ModbusTcpClient

构造函数:

ModbusTcpClient(
    host,
    port=502,
    timeout=5.0,
    debug=False,
    request_retries=1,
    request_retry_delay=0.2,
)

参数:

  • host:Modbus TCP 服务端 IP
  • port:Modbus TCP 服务端端口,标准端口通常是 502
  • timeout:socket 连接和读写超时时间,单位秒
  • debug:是否打印 TX hex / RX hex
  • request_retries:普通请求失败后的自动重试次数,默认 1
  • request_retry_delay:重连后再次发送前的等待时间,单位秒

常用状态:

client.host
client.port
client.timeout
client.debug
client.is_connected
client.request_retries
client.request_retry_delay

连接管理

client.connect()

建立 TCP 连接。如果已经连接,会直接返回。

client.close()

关闭 TCP 连接,并停止心跳线程。

普通请求自动重连重试

普通读写请求默认支持自动重连重试。

流程:

发送请求
读取响应
如果超时或 socket 错误
关闭旧 socket
重新 connect
等待 request_retry_delay
重发请求
仍失败才抛异常

关闭自动重试:

client = ModbusTcpClient(
    "192.168.180.18",
    26,
    request_retries=0,
)

增加重试次数:

client = ModbusTcpClient(
    "192.168.180.18",
    26,
    request_retries=2,
    request_retry_delay=0.5,
)

注意:读请求重试通常安全。写请求如果设备已经执行但响应丢失,重试可能造成重复写入或重复动作。

读保持寄存器 03

values = client.read_holding_registers(
    unit_id=3,
    start_address=2,
    quantity=1,
)

对应 PDU:

03 00 02 00 01

返回:

[396]

读输入寄存器 04

values = client.read_input_registers(
    unit_id=3,
    start_address=0,
    quantity=2,
)

对应 PDU:

04 00 00 00 02

返回:

[123, 456]

写单个保持寄存器 06

value = client.write_single_register(
    unit_id=3,
    address=0x0006,
    value=20,
)

对应 PDU:

06 00 06 00 14

成功时返回写入值:

20

写多个保持寄存器 10

count = client.write_multiple_registers(
    unit_id=3,
    start_address=0x0010,
    values=[1, 2, 3],
)

成功时返回写入寄存器数量:

3

自定义 PDU

厂家自定义报文可以直接发送 PDU:

response_pdu = client.request_pdu(
    unit_id=0xFF,
    pdu=bytes.fromhex("03 00 70 00 00"),
)

例如 RTU 文档写:

FF 03 00 70 00 00 CRC_L CRC_H

Modbus TCP 侧只需要传:

unit_id = FF
pdu     = 03 00 70 00 00

网关会把 TCP 的 Unit ID 转成 RTU 地址码,并自动补 RTU CRC。

心跳

启动后台心跳:

client.start_heartbeat(
    unit_id=3,
    address=2,
    quantity=1,
    interval=10.0,
    max_failures=3,
    reconnect_attempts=3,
    reconnect_delay=2.0,
)

心跳会定时读取一个寄存器。连续失败达到 max_failures 后,会自动关闭连接并重连。

停止心跳:

client.stop_heartbeat()

查看心跳状态:

client.is_heartbeat_running()

如果心跳读取的是输入寄存器:

client.start_heartbeat(
    unit_id=3,
    address=0,
    quantity=1,
    use_input_registers=True,
)

多连接管理

from modbus_tcp import ModbusTcpManager

with ModbusTcpManager() as manager:
    manager.add_client(
        name="alarm_1",
        host="192.168.180.18",
        port=26,
        unit_id=3,
        timeout=5.0,
        debug=True,
        request_retries=1,
        request_retry_delay=0.2,
        heartbeat_address=2,
        heartbeat_interval=5.0,
        start_heartbeat=True,
    )

    values = manager.read_holding_registers(
        "alarm_1",
        start_address=2,
        quantity=1,
    )
    print(values)

ModbusTcpManager 常用接口

注册一路连接:

manager.add_client(
    name,
    host,
    port=502,
    unit_id=1,
    timeout=5.0,
    debug=False,
    request_retries=1,
    request_retry_delay=0.2,
    heartbeat_address=0,
    heartbeat_quantity=1,
    heartbeat_interval=10.0,
    heartbeat_max_failures=3,
    reconnect_attempts=3,
    reconnect_delay=2.0,
    use_input_registers=False,
    autoconnect=False,
    start_heartbeat=False,
)

连接管理:

manager.connect(name)
manager.close(name)
manager.connect_all()
manager.close_all()
manager.remove_client(name)

心跳管理:

manager.start_heartbeat(name)
manager.stop_heartbeat(name)
manager.start_all(connect=True, heartbeat=True)
manager.stop_all_heartbeats()

状态查询:

states = manager.states()

返回示例:

{
    "alarm_1": {
        "connected": True,
        "heartbeat_running": True,
    }
}

按连接名读写:

manager.read_holding_registers("alarm_1", 2, 1)
manager.read_input_registers("alarm_1", 0, 2)
manager.write_single_register("alarm_1", 0x0006, 20)
manager.write_multiple_registers("alarm_1", 0x0010, [1, 2, 3])
manager.request_pdu("alarm_1", bytes.fromhex("03 00 70 00 00"), unit_id=0xFF)

如果调用时不传 unit_id,会使用 add_client() 注册时配置的默认 unit_id

多路 Modbus TCP 转 RTU 网关

对于多路网关:

IP + TCP 端口 选择哪一路串口
Unit ID       选择这一路串口下面哪个 RTU 从站

例如:

192.168.180.18:5550 + Unit ID 1 -> HC0 串口上的 1 号从站
192.168.180.18:5551 + Unit ID 3 -> HC1 串口上的 3 号从站

异常

模块异常类:

from modbus_tcp import ModbusTcpError

示例:

try:
    client.read_holding_registers(3, 2, 1)
except ModbusTcpError as exc:
    print(exc)

常见异常:

  • modbus exception: function=0x83 code=0x02
  • connection closed by remote
  • transaction id mismatch
  • unit id mismatch
  • invalid byte count

调试建议

  1. 开启 debug=True 查看 TX hexRX hex
  2. 偶发超时时,优先调整 timeoutrequest_retriesrequest_retry_delay
  3. 后端是 RTU 网关时,轮询间隔不要太短。
  4. 同一个网关端口通常只允许一个 TCP 客户端连接。
  5. 如果同时启用心跳和业务轮询,注意串口总线压力。

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

modbus_tcp_cython-0.1.2.tar.gz (19.2 kB view details)

Uploaded Source

Built Distributions

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

modbus_tcp_cython-0.1.2-cp314-cp314-win_amd64.whl (94.3 kB view details)

Uploaded CPython 3.14Windows x86-64

modbus_tcp_cython-0.1.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (761.5 kB view details)

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

modbus_tcp_cython-0.1.2-cp314-cp314-macosx_11_0_arm64.whl (114.3 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

modbus_tcp_cython-0.1.2-cp314-cp314-macosx_10_15_x86_64.whl (119.0 kB view details)

Uploaded CPython 3.14macOS 10.15+ x86-64

modbus_tcp_cython-0.1.2-cp313-cp313-win_amd64.whl (92.6 kB view details)

Uploaded CPython 3.13Windows x86-64

modbus_tcp_cython-0.1.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (772.7 kB view details)

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

modbus_tcp_cython-0.1.2-cp313-cp313-macosx_11_0_arm64.whl (113.3 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

modbus_tcp_cython-0.1.2-cp313-cp313-macosx_10_13_x86_64.whl (118.2 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

modbus_tcp_cython-0.1.2-cp312-cp312-win_amd64.whl (92.7 kB view details)

Uploaded CPython 3.12Windows x86-64

modbus_tcp_cython-0.1.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (777.7 kB view details)

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

modbus_tcp_cython-0.1.2-cp312-cp312-macosx_11_0_arm64.whl (114.4 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

modbus_tcp_cython-0.1.2-cp312-cp312-macosx_10_13_x86_64.whl (119.3 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

modbus_tcp_cython-0.1.2-cp311-cp311-win_amd64.whl (94.6 kB view details)

Uploaded CPython 3.11Windows x86-64

modbus_tcp_cython-0.1.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (804.0 kB view details)

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

modbus_tcp_cython-0.1.2-cp311-cp311-macosx_11_0_arm64.whl (116.7 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

modbus_tcp_cython-0.1.2-cp311-cp311-macosx_10_9_x86_64.whl (122.1 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

File details

Details for the file modbus_tcp_cython-0.1.2.tar.gz.

File metadata

  • Download URL: modbus_tcp_cython-0.1.2.tar.gz
  • Upload date:
  • Size: 19.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for modbus_tcp_cython-0.1.2.tar.gz
Algorithm Hash digest
SHA256 1ec9e6d274ee156d38ba503744cc84ac07cfb205570782bbe0153833efa06886
MD5 72b72de14e46788e959e0a786d1a748e
BLAKE2b-256 f9765ca2d8f5e16fb4705394548d3d65d0a12ac532f18015505f3a41523f24d4

See more details on using hashes here.

Provenance

The following attestation bundles were made for modbus_tcp_cython-0.1.2.tar.gz:

Publisher: wheels.yml on wangzihao223/modbus_tcp

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

File details

Details for the file modbus_tcp_cython-0.1.2-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for modbus_tcp_cython-0.1.2-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 354ce05e05e6636f4fe24d9949bece098aba025d3eb8bfcac7f1841d14e1de9f
MD5 e474710fccd9a14ef6a6b9a48495e42b
BLAKE2b-256 f503c6f1f4a59b2b753d3a9ec612db592b28133282a6fba5ab4da315b5d22f23

See more details on using hashes here.

Provenance

The following attestation bundles were made for modbus_tcp_cython-0.1.2-cp314-cp314-win_amd64.whl:

Publisher: wheels.yml on wangzihao223/modbus_tcp

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

File details

Details for the file modbus_tcp_cython-0.1.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for modbus_tcp_cython-0.1.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3d4888ce56397df827597d583acd46bdbd69b931ea6cba280adf22e43e4977c1
MD5 5f24cbb1d6dd4f56c954504bcb7961c5
BLAKE2b-256 54318f6ed9b71cea897a84d071ac6723cfbf0aba84955d08109768f3503eadcd

See more details on using hashes here.

Provenance

The following attestation bundles were made for modbus_tcp_cython-0.1.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on wangzihao223/modbus_tcp

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

File details

Details for the file modbus_tcp_cython-0.1.2-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for modbus_tcp_cython-0.1.2-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4359fc2eb671415c0b4f676d2b0b7ce97b588605336fb2c5be5a65c3f80d266a
MD5 2ccd23b119d1355b425b14c057319c12
BLAKE2b-256 793409c0aea89eb56a1a02825bb8684c6ce507095c3f2756af160bfe48c03d46

See more details on using hashes here.

Provenance

The following attestation bundles were made for modbus_tcp_cython-0.1.2-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: wheels.yml on wangzihao223/modbus_tcp

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

File details

Details for the file modbus_tcp_cython-0.1.2-cp314-cp314-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for modbus_tcp_cython-0.1.2-cp314-cp314-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 b7e6b1f2a6b7ca87eb2025bb10c2bdecaf55dbd971f304ed0810dbec58360a01
MD5 e4e8875b71aba92b7743b88396aa29d4
BLAKE2b-256 8a8d055611a4f90ed4b7b2bcef8b0868f2763cef8d1341cc29f7e178bab6cfcf

See more details on using hashes here.

Provenance

The following attestation bundles were made for modbus_tcp_cython-0.1.2-cp314-cp314-macosx_10_15_x86_64.whl:

Publisher: wheels.yml on wangzihao223/modbus_tcp

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

File details

Details for the file modbus_tcp_cython-0.1.2-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for modbus_tcp_cython-0.1.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 e0c92e0acf904d941e03315b6a6c0962cfc9b13a7833c971841604a66e09d1f3
MD5 0909e12789e994ed8d3c1a8f908e447e
BLAKE2b-256 75909ceedb4a95e77d28c208848a0380aede007ab1af71b38371ee19969bc2e8

See more details on using hashes here.

Provenance

The following attestation bundles were made for modbus_tcp_cython-0.1.2-cp313-cp313-win_amd64.whl:

Publisher: wheels.yml on wangzihao223/modbus_tcp

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

File details

Details for the file modbus_tcp_cython-0.1.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for modbus_tcp_cython-0.1.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 094ebda64fe8d5f27b6f96920ca42fa4d7c9d610efb847b85f5daa4eca08c62a
MD5 240d4975b07abea6b6c55725d2db6f63
BLAKE2b-256 81adbc145eeebcbe66781608f55de4f9f68babf75833eb0be83723a38efbd33e

See more details on using hashes here.

Provenance

The following attestation bundles were made for modbus_tcp_cython-0.1.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on wangzihao223/modbus_tcp

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

File details

Details for the file modbus_tcp_cython-0.1.2-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for modbus_tcp_cython-0.1.2-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 63dc44e484eba6d62f41be48540da9057af8dede7613f8aac809e296a2962c09
MD5 44b1b838f1efe8aad4b2a8700af4fbb0
BLAKE2b-256 610162125d5a63fb02716abaf0ba8a16c33ee8e0c430330eb497c7a510f19e17

See more details on using hashes here.

Provenance

The following attestation bundles were made for modbus_tcp_cython-0.1.2-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: wheels.yml on wangzihao223/modbus_tcp

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

File details

Details for the file modbus_tcp_cython-0.1.2-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for modbus_tcp_cython-0.1.2-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 9af088431cbee90a776fbc5c823ec71b04b2c224620d361b8738dd0eb1785296
MD5 770e5db015bc4d1dde4ea90f7a8c807a
BLAKE2b-256 7f00514599cf83040606b48896e1f2068904eaeaa1636c9211c035142c58d5ce

See more details on using hashes here.

Provenance

The following attestation bundles were made for modbus_tcp_cython-0.1.2-cp313-cp313-macosx_10_13_x86_64.whl:

Publisher: wheels.yml on wangzihao223/modbus_tcp

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

File details

Details for the file modbus_tcp_cython-0.1.2-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for modbus_tcp_cython-0.1.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 d05f2938b84b45850e6008d7b4802f658c14bcd5128c0624d0da7726e29ee670
MD5 5981f84842ed8e9d5daaf62ca0fe3c8e
BLAKE2b-256 035ec30073070df3a7bf0b1889f0b63b91348f7f231d895f3b9a1679fd95d3eb

See more details on using hashes here.

Provenance

The following attestation bundles were made for modbus_tcp_cython-0.1.2-cp312-cp312-win_amd64.whl:

Publisher: wheels.yml on wangzihao223/modbus_tcp

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

File details

Details for the file modbus_tcp_cython-0.1.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for modbus_tcp_cython-0.1.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e6b188e0cf4ad2164a55664a7d4ebcaca5e9621fa8a2548f3c91d63297effbc2
MD5 84792c0ddf3b49c3b8d8a7b6a62c0b7c
BLAKE2b-256 b04751e89855f9a54b5ba4a33428ff995d54c0cd0b0feba1b3f966f3a0a8f0ed

See more details on using hashes here.

Provenance

The following attestation bundles were made for modbus_tcp_cython-0.1.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on wangzihao223/modbus_tcp

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

File details

Details for the file modbus_tcp_cython-0.1.2-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for modbus_tcp_cython-0.1.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 524879097c62cb09a779d40082b028e5d9a29f7bec6a617d998b7e569b290bdb
MD5 2fe8eb2cfc370aaf1d3c4e677dbce970
BLAKE2b-256 17ba622092a7baea397a919f70499a0f52b5761182869a5caacc7216b280bfb5

See more details on using hashes here.

Provenance

The following attestation bundles were made for modbus_tcp_cython-0.1.2-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: wheels.yml on wangzihao223/modbus_tcp

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

File details

Details for the file modbus_tcp_cython-0.1.2-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for modbus_tcp_cython-0.1.2-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 dcda11f3ee40d7f0360acf6d7dc7906c32040f6d684b28b6a67ec417cb0fef54
MD5 e86a28a35af687f3a7e0f14b6f0cfa5e
BLAKE2b-256 42fa2bf55a9bc6cf11867fc086bfbc07c46185c938e382f1ffe717914a377c85

See more details on using hashes here.

Provenance

The following attestation bundles were made for modbus_tcp_cython-0.1.2-cp312-cp312-macosx_10_13_x86_64.whl:

Publisher: wheels.yml on wangzihao223/modbus_tcp

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

File details

Details for the file modbus_tcp_cython-0.1.2-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for modbus_tcp_cython-0.1.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 eb99983d06fc1e274467d4d11a3d25b4fe9e7db6bb09514a92cd4925bc2e6426
MD5 b9d91ebe77275da0841312780526deb8
BLAKE2b-256 9015213f9c7b3ba07a740ed881fe7e0d38c4346266b21b7b414ba1ffec46deeb

See more details on using hashes here.

Provenance

The following attestation bundles were made for modbus_tcp_cython-0.1.2-cp311-cp311-win_amd64.whl:

Publisher: wheels.yml on wangzihao223/modbus_tcp

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

File details

Details for the file modbus_tcp_cython-0.1.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for modbus_tcp_cython-0.1.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 cc40916d79174d35cc4cd899f4ec2b3c13086eb5cf0f6e04d19d2a8f8554bc0f
MD5 42e8fa8906d57f94c31d75ca8fb9b552
BLAKE2b-256 a1c1aff4551cce2ec63471099c74eb60f94fc3d3516b73810fba25ed678dd8bd

See more details on using hashes here.

Provenance

The following attestation bundles were made for modbus_tcp_cython-0.1.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on wangzihao223/modbus_tcp

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

File details

Details for the file modbus_tcp_cython-0.1.2-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for modbus_tcp_cython-0.1.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d70593c465e40cc662f242ea68743f665ccae086e152da85be59f988621d3465
MD5 37209219c911445f46e90d10abdb08ef
BLAKE2b-256 0e8a43ef8c6bbd1dd1264c75dc2e81bc04a8a2f6c39483bd55d5c083fce66ea2

See more details on using hashes here.

Provenance

The following attestation bundles were made for modbus_tcp_cython-0.1.2-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: wheels.yml on wangzihao223/modbus_tcp

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

File details

Details for the file modbus_tcp_cython-0.1.2-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for modbus_tcp_cython-0.1.2-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 c5bc1f49dea12ebb552cf2b35590484f21978cbe908f637ccbafa689d119b370
MD5 6e95c1ede0c66f2518e34424501a6ac8
BLAKE2b-256 3e3f8bd689a425744f7f6a30e7841271e61b7df82bd5bce0fee97b3b8a49af98

See more details on using hashes here.

Provenance

The following attestation bundles were made for modbus_tcp_cython-0.1.2-cp311-cp311-macosx_10_9_x86_64.whl:

Publisher: wheels.yml on wangzihao223/modbus_tcp

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

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