Puppet 语言标准(发行名 openpuppet-language)
An app is an agent. 本仓是 Puppet 语言标准的规范与参考实现:不含任何具体渲染实现, 不含 app 宿主。
| 目录 | 内容 |
|---|---|
spec/ |
人读规范(2.0,已冻结):01 词法语法 / 02 IR / 03 执行语义 / 04 词汇 / 05 渲染契约 / 06 诊断 |
conformance/ |
可执行用例集:随发行包分发,任意实现用它自证合规 |
puppet/ |
参考实现(零第三方依赖):词法、IR、引擎、协议适配器、Tk 渲染器 |
docs/design-v2-draft.md |
设计草案:决定"为什么" |
examples/ |
真实示例程序(puppet validate examples --strict 零诊断) |
安装
pip install openpuppet-language
Tk 参考渲染器(puppet conformance --tk,真实几何)需要 Tcl/Tk:
Debian/Ubuntu 需 apt install python3-tk。
命令
| 命令 | 作用 |
|---|---|
puppet spec |
规范版本与位置 |
puppet validate <路径> |
静态校验 .puppet 文件或目录(--strict:有任何诊断即失败) |
puppet conformance |
跑合规用例集(--tk 改用 Tk 渲染器;--filter <子串> 过滤) |
只想校验用例文件本身、不需要任何实现:
python conformance/runner.py --check
参与
- 用例与实现都以
spec/为准:conformance 用例从规范写,不移植旧测试。 - 杜绝静默失败:任何降级、丢弃、未实现都必须产生诊断或观察事件。
- 渲染器按能力声明行事:启动握手(
hello)声明支持范围,未声明支持的词汇被使用时 必须产生DEGRADED_FEATURE——标准不靠信任,靠用例抓。
Metadata
Release files for openpuppet-language 2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| openpuppet_language-2.0.tar.gz | 95.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| openpuppet_language-2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 216.1 kB
Release files / openpuppet_language-2.0.tar.gz
| Download URL | openpuppet_language-2.0.tar.gz |
|---|---|
| Size | 95.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1b28876017614fe79e37df56fd066ea51e43ede8db75fc1488874a5d6acffa60
|
|
BLAKE2b-256 checksum How to use checksums |
7aa715f392bcd2a33e750d984e023c18b26ce8ef2a7577d4e233ac27fff8e30a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.3
|
Release files / openpuppet_language-2.0-py3-none-any.whl
| Download URL | openpuppet_language-2.0-py3-none-any.whl |
|---|---|
| Size | 121.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2d4b60debebf969684d728538de0a92b50e61db9c21c5220d71666e7312df077
|
|
BLAKE2b-256 checksum How to use checksums |
f84491d0a9ba01b3c342e97b3574ae9ab9a880521ba5654940177bca52207ddf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.3
|