Following system colour scheme Selected dark colour scheme Selected light colour scheme

Python Enhancement Proposals

Appendix: JSON Schema for Variant Metadata

Appendix: JSON Schema for Variant Metadata

 1{
 2  "$schema": "https://json-schema.org/draft/2020-12/schema",
 3  "$id": "https://variants-schema.wheelnext.dev/peps/825/v0.1.1.json",
 4  "title": "Variant metadata, v0.1.1",
 5  "description": "The format for variant metadata (variant.json) and index-level metadata ({name}-{version}-variants.json)",
 6  "type": "object",
 7  "properties": {
 8    "$schema": {
 9      "description": "JSON schema URL",
10      "type": "string"
11    },
12    "default-priorities": {
13      "description": "Default priorities for ordering variants",
14      "type": "object",
15      "properties": {
16        "namespace": {
17          "description": "Namespaces (in order of preference)",
18          "type": "array",
19          "items": {
20            "type": "string",
21            "pattern": "^[a-z0-9_]+$"
22          },
23          "minItems": 1,
24          "uniqueItems": true
25        }
26      },
27      "additionalProperties": false,
28      "uniqueItems": true,
29      "required": [
30        "namespace"
31      ]
32    },
33    "variants": {
34      "description": "Mapping of variant labels to properties",
35      "type": "object",
36      "patternProperties": {
37        "^[a-z0-9_.]{1,16}$": {
38          "type": "object",
39          "description": "Mapping of namespaces in a variant",
40          "patternProperties": {
41            "^[a-z0-9_.]+$": {
42              "description": "Mapping of feature names in a namespace",
43              "patternProperties": {
44                "^[a-z0-9_.]+$": {
45                  "description": "List of values for this variant feature",
46                  "type": "array",
47                  "items": {
48                    "type": "string",
49                    "pattern": "^[a-z0-9_.]+$"
50                  },
51                  "minItems": 1,
52                  "uniqueItems": true
53                }
54              },
55              "uniqueItems": true,
56              "additionalProperties": false
57            }
58          },
59          "uniqueItems": true,
60          "additionalProperties": false
61        }
62      },
63      "additionalProperties": false,
64      "uniqueItems": true
65    }
66  },
67  "required": [
68    "$schema",
69    "default-priorities",
70    "variants"
71  ],
72  "additionalProperties": false,
73  "uniqueItems": true
74}