Skip to main content

PLCopen motion control kernel — Python simulation facade

Project description

plcopen

现代 C++ 的 PLCopen 运动控制内核 + IEC 61131-3 ST 运行时——嵌入你的控制器,或垫在你的学习栈下面。

A modern C++ motion-control core with PLCopen-style function blocks and a deterministic IEC 61131-3 ST runtime. Embed it in your controller — or put it under your learning stack.

License Windows CI Linux CI C++17

项目现状看一页就够:STATUS.md · 术语表:CONTEXT.md · 行为边界:已知边界注册表 · 商用八项:证据总账

当前发布候选:v0.20.0。 Windows、Linux、Wheels、Nightly、Coverage、 Mutation 与 Docs 发布门禁已全部通过;PyPI Trusted Publisher 与 GitHub pypi environment 已配置,正式发布等待授权 tag。版本内容见 v0.20.0 发布记录,操作步骤见 发布检查单


这是什么

plcopen 是一个 C++17 header-only 运动控制内核:实时基础设施、 时间最优 OTG 与前瞻规划、轴与组状态机、PLCopen 风格功能块,以及 IEC 61131-3 ST 编译器 + 确定性字节码 VM,分层放在 core/ (依赖只向内;周期路径零分配/零锁/无异常)。它是可嵌入的库, 不是完整 PLC 运行时;同一套应用代码从仿真(ServoSim/pyplcopen) 到真机零修改,同一段轨迹逐位可回放——确定性不是形容词,是门禁。

两类人适合它:

  • 工业设备/机器人控制器的 C++ 开发者——需要标准运动语义 (PTP/直线/圆弧/blending/前瞻/齿轮凸轮/坐标系/kinematics/回零/ 轨迹流)而不想绑死一个平台;
  • 具身智能与机器人生态的建造者(LeRobot/VLA 一系)——学习策略 输出意图,谁把它变成平滑、受限、可复现的关节轨迹?plcopen 的定位 是学习栈下面的工业级确定性执行底座(串行总线舵机 adapter 纯软件协议层已交付,真机验证仍待硬件;方向见 具身智能战略)。

不适合你,如果你要:PLC 编程 IDE 与图形语言编辑器(看 Beremiz)、 IEC 61131-3 全语言成熟编译器(看 MatIEC——我们的 ST 层是运动导向 声明集,L0-L7 与 L∀ 已闭合,但不宣称覆盖完整 IEC 平台)、入门教学 PLC(看 OpenPLC)、 商业整机平台(CODESYS / TwinCAT)。定位对比见 VISION.md


全景进度

以下是当前能力快照,不等同于“商用级”完成度。详细现状以 STATUS.md 为准,当前承诺与顺序以 ROADMAP.md 为准,完整剩余依赖见主计划

领域 状态 当前结论
v0.20.0 发布候选 🟢 已验证 七组发布门禁全绿;版本、CHANGELOG、C++/Python 包元数据已对齐,尚未打 tag 或正式发布
新核重写 R0-R4 ✅ 完成 core/ 已成为默认消费面,旧线进入 P0-only 冻结期
Phase B 纯软件 ✅ 完成 坐标系、运动学、轨迹流、cam、前瞻、适配器骨架全部落地
核心算法 🟢 主体完成 jerk-limited OTG、固定时长求解、TOPP、oracle、周期执行均已实现
PLCopen Part 1 🟡 软件合同闭合 43/43 有门面,C4 已关闭 D-01~D-20;正式 B/E/V 声明与认证未完成
PLCopen Part 4 🟡 门面齐全 68/68 有同名门面;C3/C6 已完成,接口与 E/O 级边界仍逐项登记,不宣称合规
PLCopen Part 5 🟡 软件合同闭合 C5 已关闭 11/11 标准 FB 与 45 B + 102 E 软件声明;真机与认证证据仍独立
PLCopen Part 6 ⛔ 未解锁 等流体动力行业真实需求
ST 语言层 ✅ 声明集闭合 L0-L7、L∀ 已完成;134 个 FB、1476 个 pin,feature-set pending=0
Python/文档/包 🟢 发布前置完成 文档站和三平台 wheel 已有;PyPI publisher/environment 已配置,等待授权 tag 发布
EtherCAT 🔴 未开工 最大剩余软件块,也是实时台架和实际部署的前置
真机/人形/孪生 🟠 设计或局部实现 Feetech 纯软件层完成;真机、MuJoCo、完整 H/F/T 轨尚未闭环
用户采纳 🔴 尚未形成 灯塔用户、现场案例、外部贡献者和有效下载信号仍不足
商用认证 🔴 未启动 PLCopen membership、提交、审核均未开始

