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
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.tar.gz | 115.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| openpuppet_language-2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 263.2 kB
Release files / openpuppet_language-2.1.tar.gz
| Download URL | openpuppet_language-2.1.tar.gz |
|---|---|
| Size | 115.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9a9b4997ed856066670984a54df41f4b20d2c22b8a6f3d0101761a62c4e11b6f
|
|
BLAKE2b-256 checksum How to use checksums |
2c67a8044b150d31c3eba844348a4115969aee313a2e3c5fc5c0b000b68bb009
|
| 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-py3-none-any.whl
| Download URL | openpuppet_language-2.1-py3-none-any.whl |
|---|---|
| Size | 147.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
413400dffe1ac821bd84a6b98a4758e7753f0de987a9a76b30cf68210c0fa541
|
|
BLAKE2b-256 checksum How to use checksums |
87086bc4ccf02445eb8e081378c6082f4726a500ad8483270266d7d9c660e733
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.3
|