winnow是一个基于json模式的库,用于发布和操作产品系列。
winnow的Python项目详细描述
#winnow
winnow是用于发布可配置产品系列的json交换格式。它有几个不同的部分:
+一组用于描述产品和相关信息的文档的json模式。
+一个用于定义产品中的配置选项集的模式。
+一组用于操作带有选项的文档的基本逻辑操作。
+一个实现这些功能的python库操作
要编写和发布Winnow文档,在定义Winnow文档的构造方式时,可以使用前两个操作。要对Winnow文档应用逻辑操作并对其进行操作,您需要了解Winnow的操作以及实现这些操作的库。
资源文档具有某些功能:它们可以在文档本身定义的永久URL中被发现;它们有版本控制并使用语义版本号;这些版本本身是可发现的,资源可以从同一类型的其他资源继承。
winnow中当前定义了八种资源类型。按照链接查看它们的完整描述。
+[*range*](docs/range.md)-具有共同作者身份的相关设计集合
+[*design*](docs/design.md)-设计
+[*product*](docs/product.md)-由一组常用选项定义的设计版本系列
+[*fileset*](docs/fileset.md)-一组用于使产品系列的所有或子集
+*完成*-由一组材料和过程定义的产品完成
+*材料*-材料
+*过程*-应用于材料
+*上下文的过程*-用于筛选或扩展产品选项的选项集合
winnow还定义了两个文档类型不是命名的资源,但在处理过程中创建为中间文件:
+*choice*
+*quantified廑configuration*
\validation
。在winnow.schemata中,有json模式可用于验证winnow文档。这可以使用[json schema.org]提供的工具(http://json schema.org/implementations.html)来完成,也可以使用winnow的python库来完成,比如:
``python
with open(filepath,“r”)作为f:
doc=json.loads(f.read())
winnow.validate(doc)
`````
``options
某些winnow文档具有顶级的“options```属性”。此对象通过定义产品的一组可能配置(例如可用颜色或大小)来描述相关的产品系列。
``json
{
“options”:{
“colour”:[“red”,“blue”,“green”],
“size”:[“big”,“small”,
“wheels”:[4,6]
}
…
}
```
这描述了一个玩具的产品系列,该玩具有三种颜色,两种尺寸,可以有四个或六个轮子。winnow提供了定义这些选项的json语言和一组操作它们的操作。
帮助处理Winnow文档的操作。
++*add-doc*
++*允许*
++*合并*
+*范围*
+*默认选择*
+*量化*
+*过滤允许*
+*过滤允许*过滤允许*过滤允许*过滤允许*过滤允许*过滤允许*过滤允许*过滤允许*过滤允许*过滤允许*过滤允许*过滤允许*过滤允许*过滤允许*过滤允许*过滤允许*过滤允许*过滤允许*过滤允许*过滤允许*过滤允许*过滤允许*过滤允许*过滤允许*过滤允许*过滤允许*过滤允许*过滤允许*过滤允许*过滤允许*过滤允许*过滤允许*过滤允许*过滤允许*过滤允许*过滤*过滤允许*过滤允许*过滤允许*过滤*过滤允许*过滤*过滤*过滤;库
winnow是用于发布可配置产品系列的json交换格式。它有几个不同的部分:
+一组用于描述产品和相关信息的文档的json模式。
+一个用于定义产品中的配置选项集的模式。
+一组用于操作带有选项的文档的基本逻辑操作。
+一个实现这些功能的python库操作
要编写和发布Winnow文档,在定义Winnow文档的构造方式时,可以使用前两个操作。要对Winnow文档应用逻辑操作并对其进行操作,您需要了解Winnow的操作以及实现这些操作的库。
资源文档具有某些功能:它们可以在文档本身定义的永久URL中被发现;它们有版本控制并使用语义版本号;这些版本本身是可发现的,资源可以从同一类型的其他资源继承。
winnow中当前定义了八种资源类型。按照链接查看它们的完整描述。
+[*range*](docs/range.md)-具有共同作者身份的相关设计集合
+[*design*](docs/design.md)-设计
+[*product*](docs/product.md)-由一组常用选项定义的设计版本系列
+[*fileset*](docs/fileset.md)-一组用于使产品系列的所有或子集
+*完成*-由一组材料和过程定义的产品完成
+*材料*-材料
+*过程*-应用于材料
+*上下文的过程*-用于筛选或扩展产品选项的选项集合
winnow还定义了两个文档类型不是命名的资源,但在处理过程中创建为中间文件:
+*choice*
+*quantified廑configuration*
\validation
。在winnow.schemata中,有json模式可用于验证winnow文档。这可以使用[json schema.org]提供的工具(http://json schema.org/implementations.html)来完成,也可以使用winnow的python库来完成,比如:
``python
with open(filepath,“r”)作为f:
doc=json.loads(f.read())
winnow.validate(doc)
`````
``options
某些winnow文档具有顶级的“options```属性”。此对象通过定义产品的一组可能配置(例如可用颜色或大小)来描述相关的产品系列。
``json
{
“options”:{
“colour”:[“red”,“blue”,“green”],
“size”:[“big”,“small”,
“wheels”:[4,6]
}
…
}
```
这描述了一个玩具的产品系列,该玩具有三种颜色,两种尺寸,可以有四个或六个轮子。winnow提供了定义这些选项的json语言和一组操作它们的操作。
帮助处理Winnow文档的操作。
++*add-doc*
++*允许*
++*合并*
+*范围*
+*默认选择*
+*量化*
+*过滤允许*
+*过滤允许*过滤允许*过滤允许*过滤允许*过滤允许*过滤允许*过滤允许*过滤允许*过滤允许*过滤允许*过滤允许*过滤允许*过滤允许*过滤允许*过滤允许*过滤允许*过滤允许*过滤允许*过滤允许*过滤允许*过滤允许*过滤允许*过滤允许*过滤允许*过滤允许*过滤允许*过滤允许*过滤允许*过滤允许*过滤允许*过滤允许*过滤允许*过滤允许*过滤允许*过滤允许*过滤*过滤允许*过滤允许*过滤允许*过滤*过滤允许*过滤*过滤*过滤;库