245 lines
8.1 KiB
JSON
245 lines
8.1 KiB
JSON
{
|
|
"id": "http://www.python.org/dev/peps/pep-0426/",
|
|
"$schema": "http://json-schema.org/draft-04/schema#",
|
|
"title": "Metadata for Python Software Packages 2.0",
|
|
"type": "object",
|
|
"properties": {
|
|
"metadata_version": {
|
|
"description": "Version of the file format",
|
|
"type": "string",
|
|
"pattern": "^(\\d+(\\.\\d+)*)$"
|
|
},
|
|
"name": {
|
|
"description": "The name of the distribution.",
|
|
"type": "string",
|
|
"pattern": "^[0-9A-Za-z]([0-9A-Za-z_.-]*[0-9A-Za-z])?$"
|
|
},
|
|
"version": {
|
|
"description": "The distribution's public version identifier",
|
|
"type": "string",
|
|
"pattern": "^(\\d+(\\.\\d+)*)((a|b|c|rc)(\\d+))?(\\.(post)(\\d+))?(\\.(dev)(\\d+))?$"
|
|
},
|
|
"source_label": {
|
|
"description": "A constrained identifying text string",
|
|
"type": "string",
|
|
"pattern": "^[0-9a-z_.-+]+$"
|
|
},
|
|
"source_url": {
|
|
"description": "A string containing a full URL where the source for this specific version of the distribution can be downloaded.",
|
|
"type": "string",
|
|
"format": "uri"
|
|
},
|
|
"summary": {
|
|
"description": "A one-line summary of what the distribution does.",
|
|
"type": "string"
|
|
},
|
|
"document_names": {
|
|
"description": "Names of supporting metadata documents",
|
|
"type": "object",
|
|
"properties": {
|
|
"description": {
|
|
"type": "string",
|
|
"$ref": "#/definitions/document_name"
|
|
},
|
|
"changelog": {
|
|
"type": "string",
|
|
"$ref": "#/definitions/document_name"
|
|
},
|
|
"license": {
|
|
"type": "string",
|
|
"$ref": "#/definitions/document_name"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"keywords": {
|
|
"description": "A list of additional keywords to be used to assist searching for the distribution in a larger catalog.",
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"license": {
|
|
"description": "A string indicating the license covering the distribution.",
|
|
"type": "string"
|
|
},
|
|
"classifiers": {
|
|
"description": "A list of strings, with each giving a single classification value for the distribution.",
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"contacts": {
|
|
"description": "A list of contributor entries giving the recommended contact points for getting more information about the project.",
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"$ref": "#/definitions/contact"
|
|
}
|
|
},
|
|
"contributors": {
|
|
"description": "A list of contributor entries for other contributors not already listed as current project points of contact.",
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"$ref": "#/definitions/contact"
|
|
}
|
|
},
|
|
"project_urls": {
|
|
"description": "A mapping of arbitrary text labels to additional URLs relevant to the project.",
|
|
"type": "object"
|
|
},
|
|
"extras": {
|
|
"description": "A list of optional sets of dependencies that may be used to define conditional dependencies in \"may_require\" and similar fields.",
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"$ref": "#/definitions/extra_name"
|
|
}
|
|
},
|
|
"distributes": {
|
|
"description": "A list of subdistributions made available through this metadistribution.",
|
|
"type": "array",
|
|
"$ref": "#/definitions/dependencies"
|
|
},
|
|
"may_distribute": {
|
|
"description": "A list of subdistributions that may be made available through this metadistribution, based on the extras requested and the target deployment environment.",
|
|
"$ref": "#/definitions/conditional_dependencies"
|
|
},
|
|
"run_requires": {
|
|
"description": "A list of other distributions needed when to run this distribution.",
|
|
"type": "array",
|
|
"$ref": "#/definitions/dependencies"
|
|
},
|
|
"run_may_require": {
|
|
"description": "A list of other distributions that may be needed when this distribution is deployed, based on the extras requested and the target deployment environment.",
|
|
"$ref": "#/definitions/conditional_dependencies"
|
|
},
|
|
"test_requires": {
|
|
"description": "A list of other distributions needed when this distribution is tested.",
|
|
"type": "array",
|
|
"$ref": "#/definitions/dependencies"
|
|
},
|
|
"test_may_require": {
|
|
"description": "A list of other distributions that may be needed when this distribution is tested, based on the extras requested and the target deployment environment.",
|
|
"type": "array",
|
|
"$ref": "#/definitions/conditional_dependencies"
|
|
},
|
|
"build_requires": {
|
|
"description": "A list of other distributions needed when this distribution is built.",
|
|
"type": "array",
|
|
"$ref": "#/definitions/dependencies"
|
|
},
|
|
"build_may_require": {
|
|
"description": "A list of other distributions that may be needed when this distribution is built, based on the extras requested and the target deployment environment.",
|
|
"type": "array",
|
|
"$ref": "#/definitions/conditional_dependencies"
|
|
},
|
|
"dev_requires": {
|
|
"description": "A list of other distributions needed when this distribution is developed.",
|
|
"type": "array",
|
|
"$ref": "#/definitions/dependencies"
|
|
},
|
|
"dev_may_require": {
|
|
"description": "A list of other distributions that may be needed when this distribution is developed, based on the extras requested and the target deployment environment.",
|
|
"type": "array",
|
|
"$ref": "#/definitions/conditional_dependencies"
|
|
},
|
|
"provides": {
|
|
"description": "A list of strings naming additional dependency requirements that are satisfied by installing this distribution. These strings must be of the form Name or Name (Version), as for the requires field.",
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"obsoleted_by": {
|
|
"description": "A string that indicates that this project is no longer being developed. The named project provides a substitute or replacement.",
|
|
"type": "string",
|
|
"$ref": "#/definitions/version_specifier"
|
|
},
|
|
"supports_environments": {
|
|
"description": "A list of strings specifying the environments that the distribution explicitly supports.",
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"$ref": "#/definitions/environment_marker"
|
|
}
|
|
},
|
|
"metabuild_hooks": {
|
|
"description": "The metabuild_hooks field is used to define various operations that may be invoked on a distribution in a platform independent manner.",
|
|
"type": "object"
|
|
},
|
|
"extensions": {
|
|
"description": "Extensions to the metadata may be present in a mapping under the 'extensions' key.",
|
|
"type": "object"
|
|
}
|
|
},
|
|
|
|
"required": ["metadata_version", "name", "version"],
|
|
"additionalProperties": false,
|
|
|
|
"definitions": {
|
|
"contact": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"email": {
|
|
"type": "string"
|
|
},
|
|
"url": {
|
|
"type": "string"
|
|
},
|
|
"role": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["name"],
|
|
"additionalProperties": false
|
|
},
|
|
"dependencies": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"$ref": "#/definitions/version_specifier"
|
|
}
|
|
},
|
|
"conditional_dependencies": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"extra": {
|
|
"type": "string",
|
|
"$ref": "#/definitions/extra_name"
|
|
},
|
|
"environment": {
|
|
"type": "string",
|
|
"$ref": "#/definitions/environment_marker"
|
|
},
|
|
"dependencies": {
|
|
"type": "array",
|
|
"$ref": "#/definitions/dependencies"
|
|
}
|
|
},
|
|
"required": ["dependencies"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"version_specifier": {
|
|
"type": "string"
|
|
},
|
|
"extra_name": {
|
|
"type": "string"
|
|
},
|
|
"environment_marker": {
|
|
"type": "string"
|
|
},
|
|
"document_name": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|