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

Python Enhancement Proposals

Appendix: JSON Schema for Core Metadata

  1{
  2  "$schema": "https://json-schema.org/draft/2020-12/schema",
  3  "$id": "https://peps.python.org/pep-0819/core-metadata.schema.json",
  4  "title": "Python Packaging Core Metadata",
  5  "description": "Core metadata for Python packages",
  6  "type": "object",
  7  "properties": {
  8    "metadata_version": {
  9      "type": "string",
 10      "pattern": "^(\\d+(\\.\\d+)*)$",
 11      "description": "The version of the file format."
 12    },
 13    "name": {
 14      "type": "string",
 15      "pattern": "^([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9._-]*[A-Za-z0-9])$",
 16      "description": "The name of the distribution."
 17    },
 18    "version": {
 19      "type": "string",
 20      "pattern": "^v?([0-9]+!)?[0-9]+(\\.[0-9]+)*([-_\\.]?(alpha|a|beta|b|preview|pre|c|rc)[-_\\.]?[0-9]+)?((-[0-9]+)|([-_\\.]?(post|rev|r)[-_\\.]?[0-9]+))?([-_\\.]?dev[-_\\.]?[0-9]+)?$",
 21      "description": "The distribution's version number."
 22    },
 23    "dynamic": {
 24      "type": "array",
 25      "items": {
 26        "type": "string",
 27        "enum": [
 28          "platform",
 29          "supported_platform",
 30          "summary",
 31          "description",
 32          "description_content_type",
 33          "keywords",
 34          "author",
 35          "author_email",
 36          "maintainer",
 37          "maintainer_email",
 38          "license",
 39          "license_expression",
 40          "license_file",
 41          "classifier",
 42          "requires_dist",
 43          "requires_python",
 44          "requires_external",
 45          "project_url",
 46          "provides_extra",
 47          "import_name",
 48          "import_namespace",
 49          "provides_dist",
 50          "obsoletes_dist",
 51          "home_page",
 52          "download_url",
 53          "requires",
 54          "provides",
 55          "obsoletes"
 56        ]
 57      },
 58      "description": "A list of core metadata fields that are dynamicly calculated."
 59    },
 60    "platform": {
 61      "type": "array",
 62      "items": {
 63        "type": "string"
 64      },
 65      "description": "The platforms supported by the distribution."
 66    },
 67    "supported_platform": {
 68      "type": "array",
 69      "items": {
 70        "type": "string"
 71      },
 72      "description": "The platforms for which a binary distribution was compiled."
 73    },
 74    "summary": {
 75      "type": "string",
 76      "description": "A one-line summary of about the distribution."
 77    },
 78    "description": {
 79      "type": "string",
 80      "description": "A longer description of the distribution that can run to several paragraphs."
 81    },
 82    "description_content_type": {
 83      "type": "string",
 84      "description": "The content type of the description. In the same format as the HTTP Content-Type header field."
 85    },
 86    "keywords": {
 87      "type": "array",
 88      "items": {
 89        "type": "string"
 90      },
 91      "description": "Keywords describing the distribution."
 92    },
 93    "author": {
 94      "type": "string",
 95      "description": "The name of the author of the distribution. Additional contact information may be provided."
 96    },
 97    "author_email": {
 98      "type": "string",
 99      "description": "The email address of the author or maintainer. It can contain a name and email address in the legal forms for a RFC 822 ``From:`` header."
100    },
101    "maintainer": {
102      "type": "string",
103      "description": "The name of the maintainer. Additional contact information may be provided."
104    },
105    "maintainer_email": {
106      "type": "string",
107      "description": "The email address of the maintainer. It can contain a name and email address in the legal forms for a RFC 822 ``From:`` header."
108    },
109    "license": {
110      "type": "string",
111      "description": "Text indicating the license covering the distribution where the license is not a selection from the “License” Trove classifiers.",
112      "deprecated": true
113    },
114    "license_expression": {
115      "type": "string",
116      "description": "A valid SPDX license expression indicating the license covering the distribution."
117    },
118    "license_file": {
119      "type": "array",
120      "items": {
121        "type": "string"
122      },
123      "description": "Paths to license files relative to the project root directory."
124    },
125    "classifier": {
126      "type": "array",
127      "items": {
128        "type": "string"
129      },
130      "description": "A list of Trove classifiers that describe the nature of the distribution."
131    },
132    "requires_dist": {
133      "type": "array",
134      "items": {
135        "type": "string"
136      },
137      "description": "A list of projects required by the distribution."
138    },
139    "requires_python": {
140      "type": "string",
141      "description": "The Python version for which the distribution is intended."
142    },
143    "requires_external": {
144      "type": "array",
145      "items": {
146        "type": "string"
147      },
148      "description": "A list of external dependencies required by the distribution."
149    },
150    "project_url": {
151      "type": "array",
152      "items": {
153        "type": "object",
154        "properties": {
155          "label": {
156            "type": "string",
157            "description": "The label for the project URL.",
158            "pattern": "^.{1,32}$"
159          },
160          "url": {
161            "type": "string",
162            "description": "The URL for the project URL."
163          }
164        },
165        "additionalProperties": false
166      },
167      "description": "A mapping of arbitrary text labels to additional URLs relevant to the project."
168    },
169    "provides_extra": {
170      "type": "array",
171      "items": {
172        "type": "string",
173        "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$"
174      },
175      "description": "A list of optional features provided by the distribution."
176    },
177    "import_name": {
178      "type": "array",
179      "items": {
180        "type": "string"
181      },
182      "description": "A list of exclusive import names provided by the distribution."
183    },
184    "import_namespace": {
185      "type": "array",
186      "items": {
187        "type": "string"
188      },
189      "description": "A list of exclusive import namespaces provided by the distribution."
190    },
191    "provides_dist": {
192      "type": "array",
193      "items": {
194        "type": "string"
195      },
196      "description": "A list of project names provided by the distribution."
197    },
198    "obsoletes_dist": {
199      "type": "array",
200      "items": {
201        "type": "string"
202      },
203      "description": "A list of project names that are obsoleted by the distribution."
204    },
205    "home_page": {
206      "type": "string",
207      "description": "The home page of the project.",
208      "deprecated": true
209    },
210    "download_url": {
211      "type": "string",
212      "description": "The URL for the distribution's download page.",
213      "deprecated": true
214    },
215    "requires": {
216      "type": "array",
217      "items": {
218        "type": "string"
219      },
220      "description": "A list of projects required by the distribution.",
221      "deprecated": true
222    },
223    "provides": {
224      "type": "array",
225      "items": {
226        "type": "string"
227      },
228      "description": "A list of projects provided by the distribution.",
229      "deprecated": true
230    },
231    "obsoletes": {
232      "type": "array",
233      "items": {
234        "type": "string"
235      },
236      "description": "A list of projects that are obsoleted by the distribution.",
237      "deprecated": true
238    }
239  }
240}

Appendix: JSON Schema for Wheel Metadata

 1{
 2  "$schema": "https://json-schema.org/draft/2020-12/schema",
 3  "$id": "https://peps.python.org/pep-0819/wheel.schema.json",
 4  "title": "Wheel Metadata",
 5  "description": "Metadata for the wheel file format.",
 6  "type": "object",
 7  "properties": {
 8    "wheel_version": {
 9      "type": "string",
10      "pattern": "^(\\d+(\\.\\d+)*)$",
11      "description": "The version of the wheel file format."
12    },
13    "generator": {
14      "type": "string",
15      "description": "The name and version of the tool that generated the wheel."
16    },
17    "root_is_purelib": {
18      "type": "boolean",
19      "description": "Whether the root of the archive should be installed into purelib."
20    },
21    "tag": {
22      "type": "array",
23      "items": {
24        "type": "string",
25        "description": "The wheel's expanded compatibility tags."
26      }
27    },
28    "build": {
29      "type": "string",
30      "description": "The build tag of the wheel."
31    }
32  },
33  "required": [
34    "wheel_version",
35    "generator",
36    "root_is_purelib",
37    "tag"
38  ]
39}