快速开始

git clone https://github.com/lusipad/plcopen.git
cd plcopen

# Windows(详见 BUILD_README.md)
.\build.ps1 -Test

# 跨平台(默认只构建新核 core/)
cmake -S . -B build -DPLCOPEN_BUILD_TESTS=ON
cmake --build build --config Release
ctest --test-dir build --build-config Release --output-on-failure

最简单轴示例与组/圆弧/blending 示例见 core/demo/;下游 CMake 消费 (find_package / FetchContent)见 BUILD_README.md

十分钟上手:Python 驱动一条关节目标流(B9)

机器人模式最小闭环——上层 100Hz 发目标,库内在线滤波升频到周期级, 断流自动受控停:

import math, pyplcopen

axis = pyplcopen.AxisSim()
axis.power_on()
axis.stream_engage(0.5, 0.05, 0.01, timeout_cycles=30, extrapolation_cycles=40)

for k in range(200):                                  # 100Hz 生产者 × 1kHz 周期
    axis.stream_push(0.3 * math.sin(0.02 * k), axis.stream_now() + 1)
    axis.cycle(10)

axis.cycle(400)                                       # 断流 → 看门狗受控停
assert axis.stream_mode() == "stopped"
axis.stream_disengage()

安装 Python 绑定(需要 C++17 编译器 + CMake ≥ 3.21):

pip install .          # 从仓库源码构建安装

更多用法(单轴/流/位姿/凸轮/SI 单位转换)见 Python 上手指南。ST 语言层用法见 core/st/README.md(容错前端、指令预算看门狗、 跨平台字节码锚点哈希)。


架构一图

  your C++ app / IEC 61131-3 ST program        VLA / LeRobot / teleop
              | MC_* function blocks                | trajectory stream
              v                                     v
+------------------------------- plcopen --------------------------------+
| planning domain  ==>  committed trajectory ring  ==>  RT domain        |
| lookahead, blending,   (depth H: slow planning        pop ONE frame    |
| kinematics; may alloc, only shrinks lookahead         per tick; O(1),  |
| own planning thread    depth, never RT timing)        0-alloc @ 1 kHz  |
+-----------------------------------+------------------------------------+
                                    v  Servo narrow interface (ADR-0004)
  EtherCAT / CiA402 (fieldbus repo)  |  Feetech STS protocol (S2 done) |  ServoSim twin

规划慢只会缩短前瞻深度,永远不碰 RT 周期——运动平滑由构造保证, 不靠预算自觉(ADR-0007 双域模型)。内核按 L0 rt → L1 otg → L2 geom → L3 plan → L4 exec → L5 axis → L6 fb → L7 adapters 分层,依赖只向内,L0-L4 不含任何 PLCopen 语义; st 语言层与 adapters 平行位于外圈。结构/运行时/生态三张全图见 doc/design/core/architecture.md, 分层纪律见 2026-07 架构体检 (零违规);旧 src/ v0.x 线已冻结为回放/迁移基线 (-DPLCOPEN_BUILD_LEGACY=ON)。


合规:我们把审计挂在明面上

