跳转到主要内容

Python封装的https://cuelang.org

项目描述

Go Reference Github GolangCI Go 1.14+ platforms

CUE数据约束语言

配置、统一、执行

CUE是一种开源的数据约束语言,旨在简化定义和使用数据相关的任务。

它是JSON的超集,允许熟悉JSON的用户快速入门。

它是用来做什么的?

您可以使用CUE来做以下事情:

  • 为您的数据定义详细的验证模式(手动或自动从数据中生成)
  • 减少数据中的模板代码(手动或自动从模式中生成)
  • 从代码中提取模式
  • 生成类型定义和验证代码
  • 以原则的方式合并JSON
  • 定义并运行声明性脚本

如何实现?

CUE将模式和数据的概念合并在一起。同一个CUE定义可以同时用于验证数据并作为模板来减少模板代码。模式定义通过细粒度的值定义和默认值得到丰富。同时,数据可以通过移除由这种详细定义暗示的值而简化。这两个概念的合并使得许多任务可以以原则的方式处理。

约束提供了一种简单、明确但功能强大的替代继承的方法,这是配置语言中常见的复杂性来源。

CUE脚本

CUE脚本层在数据之上定义了用CUE表达的声明性脚本。这解决了三个问题:解决CUE定义的封闭性(我们说CUE是密封的),提供一种轻松分享常用脚本和工作流程以使用数据的方法,以及让CUE了解数据的使用情况以优化验证。

存在许多工具可以解释数据或使用特定领域的专用语言(如Kustomize、Ksonnet)。这解决了处理数据的一个层面问题,但当在工作流程中集成其他系统时,该问题可能在更高层面上重复出现。CUE脚本是一种通用的脚本,允许用户定义任何工作流程。

工具

CUE是为自动化设计的。以下是其中的一些方面:

  • 转换现有的YAML和JSON
  • 自动简化配置
  • 为自动化工具设计的丰富API
  • 格式化工具
  • 任意精度算术
  • 从源代码生成CUE模板
  • 从CUE定义生成源代码(待办事项)

下载和安装

发布构建

从GitHub下载最新版本。

使用Homebrew安装

使用Homebrew,您可以使用CUE Homebrew tap进行安装

brew install cuelang/tap/cue

从源代码安装

如果您已经安装了Go,简短的版本是

GO111MODULE=on go get cuelang.org/go/cmd/cue

或者,如果您使用的是Go 1.16

go install cuelang.org/go/cmd/cue@latest

这将安装cue命令行工具。

有关更多详细信息,请参阅安装CUE

学习CUE

学习基础最快的方法是遵循基本语言结构的教程

关于如何转换和重构现有的Kubernetes配置的更详细教程以书面形式提供在此处

参考资料

贡献

我们的标准Git存储库位于https://cue.googlesource.com

要贡献,请阅读贡献指南

要报告问题或提出功能请求,请使用问题跟踪器

更改可以通过Gerrit或Github拉取请求进行贡献。

联系方式

您可以通过以下方式与cuelang社区取得联系:


除非另有说明,否则CUE源文件是根据LICENSE文件中找到的Apache 2.0许可证进行分发的。

这不是一个官方支持的谷歌产品。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分发

pycue-0.1.3.tar.gz (12.0 kB 查看散列)

上传 源代码

由以下支持