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-9999/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}