Puppet 语言标准(发行名 openpuppet-language)
An app is an agent. 本仓是 Puppet 语言标准的规范与参考实现:不含任何具体渲染实现, 不含 app 宿主。
| 目录 | 内容 |
|---|---|
spec/ |
人读规范(2.0 已冻结,当前 2.1 为兼容修订):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.1.2
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.1.2.tar.gz | 120.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| openpuppet_language-2.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 274.1 kB
Release files / openpuppet_language-2.1.2.tar.gz
| Download URL | openpuppet_language-2.1.2.tar.gz |
|---|---|
| Size | 120.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
41bada91f3b15c159e4c5a1e6d222ecfd52687a9e8bf808e8345a431ceb8fa17
|
|
BLAKE2b-256 checksum How to use checksums |
5738e488273b42de0e0b00ad98694ca159d7ff5c8eb46f7641622c3bc48cde38
|
| 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.1.2-py3-none-any.whl
| Download URL | openpuppet_language-2.1.2-py3-none-any.whl |
|---|---|
| Size | 153.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d172e01b0b0753b31785e6060f3c35ecac061fe4e839c3fc936ec983536f9e85
|
|
BLAKE2b-256 checksum How to use checksums |
4bf88e664c857513c800d9234473d2eaddf7f4c0ba3d53352b2dcce6d0a26170
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.3
|