"支持 PLCopen"谁都能写,我们选择公开逐条对照:Part 1 的 43/43 门面 已落地,C4 已关闭 D-01~D-20 生命周期缺口;Part 4 有 68/68 同名门面, Part 5 已关闭 11/11 标准 FB 与 45 B + 102 E 机读声明。正式 B/E/V 供应商 声明、部分 Part 4 E/O 字段、真机证据与 PLCopen 认证仍未完成,逐项状态 登记在条款矩阵能力对等矩阵全量审计不宣称尚未验证的合规——这比一枚"兼容"徽章更值得信。


文档地图

想知道…
现在能干什么、进行到哪 STATUS.md
术语什么意思 CONTEXT.md
"做到"的定义(normative 规格) doc/compliance/(矩阵 + 已知边界
为什么这样设计 doc/design/(架构 + ADR)
接下来做什么 ROADMAP.md · doc/planning/
长期方向与战略 VISION.md · 具身智能战略
怎么构建 BUILD_README.md · BUILD_LINUX.md
从 v0.x 迁移 doc/migration-v0-to-v1.md
生产集成与运维 文档站生产指南 · 运维手册
版本变化 CHANGELOG.md
v0.20.0 对使用者意味着什么 正式发布记录
v0.20.0 怎么发布、还缺什么 发布检查单
AI/人协作规范与工程技能 CLAUDE.md · AGENTS.md · .claude/skills/

贡献 · 历史 · 许可

  • 贡献:bug 修复/测试/文档随时 PR;路线内条目看 ROADMAP.md; 路线外能力先看 VISION.md 解锁条件。问题走 Issues,讨论走 Discussions
  • 历史:fork 自 i5cnc(已停维护),保留运动 控制核心并按 PLCopen 标准重写;出处纪律见 PROVENANCE.md
  • 许可:Apache License 2.0。致谢:IEC 61131-3、PLCopen 组织、 i5cnc 原始项目与工业自动化开源社区。

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

pyplcopen-0.20.0.tar.gz (9.6 MB view details)

Uploaded Source

Built Distributions

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

pyplcopen-0.20.0-cp313-cp313-win_amd64.whl (413.0 kB view details)

Uploaded CPython 3.13Windows x86-64

pyplcopen-0.20.0-cp313-cp313-win32.whl (386.6 kB view details)

Uploaded CPython 3.13Windows x86

pyplcopen-0.20.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (258.5 kB view details)

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

pyplcopen-0.20.0-cp313-cp313-macosx_11_0_arm64.whl (201.8 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

pyplcopen-0.20.0-cp313-cp313-macosx_10_13_x86_64.whl (224.4 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

pyplcopen-0.20.0-cp312-cp312-win_amd64.whl (412.9 kB view details)

Uploaded CPython 3.12Windows x86-64

pyplcopen-0.20.0-cp312-cp312-win32.whl (386.6 kB view details)

Uploaded CPython 3.12Windows x86

pyplcopen-0.20.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (258.5 kB view details)

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

pyplcopen-0.20.0-cp312-cp312-macosx_11_0_arm64.whl (201.7 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

pyplcopen-0.20.0-cp312-cp312-macosx_10_13_x86_64.whl (224.4 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

pyplcopen-0.20.0-cp311-cp311-win_amd64.whl (410.6 kB view details)

Uploaded CPython 3.11Windows x86-64

pyplcopen-0.20.0-cp311-cp311-win32.whl (386.0 kB view details)

Uploaded CPython 3.11Windows x86

pyplcopen-0.20.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (256.3 kB view details)

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

pyplcopen-0.20.0-cp311-cp311-macosx_11_0_arm64.whl (201.6 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

pyplcopen-0.20.0-cp311-cp311-macosx_10_9_x86_64.whl (223.8 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

pyplcopen-0.20.0-cp310-cp310-win_amd64.whl (409.6 kB view details)

Uploaded CPython 3.10Windows x86-64

pyplcopen-0.20.0-cp310-cp310-win32.whl (384.9 kB view details)

Uploaded CPython 3.10Windows x86

pyplcopen-0.20.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (255.4 kB view details)

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

pyplcopen-0.20.0-cp310-cp310-macosx_11_0_arm64.whl (200.4 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

pyplcopen-0.20.0-cp310-cp310-macosx_10_9_x86_64.whl (222.5 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

File details

Details for the file pyplcopen-0.20.0.tar.gz.

File metadata

  • Download URL: pyplcopen-0.20.0.tar.gz
  • Upload date:
  • Size: 9.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for pyplcopen-0.20.0.tar.gz
Algorithm Hash digest
SHA256 bff49b1dd22b444f7f188c830e330e8f50a2f20fe1ea3e62b946335deb2a4af1
MD5 5712b7058718307ddea438277d5bc52b
BLAKE2b-256 5881c809120c8a5c9741841eb8f4e603e4d9068faa9b57dbab8fdc45d999b4c2

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyplcopen-0.20.0.tar.gz:

Publisher: wheels.yml on lusipad/plcopen

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

File details

Details for the file pyplcopen-0.20.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: pyplcopen-0.20.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 413.0 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for pyplcopen-0.20.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 fa49e0379d655e7e9ad16263484eee80c3dab8670c28cc437c03ff0ebe45707c
MD5 6c4888873379d1d81e2a7f67b032953c
BLAKE2b-256 1f2c93764f4b2796ab6d745cbaa55816f817a8717cab9c4de3e31619d7dd6aed

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyplcopen-0.20.0-cp313-cp313-win_amd64.whl:

Publisher: wheels.yml on lusipad/plcopen

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

File details

Details for the file pyplcopen-0.20.0-cp313-cp313-win32.whl.

File metadata

  • Download URL: pyplcopen-0.20.0-cp313-cp313-win32.whl
  • Upload date:
  • Size: 386.6 kB
  • Tags: CPython 3.13, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for pyplcopen-0.20.0-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 bf7de4d35a7741bf6bf187d9743c1561ac437710e9c242b8b2df1faafe23c1c2
MD5 55695770583539058d63dd18ebebfaf6
BLAKE2b-256 b3a6718ebbf494ca0d726bea262af2977220b819102605b9673e0e13689168b7

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyplcopen-0.20.0-cp313-cp313-win32.whl:

Publisher: wheels.yml on lusipad/plcopen

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

File details

Details for the file pyplcopen-0.20.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyplcopen-0.20.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 583bf30c87cf3e689a5138467110df1b4b760737092e5027bb0450cae1af8f02
MD5 18013236f0c80b648ef72752d02f98cf
BLAKE2b-256 5a78d50967aaf652bf87755132a9df747f58a715cc5ab9adc3cab2554e4f704c

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyplcopen-0.20.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on lusipad/plcopen

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

File details

Details for the file pyplcopen-0.20.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyplcopen-0.20.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4ef88fb68621ad821af043c4fe7bc876c6e146fe28e4abff39a95958e3f0d416
MD5 ce7ec8a26722ecd59b2cea115b568aa9
BLAKE2b-256 722c6897b53fd47281b2f059d6171fb7524229f9a29163d5272c7ec00b5886e9

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyplcopen-0.20.0-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: wheels.yml on lusipad/plcopen

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

File details

Details for the file pyplcopen-0.20.0-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for pyplcopen-0.20.0-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 e46f1d1575555960f5ad5a163f94de3c6f1bada4e8b5d34873c8b3a8e97970d4
MD5 f14c811bfe79fc9e6f1b49227b7df0c1
BLAKE2b-256 d2a2b4d5c1d2429eab59728ff31ff5b61783c917664b3ff8e58154badcdcab78

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyplcopen-0.20.0-cp313-cp313-macosx_10_13_x86_64.whl:

Publisher: wheels.yml on lusipad/plcopen

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

File details

Details for the file pyplcopen-0.20.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: pyplcopen-0.20.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 412.9 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for pyplcopen-0.20.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 541629df88ab0ed5590d4130a2bfc8acb80c4d52757ce72d42006aee9628429c
MD5 1b65b31d4abd3c4ec23204c535d412d0
BLAKE2b-256 630c60974db5855a53a68eb5e2304505552e4bb266fecb8aca05c31b4498ade5

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyplcopen-0.20.0-cp312-cp312-win_amd64.whl:

Publisher: wheels.yml on lusipad/plcopen

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

File details

Details for the file pyplcopen-0.20.0-cp312-cp312-win32.whl.

File metadata

  • Download URL: pyplcopen-0.20.0-cp312-cp312-win32.whl
  • Upload date:
  • Size: 386.6 kB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for pyplcopen-0.20.0-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 bc349fd3a6940dd18149e0396636a3c12aa64c468448791deb15782c9c97bd2e
MD5 2f0548f2462699d90a00f23abc2eb660
BLAKE2b-256 86ce3d50803939361e22ea56b782a0e5df4e13c9ccc8c0cf5a05e40d859feb4c

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyplcopen-0.20.0-cp312-cp312-win32.whl:

Publisher: wheels.yml on lusipad/plcopen

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

File details

Details for the file pyplcopen-0.20.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyplcopen-0.20.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 23d2a64895f30370d8a1b55c0ec27edf48d91d014bceb897162c41dffbfbf1ca
MD5 bed3b4864ff0990d0e0a784ef19ca0a1
BLAKE2b-256 78b35f5cd1569b786babca463b53180f28c8e0208bec76f1eaf542c7fb1c28ea

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyplcopen-0.20.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on lusipad/plcopen

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

File details

Details for the file pyplcopen-0.20.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyplcopen-0.20.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9866c0781b81267a7b06fc592c16e5a57f555114172160d4f937cfd2c1fb5f9e
MD5 dd5311fc25b90e280d053511d17d582b
BLAKE2b-256 24b0f39bab8bd47329aaf998949fe533fc2f7439438a2922bb7f1e8c88f1cceb

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyplcopen-0.20.0-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: wheels.yml on lusipad/plcopen

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

File details

Details for the file pyplcopen-0.20.0-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for pyplcopen-0.20.0-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 8ff7977e4cca18da13d5c79eb938b746e1a1c56d5e15bd9e188824bc247b620a
MD5 11bc573195d1c33bf28aecdfb5f5d900
BLAKE2b-256 3c96724f35c3e3e2114e183501e93e9d9780f3b23c9794f7b21d4acc2aee47ea

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyplcopen-0.20.0-cp312-cp312-macosx_10_13_x86_64.whl:

Publisher: wheels.yml on lusipad/plcopen

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

File details

Details for the file pyplcopen-0.20.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: pyplcopen-0.20.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 410.6 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for pyplcopen-0.20.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 83cfeb217ad1d3eb50e1da73e6df27a1cb2a8b1d5e4223a644ae8d7ac9e6a2b3
MD5 7d1ab639ff3f7dfd3d9085e1d719a40f
BLAKE2b-256 aad658fcf78810461dee088795189a426389e13d7ccb206d0313ecbb888ce138

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyplcopen-0.20.0-cp311-cp311-win_amd64.whl:

Publisher: wheels.yml on lusipad/plcopen

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

File details

Details for the file pyplcopen-0.20.0-cp311-cp311-win32.whl.

File metadata

  • Download URL: pyplcopen-0.20.0-cp311-cp311-win32.whl
  • Upload date:
  • Size: 386.0 kB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for pyplcopen-0.20.0-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 a6ee02c06eb8225119f2011f6b25c56c5b7cb7018d08aec6fc12a249bd52f5a4
MD5 86ef51f33070c073733a272cae9287f5
BLAKE2b-256 0a8c7e376428049041533de31a31b22dc4bfa0e2cabf9695775ee2b02daefebc

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyplcopen-0.20.0-cp311-cp311-win32.whl:

Publisher: wheels.yml on lusipad/plcopen

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

File details

Details for the file pyplcopen-0.20.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyplcopen-0.20.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ff1602463adff6b8230d1e885599bdc1a494060843604ff2bb6ffceafe94e26a
MD5 0f84efda5748506e0513107cc9a0f023
BLAKE2b-256 ce6399385d0f920b049c2462f0a0bb1fecfb4b195357472273d91d97ac668b4c

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyplcopen-0.20.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on lusipad/plcopen

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

File details

Details for the file pyplcopen-0.20.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyplcopen-0.20.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 96b7f0350039ed805c53d7be47c4a787319877a52c1e4dace2ac04da46b7ab40
MD5 7b8048ad5d88fa340c50581c77d2440b
BLAKE2b-256 9ef8ffe3843f644c9cadcfe708f5b707736f510a1d79e353a10f42eff45f6dd9

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyplcopen-0.20.0-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: wheels.yml on lusipad/plcopen

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

File details

Details for the file pyplcopen-0.20.0-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pyplcopen-0.20.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 0cb5a234ba7780a9cbd11c5fe614d046eb3b80f08694b29600ae9038cf657b34
MD5 50314af434e3da97102dcd4d4840bafe
BLAKE2b-256 c80b281efdcd57e5acce262d9b311bbe9b3819af1b223eed4502b86092b276cb

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyplcopen-0.20.0-cp311-cp311-macosx_10_9_x86_64.whl:

Publisher: wheels.yml on lusipad/plcopen

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

File details

Details for the file pyplcopen-0.20.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: pyplcopen-0.20.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 409.6 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for pyplcopen-0.20.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 e504e711555c419a0f1d84e178e591da2cc4a54970d8ae30f1a2a6d23f31f25b
MD5 2e5bb69ad61d2ad48390eea20f121c2b
BLAKE2b-256 627a15634535df1542f0035d0ec37678bc4312d1d997e36282f125c0deb65c3f

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyplcopen-0.20.0-cp310-cp310-win_amd64.whl:

Publisher: wheels.yml on lusipad/plcopen

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

File details

Details for the file pyplcopen-0.20.0-cp310-cp310-win32.whl.

File metadata

  • Download URL: pyplcopen-0.20.0-cp310-cp310-win32.whl
  • Upload date:
  • Size: 384.9 kB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for pyplcopen-0.20.0-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 0d5c65bd3e377e3133e07b955c011b2cfe2cb180c97d89956bcf2bc986018464
MD5 f7da433483578591d361ce9158973448
BLAKE2b-256 bbf9fc74b39c50a6cb0e86b2770d00bbc2311d403d86abf7115fbeb6808fa462

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyplcopen-0.20.0-cp310-cp310-win32.whl:

Publisher: wheels.yml on lusipad/plcopen

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

File details

Details for the file pyplcopen-0.20.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyplcopen-0.20.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 85af61fb96be85dfc9109d56c0f33724a441f034688df145b33821839478b0b6
MD5 da447177cab8ac5f36ec75bfb13447b4
BLAKE2b-256 b2f6493c97b5a6fb54cdf192909a4de48d544584a82b40f16f2003c5c671a363

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyplcopen-0.20.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on lusipad/plcopen

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

File details

Details for the file pyplcopen-0.20.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyplcopen-0.20.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 014f3808f81cab6cdb7514a47e9d380907b8025f073f3627b931322e49a13c8a
MD5 bd79a1eef30dd01d0e71a6e6b7d68237
BLAKE2b-256 d2254c661a092d7b448c6f2837e9aef405fd3ec2926821a2fb04d8e730e76c31

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyplcopen-0.20.0-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: wheels.yml on lusipad/plcopen

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

File details

Details for the file pyplcopen-0.20.0-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pyplcopen-0.20.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 530ae7ec5a3120912b567131e34465c8a6ec026f4bb82321b4dcc595ee7961f6
MD5 5ed1dbc7552d11f37a446592e1fe074d
BLAKE2b-256 b231e2bf5dd9991730d330b2e0d639c92f1a91da185d1e7719f308db3808f537

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyplcopen-0.20.0-cp310-cp310-macosx_10_9_x86_64.whl:

Publisher: wheels.yml on lusipad/plcopen

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